Classe d'objets de périphériques prédéfinis (PdDv)
Descriptif
La classe d'objets Unités prédéfinies (PdDv) contient des entrées pour tous les types d'unité actuellement sur le système. Il peut également contenir des types d'unités supplémentaires si l'utilisateur a installé spécifiquement certains packages qui contiennent la prise en charge des unités qui ne sont pas sur le système. Le terme Unités est généralement utilisé pour désigner les unités intermédiaires (par exemple, les adaptateurs) et les terminaux (par exemple, les disques, les imprimantes, les terminaux d'affichage et les claviers). Les pseudo-unités (par exemple, les pseudo terminaux, les volumes logiques et TCP/IP) y sont également inclus. Les pseudo-unités peuvent être des périphériques intermédiaires ou terminaux.
Chaque type d'unité, tel que déterminé par les informations de type de sous-classe de classe, est représenté par un objet dans la classe d'objets PdDv . Ces objets contiennent des informations de base sur les unités, telles que les noms de méthode d'unité et les instructions d'accès aux informations contenues dans d'autres classes d'objets. La classe d'objets PdDv est référencée par la classe d'objets Customized Devices (CuDv) à l'aide d'un lien qui entre dans le descripteur de type unique. Ce descripteur est identifié de manière unique par les informations de type classe-sous-classe.
Généralement, la base de données prédéfinie est consultée mais n'a jamais été modifiée lors de l'amorçage ou de l'exécution du système, sauf lorsqu'une nouvelle unité est ajoutée à la base de données prédéfinie. Dans ce cas, les informations prédéfinies pour la nouvelle unité doivent être ajoutées dans la base de données prédéfinie. Toutefois, toute nouvelle information prédéfinie pour une nouvelle unité de base doit être écrite dans le système de fichiers d'amorçage pour être efficace. Cette commande est effectuée à l'aide de la commande Botte bosboot .
Vous générez un objet Périphérique prédéfini en définissant les objets dans un fichier au format de strophe, puis en traitant le fichier à l'aide de la commande Odmadd ou de la sous-routine Odm_add_obj . Pour plus d'informations sur la création du fichier d'entrée et la compilation des définitions d'objet dans des objets, reportez-vous à la commande Odmadd ou à la sous-routine Odm_add_obj .
Descripteurs
Chaque objet Périphériques prédéfinis correspond à une instance de la classe d'objets PdDv . Les descripteurs de la classe d'objets Unités prédéfinies sont les suivants:
| Type ODM | Nom du descripteur | Descriptif | Statut du descripteur |
|---|---|---|---|
| CHÉM | Type [ TYPESIZE ] | Type d'unité | Obligatoire |
| CHÉM | Classe [ CLASSIZE ] | Classe d'unité | Obligatoire |
| CHÉM | Sous-classe [ CLASSIZE ] | Sous-classe d'unité | Obligatoire |
| CHÉM | Préfixe [ PREFIXSIZE ] | Nom du préfixe | Obligatoire |
| CHÉM | Devid [ DEVIDSIZE ] | ID unité | Facultatif |
| ODM_SHORT | base | Indicateur d'unité de base | Obligatoire |
| ODM_SHORT | Vpd has_vpd | Indicateur VPD | Obligatoire |
| ODM_SHORT | Détectable | Indicateur détectable / non détectable | Obligatoire |
| ODM_SHORT | Statut chgstatus | Indicateur de changement de statut | Obligatoire |
| ODM_SHORT | Ext ext | Indicateur de l'extension de bus | Obligatoire |
| ODM_SHORT | Inventory_only | Indicateur d'inventaire uniquement | Obligatoire |
| ODM_SHORT | fru | Indicateur FRU | Obligatoire |
| ODM_SHORT | Voyant | Valeur du voyant | Obligatoire |
| ODM_SHORT | Setno | Définir le nombre | Obligatoire |
| ODM_SHORT | Msgno | Numéro de message | Obligatoire |
| ODM_VCHAR | Catalogue [ CATSIZE ] | Nom de fichier de catalogue | Obligatoire |
| CHÉM | DvDr[DDNAMESIZE] | Nom du pilote de périphérique | Facultatif |
| MÉTHODE ODM_METHOD | Définir | Définir une méthode | Obligatoire |
| MÉTHODE ODM_METHOD | Configurer | Configurer la méthode | Obligatoire |
| MÉTHODE ODM_METHOD | Modification | Modifier la méthode | Obligatoire |
| MÉTHODE ODM_METHOD | Annuler la configuration | Annuler la configuration de la méthode | Facultatif * |
| MÉTHODE ODM_METHOD | Annuler définition | Annuler la définition de la méthode | Facultatif * |
| MÉTHODE ODM_METHOD | Début | Méthode de démarrage | Facultatif |
| MÉTHODE ODM_METHOD | Arrêter | Méthode d'arrêt | Facultatif |
| CHÉM | Uniquetype [ UNIQUESIZE ] | Type unique | Obligatoire |
Ces descripteurs sont décrits comme suit:
| Descripteur | Descriptif |
|---|---|
| Type d'unité | Indique le nom du produit ou le numéro de modèle. Par exemple, l'imprimante IBM 3812-2 Model 2 Page et l'imprimante IBM 4201 Proprinter II sont deux types de périphériques d'impression. Chaque type d'unité pris en charge par le système doit avoir une entrée dans la classe d'objets PdDv . |
| Classe d'unité | Indique le nom de la classe fonctionnelle. Une classe fonctionnelle est un groupe d'instances de périphérique partageant la même fonction de haut niveau. Par exemple :printerEst un nom de classe fonctionnelle représentant toutes les unités générant une sortie de copie papier. |
| Sous-classe d'unité | Identifie la sous-classe d'unité associée au type d'unité. Une classe d'unités peut être partitionnée en un ensemble de sous-classes d'unités dont les membres partagent la même interface et sont généralement gérés par le même pilote de périphérique. Par exemple, les imprimantes parallèle et série forment deux sous-classes de la classe des imprimantes. Le processus de configuration utilise la sous-classe pour déterminer les connexions parent-enfant valides. Par exemple, un adaptateur rs232 8-port contient des informations indiquant que chacun de ses huit ports ne prend en charge que les unités dont la sous-classe est rs232. De plus, la sous-classe d'une classe d'unités peut être une sous-classe pour une classe d'unités différente. En d'autres termes, plusieurs classes d'unités peuvent avoir la même sous-classe d'unités. |
| Nom du préfixe | Indique le préfixe affecté dans la base de données personnalisée, qui est utilisé pour dériver le nom de l'instance d'unité et le nom /dev . Par exemple :ttyEst un nom de préfixe affecté au type d'unité de port tty. Les noms des instances de port tty ressembleraient alors àtty0,tty1outty2. Les règles relatives à la génération des noms d'instance d'unité sont données dans le fichier Classe d'objets Périphériques personnalisés sous le descripteur de nom d'unité. |
| Indicateur d'unité de base | Un dispositif de base est un dispositif qui fait partie d'un système de base minimal. Au cours de la première phase de l'amorçage du système, un système de base minimal est configuré pour permettre l'accès au groupe de volumes root et donc au système de fichiers racine. Ce système de base minimal peut inclure, par exemple, l'adaptateur de disquette d'E-S standard et un disque dur SCSI. L'indicateur d'unité de base est un masque de bits représentant le type d'amorçage pour lequel l'unité est considérée comme unité de base. La commande Botte bosboot utilise cet indicateur pour déterminer les informations d'unité prédéfinies à sauvegarder dans le système de fichiers d'amorçage. La commande Base de savebase utilise cet indicateur pour déterminer les informations d'unité personnalisées à sauvegarder dans le système de fichiers d'amorçage. Sous certaines conditions, la commande Cfgmgr utilise également l'indicateur d'unité de base pour déterminer si une unité doit être configurée. |
| Indicateur VPD | Indique si les instances d'unité appartenant au type d'unité contiennent des données techniques essentielles extractibles (VPD). Certains périphériques contiennent des données techniques essentielles (VPD) qui peuvent être extraites de l'unité elle-même. La valeur TRUE signifie que l'unité possède des données techniques essentielles extractibles et une valeur FALSE qu'elle ne contient pas. Ces valeurs sont définies dans le fichier /usr/include/sys/cfgdb.h . |
| Indicateur détectable / non sélectionnable | Indique si l'instance d'unité est détectable ou non. Un dispositif dont la présence et le type peuvent être déterminés électroniquement, une fois qu'il est mis sous tension et attaché au système, est dit être détectable. La valeur TRUE signifie que l'unité est détectable et que la valeur FALSE n'est pas définie. Ces valeurs sont définies dans le fichier /usr/include/sys/cfgdb.h . |
| Indicateur de changement de statut | Indique la valeur initiale de l'indicateur de changement de statut utilisé dans la classe d'objets Unités personnalisées (CuDv). Reportez-vous au descripteur correspondant dans la classe d'objets CuDv pour une description complète de cet indicateur. Une valeur NEW signifie que l'unité doit être marquée comme nouvelle, et une valeur de DONT_CARE signifie "ce n'est pas important". Ces valeurs sont définies dans le fichier /usr/include/sys/cfgdb.h . |
| Indicateur de l'extension de bus | Indique que l'unité est une extension de bus. Le configurateur de bus utilise le descripteur d'indicateur Bus Extender pour déterminer s'il doit appeler directement l'unité Configurer la méthodede l'unité. La valeur TRUE signifie que l'unité est une extension de bus et qu'elle n'est pas la valeur FALSE. Ces valeurs sont définies dans le fichier /usr/include/sys/cfgdb.h . Cette option est décrite plus en plus dans "Device Methods for Adapter Cards: Guidelines" . |
| Indicateur d'inventaire uniquement | Distincles les unités qui sont représentées uniquement pour leur algorithme de remplacement de ceux qui gèrent réellement le système. Il existe plusieurs unités qui sont uniquement représentées à des fins d'inventaire ou de diagnostic. Les racks, les tiroirs et les raboles représentent de tels appareils. La valeur TRUE signifie que l'unité est utilisée uniquement à des fins d'inventaire ou de diagnostic et qu'une valeur FALSE n'est pas utilisée uniquement à des fins de diagnostic ou d'inventaire. Ces valeurs sont définies dans le fichier /usr/include/sys/cfgdb.h |
| Indicateur FRU | Identifie le type d'unité remplaçable sur site (FRU) de l'unité. Les trois valeurs possibles pour cette zone sont les suivantes:
Ces valeurs sont définies dans le fichier /usr/include/sys/cfgdb.h . |
| Valeur du voyant | Indique la valeur hexadécimale affichée sur les voyants lorsque la méthode Configure s'exécute. |
| Nom de fichier de catalogue | Identifie le nom de fichier du catalogue de messages NLS qui contient tous les messages relatifs à ce périphérique. Cela inclut la description de l'unité et ses descriptions d'attributs. Tous les messages NLS sont identifiés par un nom de fichier de catalogue, un nombre défini et un numéro de message. |
| Définir le nombre | Identifie le numéro de jeu qui contient tous les messages de cette unité dans le catalogue de messages NLS spécifié. Cela inclut la description de l'unité et ses descriptions d'attributs. |
| Numéro de message | Identifie le numéro de message dans l'ensemble spécifié du catalogue de messages NLS. Le message correspondant au numéro de message contient la description textuelle de l'unité. |
| Nom du pilote de périphérique | Identifie le nom de base du pilote de périphérique associé à toutes les instances d'unité appartenant au type d'unité. Par exemple, un nom de pilote de périphérique pour un clavier peut êtrektsdd. Pour le pilote de périphérique de bande, le nom peut êtretapedd. Le descripteur de nom de pilote de périphérique peut être transmis en tant que paramètre à la routine loadext pour charger le pilote de périphérique, si ce dernier se trouve dans le répertoire /usr/lib/drivers . Si le pilote se trouve dans un autre répertoire, le chemin d'accès complet doit être ajouté devant le descripteur de nom de pilote de périphérique avant de le transmettre en tant que paramètre à la sous-routine Poste de chargement . |
| Définir une méthode | Nomme le Définir une méthode associé au type d'unité. Tous les noms de méthode de définition commencent par le préfixe Def . |
| Configurer la méthode | Nomme le Configurer la méthode associé au type d'unité. Tous les noms de méthode Configure commencent par le préfixe Cfg . |
| Modifier la méthode | Nomme le Modifier la méthode associé au type d'unité. Tous les noms de méthode de modification commencent par le préfixe Chg . |
| Annuler la configuration de la méthode | Nomme le Annuler la configuration de la méthode associé au type d'unité. Tous les noms de méthode Unconfigure commencent par le préfixe Ucfg . Remarque: Le statut du descripteur facultatif * indique que cette zone est facultative pour les unités (par exemple, le bus) qui ne sont jamais déconfigurées ou non définies. Pour tous les autres périphériques, ce descripteur est requis.
|
| Annuler la définition de la méthode | Nomme le Annuler la définition de la méthode associé au type d'unité. Tous les noms de méthode Undefine commencent par le préfixe Und . Remarque: Le statut du descripteur facultatif * indique que cette zone est facultative pour les unités (par exemple, le bus) qui ne sont jamais déconfigurées ou non définies. Pour tous les autres périphériques, ce descripteur est requis.
|
| Méthode de démarrage | Nomme le Méthode de démarrage associé au type d'unité. Tous les noms de méthode de démarrage commencent par le préfixe Stt . La méthode Start est facultative et ne s'applique qu'aux unités qui prennent en charge l'état de l'unité arrêtée. |
| Méthode d'arrêt | Nomme le Méthode d'arrêt associé au type d'unité. Tous les noms de méthode Stop commencent par le préfixe P . La méthode Stop est facultative et ne s'applique qu'aux unités qui prennent en charge l'état de l'unité arrêtée. |
| Type unique | Une clé référencée par lePdDvLn lien dansCuDv classe d'objet . La clé est une concaténation des valeurs de classe d'unités, de sous-classe d'unité et de type d'unité avec une barre oblique / (barre oblique) utilisée comme séparateur. Par exemple, pour une classe dedisk, une sous-classe descsi, et un type de670mb, le type unique estdisk/scsi/670mb. Ce descripteur est nécessaire pour que l'objet d'une instance de périphérique dans la classe d'objets CuDv puisse avoir un lien vers son objet PdDv correspondant. Les autres classes d'objets dans les bases de données prédéfinies et personnalisées utilisent également les informations contenues dans ce descripteur. |
Fichiers
| Article | Descriptif |
|---|---|
| Répertoire /usr/lib/drivers | Contient les pilotes de périphérique. |