预定义设备 (PdDv) 对象类
描述
预定义的设备 (PdDv) 对象类包含系统上当前所有设备类型的条目。 如果用户专门安装了某些包,其中包含对不在系统上的设备的设备支持,那么它还可以包含其他设备类型。 术语 设备 通常用于指中间设备 (例如,适配器) 和终端设备 (例如,磁盘,打印机,显示终端和键盘)。 伪设备 (例如,伪终端,逻辑卷和 TCP/IP) 也包含在该文件中。 伪设备可以是中间设备,也可以是终端设备。
每个设备类型 (由 class-subclass-type 信息确定) 都由 PdDv 对象类中的对象表示。 这些对象包含有关设备的基本信息,例如设备方法名称以及用于访问其他对象类中包含的信息的指示信息。 PdDv 对象类由 定制设备 (CuDv) 对象类使用键入唯一类型描述符的链接来引用。 此描述符由 class-subclass-type 信息唯一标识。
通常,除非将新设备添加到预定义数据库中,否则在系统引导或运行时将查询预定义数据库,但不会对其进行修改。 在这种情况下,必须将新设备的预定义信息添加到预定义的数据库中。 但是,新基本设备的任何新预定义信息都必须写入引导文件系统才能生效。 这是使用 博斯引导 命令完成的。
通过以节格式定义文件中的对象,然后使用 奥德马德 命令或 Odm_add_obj 子例程处理该文件,可以构建预定义的设备对象。 有关创建输入文件和将对象定义编译为对象的信息,请参阅 奥德马德 命令或 Odm_add_obj 子例程。
Descriptors
每个预定义的设备对象都对应于 PdDv 对象类的一个实例。 预定义的 Devices 对象类的描述符如下所示:
| ODM 类型 | 描述符名称 | 描述 | 描述符状态 |
|---|---|---|---|
| ODM_CHAR | 类型 [TYPESIZE] | 设备类型 | 必需 |
| ODM_CHAR | 类 [CLASSIZE] | 设备类 | 必需 |
| ODM_CHAR | 子类 [CLASIZE] | 设备子类 | 必需 |
| ODM_CHAR | 前缀 [PREFIXSIZE] | 前缀名称 | 必需 |
| ODM_CHAR | devid [DEVIDSIZE] | 设备标识 | 可选 |
| ODM_SHORT | 基本 | 基本设备标志 | 必需 |
| ODM_SHORT | has_vpd | VPD 标志 | 必需 |
| ODM_SHORT | 可检测 | 可检测/不可检测标志 | 必需 |
| ODM_SHORT | Chgstatus | 变更状态标志 | 必需 |
| ODM_SHORT | 总线扩展 | 总线扩展程序标志 | 必需 |
| ODM_SHORT | 仅库存 | 仅库存标志 | 必需 |
| ODM_SHORT | fru | FRU 标志 | 必需 |
| ODM_SHORT | LED | LED 值 | 必需 |
| ODM_SHORT | 塞特诺 | 设置编号 | 必需 |
| ODM_SHORT | 消息 | 消息编号 | 必需 |
| ODM_VCHAR | 商品目录 [CATSIZE] | 目录文件名 | 必需 |
| ODM_CHAR | DvDr[DDNAMESIZE] | 设备驱动程序名称 | 可选 |
| ODM_METHOD | 定义 | define 方法 (define method) | 必需 |
| ODM_METHOD | 配置 | 配置方法 (configure method) | 必需 |
| ODM_METHOD | 更改 | 更改方法 | 必需 |
| ODM_METHOD | 取消配置 | 取消配置方法 | 可选 * |
| ODM_METHOD | 取消定义 | 取消定义方法 | 可选 * |
| ODM_METHOD | 启动 | 启动方法 | 可选 |
| ODM_METHOD | STOP | Stop Method | 可选 |
| ODM_CHAR | uniquetype [UNIQUESIZE] | 唯一类型 | 必需 |
以下描述了这些描述符:
| 描述信息 | 描述 |
|---|---|
| 设备类型 | 指定产品名称或模型号。 例如,IBM3812-2 Model 2 Page 打印机和IBM4201 Proprinter II 是两种打印机设备类型。 系统支持的每种设备类型都应该在 PdDv 对象类中具有一个条目。 |
| 设备类 | 指定功能类名。 功能类是一组共享同一个高级别功能的设备实例。 例如,printer是表示生成硬拷贝输出的所有设备的功能类名。 |
| 设备子类 | 标识与设备类型关联的设备子类。 可以将设备类分区为一组设备子类,这些设备子类的成员共享同一接口,并且通常由同一设备驱动程序管理。 例如,并行打印机和串行打印机在打印机设备类中形成两个子类。 配置过程使用子类来确定有效的父代/子代连接。 例如, rs232 8 端口适配器具有指示其 8 个端口中的每个端口仅支持子类为 rs232的设备的信息。 另外,一个设备类的子类也可以是另一个设备类的子类。 换言之,几个设备类可以具有相同的设备子类。 |
| 前缀名称 | 指定定制数据库中的 "已分配前缀" ,该前缀用于派生设备实例名称和 /dev 名称。 例如,tty是分配给 tty 端口设备类型的前缀名称。 然后, tty 端口实例的名称将类似于tty0,tty1,或tty2. 用于生成设备实例名称的规则在 定制设备对象类 中的 "设备名称" 描述符下提供。 |
| 基本设备标志 | 基本设备是指构成最小基本系统的一部分的任何设备。 在系统引导的第一阶段期间,配置了最小基本系统以允许访问根卷组,从而访问根文件系统。 例如,此最小基本系统可包含标准 I/O 软盘适配器和 SCSI 硬盘驱动器。 基本设备标志是表示引导类型的位掩码,对于该引导类型,设备被视为基本设备。 博斯引导 命令使用此标志来确定要保存在引导文件系统中的预定义设备信息。 保存库 命令使用此标志来确定要保存在引导文件系统中的定制设备信息。 在某些情况下, cfgmgr 命令还会使用 "基本设备" 标志来确定是否配置设备。 |
| VPD 标志 | 指定属于设备类型的设备实例是否包含可抽取的重要产品数据 (VPD)。 某些设备包含可以从设备本身检索到的 VPD。 值为 TRUE 表示设备具有可抽取的 VPD ,值为 FALSE 表示设备没有可抽取的 VPD。 这些值在 /usr/include/sys/cfgdb.h 文件中定义。 |
| 可检测/不可检测标志 | 指定设备实例是可检测还是不可检测。 如果设备的存在和类型可以通过电子方式确定,那么一旦实际打开电源并连接到系统,就会被认为是可检测到的。 值为 TRUE 表示设备可检测到,值为 FALSE 表示设备不可检测到。 这些值在 /usr/include/sys/cfgdb.h 文件中定义。 |
| 变更状态标志 | 指示 定制设备 (CuDv) 对象类中使用的 "变更状态" 标志的初始值。 请参阅 CuDv 对象类中的相应描述符,以获取此标志的完整描述。 值 NEW 表示将设备标记为新值,而值 DONT_CARE 表示 "它不重要"。 这些值在 /usr/include/sys/cfgdb.h 文件中定义。 |
| 总线扩展程序标志 | 指示该设备是总线扩展器。 总线配置程序使用 "总线扩展程序" 标志描述符来确定它是否应该直接调用设备的 配置方法。 如果值为 TRUE ,那么表示设备是总线扩展器,如果值为 FALSE ,那么表示设备不是总线扩展器。 这些值在 /usr/include/sys/cfgdb.h 文件中定义。 "适配卡的设备方法: 准则" 中进一步描述了此标志。 |
| 仅库存标志 | 将仅为其替换算法表示的设备与实际管理系统的设备区分开来。 有几个设备仅出于库存或诊断目的而表示。 机架,抽屉和平板表示这类设备。 值为 TRUE 表示设备仅用于库存或诊断目的,值为 FALSE 时表示设备并非仅用于诊断或库存目的。 这些值在 /usr/include/sys/cfgdb.h 文件中定义 |
| FRU 标志 | 标识设备的现场可更换部件 (FRU) 的类型。 此字段的三个可能值为:
这些值在 /usr/include/sys/cfgdb.h 文件中定义。 |
| LED 值 | 指示执行 Configure 方法时在指示灯上显示的十六进制值。 |
| 目录文件名 | 标识 NLS 消息目录的文件名,该目录包含与此设备相关的所有消息。 这包括设备描述和它的属性描述。 所有 NLS 消息都由目录文件名,集合号和消息号进行标识。 |
| 设置编号 | 在指定的 NLS 消息目录中标识包含此设备的所有消息的集合号。 这包括设备描述和它的属性描述。 |
| 消息编号 | 标识 NLS 消息目录的指定集内的消息号。 与该消息号对应的消息包含设备的文本描述。 |
| 设备驱动程序名称 | 标识与属于该设备类型的所有设备实例相关联的设备驱动程序的基本名称。 例如,键盘的设备驱动程序名称可能为ktsdd。对于磁带设备驱动程序,该名称可能是tapedd。如果设备驱动程序位于 /usr/lib/drivers 目录中,那么可以将 "设备驱动程序名称" 描述符作为参数传递到 loadext 例程以装入设备驱动程序。 如果驱动程序位于另一个目录中,那么在将其作为参数传递到 洛德克特 子例程之前,必须在 "设备驱动程序名称" 描述符前面追加完整路径。 |
| define 方法 (define method) | 指定与设备类型关联的 定义方法 。 所有定义方法名称都以 定义 前缀开头。 |
| 配置方法 (configure method) | 指定与设备类型关联的 配置方法 。 所有配置方法名称都以 配置 前缀开头。 |
| 更改方法 | 指定与设备类型关联的 更改方法 。 所有更改方法名称都以 奇格 前缀开头。 |
| 取消配置方法 | 指定与设备类型关联的 取消配置方法 。 所有取消配置方法名称都以 乌奇 前缀开头。 注: 可选 * 描述符状态指示对于从未未配置或未定义的设备 (例如,总线) ,此字段是可选的。 对于所有其他设备,此描述符是必需的。
|
| 取消定义方法 | 指定与设备类型关联的 取消定义方法 。 所有 Undefine 方法名称都以 和 前缀开头。 注: 可选 * 描述符状态指示对于从未未配置或未定义的设备 (例如,总线) ,此字段是可选的。 对于所有其他设备,此描述符是必需的。
|
| 启动方法 | 指定与设备类型关联的 启动方法 。 所有 Start 方法名称都以 斯特 前缀开头。 "启动" 方法是可选的,仅适用于支持 "已停止" 设备状态的设备。 |
| Stop Method | 指定与设备类型关联的 Stop 方法 。 所有 Stop 方法名称都以 斯特普 前缀开头。 "停止" 方法是可选的,仅适用于支持 "已停止" 设备状态的设备。 |
| 唯一类型 | PdDvLn 对象类中 CuDv 链接引用的键。 键是 "设备类" , "设备子类" 和 "设备类型" 值的并置,并使用 / (斜杠) 作为分隔符。 例如,对于以下类:disk,的子类scsi,并且类型为670mb,唯一类型为disk/scsi/670mb. 需要此描述符,以便 CuDv 对象类中的设备实例的对象可以具有指向其相应 PdDv 对象的链接。 预定义数据库和定制数据库中的其他对象类也使用此描述符中包含的信息。 |
文件
| 项 | 描述 |
|---|---|
| /usr/lib/drivers 目录 | 包含设备驱动程序。 |