Clase de objeto de dispositivos predefinidos (PdDv)
Descripción
La clase de objeto Dispositivos predefinidos (PdDv) contiene entradas para todos los tipos de dispositivo actualmente en el sistema. También puede contener tipos de dispositivo adicionales si el usuario ha instalado específicamente determinados paquetes que contienen soporte de dispositivo para dispositivos que no están en el sistema. El término dispositivos se utiliza generalmente para significar tanto dispositivos intermedios (por ejemplo, adaptadores) como dispositivos de terminal (por ejemplo, discos, impresoras, terminales de visualización y teclados). Los pseudo-dispositivos (por ejemplo, pseudo terminales, volúmenes lógicos y TCP/IP) también se incluyen allí. Los pseudo-dispositivos pueden ser dispositivos intermedios o terminales.
Cada tipo de dispositivo, tal como lo determina la información de tipo de subclase de clase, se representa mediante un objeto en la clase de objeto PdDv . Estos objetos contienen información básica sobre los dispositivos, como nombres de método de dispositivo e instrucciones para acceder a la información contenida en otras clases de objetos. La clase de objeto PdDv está referenciada por la clase de objeto Dispositivos personalizados (CuDv) utilizando un enlace que se especifica en el descriptor de tipo exclusivo. Este descriptor se identifica de forma exclusiva mediante la información de tipo de subclase de clase.
Normalmente, la base de datos predefinida se consulta pero nunca se modifica durante el arranque del sistema ni durante el tiempo de ejecución, excepto cuando se añade un nuevo dispositivo a la base de datos predefinida. En este caso, la información predefinida para el nuevo dispositivo se debe añadir a la base de datos predefinida. Sin embargo, cualquier nueva información predefinida para un nuevo dispositivo base debe escribirse en el sistema de archivos de arranque para que sea efectiva. Esto se hace con el mandato bosbota .
Cree un objeto de dispositivo predefinido definiendo los objetos en un archivo en formato de stanza y luego procesando el archivo con el mandato odmadd o la subrutina odm_add_obj . Consulte el mandato odmadd o la subrutina odm_add_obj para obtener información sobre cómo crear el archivo de entrada y compilar las definiciones de objeto en objetos.
Descriptores
Cada objeto Dispositivos predefinidos corresponde a una instancia de la clase de objeto PdDv . Los descriptores para la clase de objeto Dispositivos predefinidos son los siguientes:
| Tipo de ODM | Nombre del descriptor | Descripción | Estado del descriptor |
|---|---|---|---|
| ODM_CHAR | tipo [TYPESIZE] | Tipo de dispositivo | Obligatorio |
| ODM_CHAR | clase [CLASSIZE] | Clase de dispositivo | Obligatorio |
| ODM_CHAR | subclase [CLASSIZE] | Subclase de dispositivo | Obligatorio |
| ODM_CHAR | prefijo [PREFIXSIZE] | Nombre de prefijo | Obligatorio |
| ODM_CHAR | devid [DEVIDSIZE] | ID de dispositivo | Opcional |
| ODM_SHORT | base | Distintivo de dispositivo base | Obligatorio |
| ODM_SHORT | has_vpd | Distintivo de VPD | Obligatorio |
| ODM_SHORT | detectables | Indicador detectable/no detectable | Obligatorio |
| ODM_SHORT | chgstatus | Cambiar distintivo de estado | Obligatorio |
| ODM_SHORT | bus_ext | Distintivo de bus Extender | Obligatorio |
| ODM_SHORT | inventory_only | Distintivo de sólo inventario | Obligatorio |
| ODM_SHORT | FRU | Distintivo de FRU | Obligatorio |
| ODM_SHORT | LED | Valor de LED | Obligatorio |
| ODM_SHORT | setno | Número de conjunto | Obligatorio |
| ODM_SHORT | msgno | Número de mensaje | Obligatorio |
| ODM_VCHAR | catálogo [CATSIZE] | Nombre de archivo de catálogo | Obligatorio |
| ODM_CHAR | DvDr[DDNAMESIZE] | Nombre del controlador de dispositivo | Opcional |
| DM_METHOD | Definir | método de definición | Obligatorio |
| DM_METHOD | Configurar | método de configuración | Obligatorio |
| DM_METHOD | Cambiar | Método de cambio | Obligatorio |
| DM_METHOD | Desconfigurar | Desconfigurar método | Opcional * |
| DM_METHOD | No definir | Método sin definir | Opcional * |
| DM_METHOD | inicio | Método de inicio | Opcional |
| DM_METHOD | Detener | método de detención | Opcional |
| ODM_CHAR | uniquetype [UNIQUESIZE] | Tipo exclusivo | Obligatorio |
Estos descriptores se describen como sigue:
| Descriptor | Descripción |
|---|---|
| Tipo de dispositivo | Especifica el nombre del producto o el número de modelo. Por ejemplo, IBM® 3812-2 Model 2 Page printer e IBM 4201 Proprinter II son dos tipos de dispositivos de impresión. Cada tipo de dispositivo soportado por el sistema debe tener una entrada en la clase de objeto PdDv . |
| Clase de dispositivo | Especifica el nombre de clase funcional. Una clase funcional es un grupo de instancias de dispositivo que comparten la misma función de alto nivel. Por ejemplo,printeres un nombre de clase funcional que representa todos los dispositivos que generan salida de copia impresa. |
| Subclase de dispositivo | Identifica la subclase de dispositivo asociada al tipo de dispositivo. Una clase de dispositivo se puede particionar en un conjunto de subclases de dispositivo cuyos miembros comparten la misma interfaz y normalmente son gestionados por el mismo controlador de dispositivo. Por ejemplo, las impresoras paralelas y en serie forman dos subclases dentro de la clase de dispositivos de impresora. El proceso de configuración utiliza la subclase para determinar las conexiones padre-hijo válidas. Por ejemplo, un adaptador de 8 puertos de rs232 tiene información que indica que cada uno de sus ocho puertos sólo da soporte a dispositivos cuya subclase es rs232. Además, la subclase para una clase de dispositivo puede ser una subclase para una clase de dispositivo diferente. En otras palabras, varias clases de dispositivo pueden tener la misma subclase de dispositivo. |
| Nombre de prefijo | Especifica el prefijo asignado en la base de datos personalizada, que se utiliza para derivar el nombre de instancia de dispositivo y el nombre de /dev . Por ejemplo,ttyes un nombre de prefijo asignado al tipo de dispositivo de puerto tty. Los nombres de instancias de puerto tty se verían comotty0,tty1, otty2. Las reglas para generar nombres de instancia de dispositivo se dan en Clase de objeto Dispositivos personalizados bajo el descriptor de nombre de dispositivo. |
| Distintivo de dispositivo base | Un dispositivo base es cualquier dispositivo que forma parte de un sistema base mínimo. Durante la primera fase del arranque del sistema, se configura un sistema base mínimo para permitir el acceso al grupo de volúmenes raíz y, por lo tanto, al sistema de archivos raíz. Este sistema base mínimo puede incluir, por ejemplo, el adaptador de disquete de E/S estándar y un disco duro SCSI. El distintivo Dispositivo base es una máscara de bits que representa el tipo de arranque para el que el dispositivo se considera un dispositivo base. El mandato bosbota utiliza este distintivo para determinar qué información de dispositivo predefinida debe guardar en el sistema de archivos de arranque. El mandato savebase utiliza este distintivo para determinar qué información de dispositivo personalizada se debe guardar en el sistema de archivos de arranque. En determinadas condiciones, el mandato cfgmgr también utiliza el distintivo Dispositivo base para determinar si se debe configurar un dispositivo. |
| Distintivo de VPD | Especifica si las instancias de dispositivo que pertenecen al tipo de dispositivo contienen datos de producto vitales extraíbles (VPD). Determinados dispositivos contienen VPD que se pueden recuperar del propio dispositivo. Un valor de TRUE significa que el dispositivo tiene VPD extraíble y un valor de FALSE que no. Estos valores se definen en el archivo /usr/include/sys/cfgdb.h . |
| Indicador detectable/no detectable | Especifica si la instancia de dispositivo es detectable o no detectable. Se dice que un dispositivo cuya presencia y tipo puede determinarse electrónicamente, una vez que en realidad está encendido y conectado al sistema, es detectable. Un valor de TRUE significa que el dispositivo es detectable, y un valor de FALSE que no lo es. Estos valores se definen en el archivo /usr/include/sys/cfgdb.h . |
| Cambiar distintivo de estado | Indica el valor inicial del distintivo Cambiar estado utilizado en la clase de objeto Dispositivos personalizados (CuDv). Consulte el descriptor correspondiente en la clase de objeto CuDv para obtener una descripción completa de este distintivo. Un valor de NUEVO significa que el dispositivo debe marcarse como nuevo y un valor de DONT_CARE significa que "no es importante". Estos valores se definen en el archivo /usr/include/sys/cfgdb.h . |
| Distintivo de bus Extender | Indica que el dispositivo es un extensor de bus. El Configurador de bus utiliza el descriptor de distintivo de Bus Extender para determinar si debe invocar directamente el Configurar métododel dispositivo. Un valor de TRUE significa que el dispositivo es un extensor de bus y un valor de FALSE que no lo es. Estos valores se definen en el archivo /usr/include/sys/cfgdb.h . Este distintivo se describe adicionalmente en "Métodos de dispositivo para tarjetas adaptadoras: Directrices" . |
| Distintivo de sólo inventario | Distingue los dispositivos que se representan únicamente para su algoritmo de sustitución de los que realmente gestionan el sistema. Existen varios dispositivos que se representan únicamente para fines de inventario o diagnóstico. Los bastidores, los cajones y los planares representan dichos dispositivos. Un valor de TRUE significa que el dispositivo se utiliza únicamente para fines de inventario o diagnóstico, y un valor de FALSE que no se utiliza únicamente para fines de diagnóstico o inventario. Estos valores se definen en el archivo /usr/include/sys/cfgdb.h |
| Distintivo de FRU | Identifica el tipo de unidad sustituible localmente (FRU) para el dispositivo. Los tres valores posibles para este campo son:
Estos valores se definen en el archivo /usr/include/sys/cfgdb.h . |
| Valor de LED | Indica el valor hexadecimal que se visualiza en los LED cuando se ejecuta el método Configure. |
| Nombre de archivo de catálogo | Identifica el nombre de archivo del catálogo de mensajes NLS que contiene todos los mensajes pertenecientes a este dispositivo. Esto incluye la descripción de dispositivo y sus descripciones de atributos. Todos los mensajes NLS se identifican mediante un nombre de archivo de catálogo, un número de conjunto y un número de mensaje. |
| Número de conjunto | Identifica el número de conjunto que contiene todos los mensajes para este dispositivo en el catálogo de mensajes de NLS especificado. Esto incluye la descripción de dispositivo y sus descripciones de atributos. |
| Número de mensaje | Identifica el número de mensaje en el conjunto especificado del catálogo de mensajes NLS. El mensaje correspondiente al número de mensaje contiene la descripción textual del dispositivo. |
| Nombre del controlador de dispositivo | Identifica el nombre base del controlador de dispositivo asociado con todas las instancias de dispositivo que pertenecen al tipo de dispositivo. Por ejemplo, un nombre de controlador de dispositivo para un teclado podría serktsdd. Para el controlador de dispositivo de cinta, el nombre podría sertapedd. El descriptor de nombre de controlador de dispositivo se puede pasar como un parámetro a la rutina loadext para cargar el controlador de dispositivo, si el controlador de dispositivo se encuentra en el directorio /usr/lib/drivers . Si el controlador se encuentra en un directorio distinto, la vía de acceso completa se debe añadir delante del descriptor de nombre de controlador de dispositivo antes de pasarla como un parámetro a la subrutina loadext . |
| método de definición | Nombra el Definir método asociado al tipo de dispositivo. Todos los nombres de método Definir empiezan por el prefijo def . |
| método de configuración | Nombra el Configurar método asociado al tipo de dispositivo. Todos los nombres de método de configuración empiezan por el prefijo FG . |
| Método de cambio | Nombra el Método de cambio asociado al tipo de dispositivo. Todos los nombres de método de cambio empiezan por el prefijo chg . |
| Desconfigurar método | Nombra el Desconfigurar método asociado al tipo de dispositivo. Todos los nombres de método Unconfigure empiezan por el prefijo ucfg . Nota: El estado del descriptor * Opcional indica que este campo es opcional para aquellos dispositivos (por ejemplo, el bus) que nunca están desconfigurados o sin definir. Para todos los demás dispositivos, este descriptor es necesario.
|
| Método sin definir | Nombra el Método sin definir asociado al tipo de dispositivo. Todos los nombres de método Undefine empiezan por el prefijo . Nota: El estado del descriptor * Opcional indica que este campo es opcional para aquellos dispositivos (por ejemplo, el bus) que nunca están desconfigurados o sin definir. Para todos los demás dispositivos, este descriptor es necesario.
|
| Método de inicio | Nombra el Método de inicio asociado al tipo de dispositivo. Todos los nombres de método Start empiezan por el prefijo stt . El método Start es opcional y sólo se aplica a los dispositivos que dan soporte al estado del dispositivo Detenido. |
| método de detención | Nombra el Método de parada asociado al tipo de dispositivo. Todos los nombres de método Stop empiezan por el prefijo stp . El método Stop es opcional y sólo se aplica a los dispositivos que dan soporte al estado del dispositivo Detenido. |
| Tipo exclusivo | Una clave a la que hace referencia elPdDvLn enlace enCuDv clase de objeto . La clave es una concatenación de los valores Clase de dispositivo, Subclase de dispositivo y Tipo de dispositivo con una / (barra inclinada) utilizada como separador. Por ejemplo, para una clase dedisk, una subclase descsi, y un tipo de670mb, el tipo exclusivo esdisk/scsi/670mb. Este descriptor es necesario para que el objeto de una instancia de dispositivo en la clase de objeto CuDv pueda tener un enlace a su objeto PdDv correspondiente. Otras clases de objeto de las bases de datos Predefinidas y Personalizadas también utilizan la información contenida en este descriptor. |
Archivos
| Elemento | Descripción |
|---|---|
| Directorio /usr/lib/drivers | Contiene controladores de dispositivo. |