预定义属性 (PdAt) 对象类

描述

预定义属性 (PdAt) 对象类包含 预定义设备 (PdDv) 对象类中表示的每个设备的每个现有属性的条目。 在此意义上,属性是未在 PdDv 对象类中表示的任何与设备相关的信息。 这包括诸如中断级别,总线 I/O 地址范围,波特率,奇偶性设置,块大小和微码文件名之类的信息。

此对象类中的每个对象表示属于特定设备类的特定属性-子类-类型。 每个对象都包含所有可能的值,宽度,标志和 NLS 描述的属性名称,缺省值,列表或范围。 这些标志提供更多信息以描述属性。

注: 对于正在定义或配置的设备,仅将采用非缺省值的属性复制到 定制属性 (CuAt) 对象类中。 换言之,对于要定制的设备,如果其属性值是 PdDv 对象类中的缺省值,那么 CuAt 对象类中不会有该属性的条目。

属性类型

有三种类型的属性。 大多数是 常规 属性,这些属性通常描述设备的特定属性。 属性类型提供了常规属性的分组。 共享 属性类型用于标识必须全部共享给定属性的设备。

共享属性将另一个常规属性标识为必须共享的属性。 此属性始终是总线资源。 其他常规属性 (例如,总线中断级别) 可以由设备共享,但它们本身不是 共享 属性。 共享 属性要求相关设备具有与此属性相同的值。 共享属性的 "属性值" 描述符提供了必须共享的常规属性的名称。

组属性指定一组其他属性,这些属性的值被选择为组,以及用于选择缺省值的组属性号。 组中列出的每个属性都具有它可以采用的可能值的关联列表。 这些值必须表示为列表,而不能表示为范围。 对于组内的每个属性,可能值的列表还必须具有相同数目的选项。 例如,如果可能的值数为 n,那么组属性数本身的范围可以是 0 到 n-1。 为组选择的特定值指示要对组中的每个属性选取的值。 例如,如果组属性号为 0 ,那么该组中每个属性的值都是其各自列表中的第一个值。

预定义属性对象类描述符

预定义的属性对象类包含以下描述符:

ODM 类型 描述符名称 描述 描述符状态
ODM_CHAR uniquetype [UNIQUESIZE] 唯一类型 必需
ODM_CHAR 属性 [ATTRNAMESIZE] 属性名 必需
ODM_VCHAR deflt [DEFAULTSIZE] 缺省值 必需
ODM_VCHAR 值 [ATTRVALSIZE] 属性值 必需
ODM_CHAR 宽度 [WIDTHSIZE] 宽度 可选
ODM_CHAR 类型 [FLAGSIZE] 属性类型标志 必需
ODM_CHAR 通用 [FLAGSIZE] 通用属性标志 可选
ODM_CHAR 代表 [FLAGSIZE] 属性表示标志 必需
ODM_SHORT nls_index NLS 索引 可选

以下描述了这些描述符:

描述信息 描述
唯一类型 标识与此属性关联的设备的 class-subclass-type 名称。 此描述符与 PdDv 对象类中的唯一类型描述符相同。
属性名 指定设备属性的名称。 这是可以传递给 "属性/名称" 和 "属性/值" 对中的 姆杰夫奇德夫 配置命令和设备方法的名称。
缺省值 如果有多个选项,或者即使只有一个选项用于属性值,那么缺省值是该属性通常设置为的值。 对于组而言,缺省值为组属性号。 例如,如果组中可能的选项数为 n,那么组属性数为 0 到 n-1 之间的数字。 对于共享属性,会将缺省值设置为空字符串。

在系统中定义设备时,会在 CuAt 对象类中找到采用非缺省值的属性。 在此对象类中找到采用缺省值的属性; 不会将这些属性复制到 CuAt 对象类。 因此,必须查询这两个属性对象类,才能获取特定设备的完整定制属性集。

属性值 标识可以与属性名称关联的可能的值。 该值的格式由属性表示标志确定。 对于常规属性,可以将可能的值表示为字符串,十六进制,八进制或十进制。 此外,还可以将其表示为范围或枚举列表。 如果只有一个可能的值,那么可以将该值表示为单个值,也可以表示为具有一个条目的枚举列表。 建议使用后者,因为使用枚举列表将允许 属性 子例程检查给定值是否实际上是可能的选项。

如果值为十六进制,那么将以 0x 表示法作为前缀。 如果值为八进制,那么该值将以前导零作为前缀。 如果值为小数,那么其值由其有效数字表示。 如果值为字符串,那么字符串本身不应具有嵌入的逗号,因为逗号用于分隔枚举列表中的项。

范围表示为三元组的值: 下限上限增量值下限 变量表示第一个可能的选项的值。 上限 变量指示最后一个可能选项的值。 下限上限 值之间由-(连字符) 分隔。 下限上限 值之间的值是通过将 增量值 变量的倍数添加到 下限 变量获得的。 上限增量值 变量之间用逗号分隔。

对于范围,仅使用数字值。 此外,不允许使用不连续范围 (例如, 1-3 , 6-8)。 不允许使用列表和范围的组合。

枚举列表中包含以逗号分隔的值。

如果属性是组,那么 "可能的值" 描述符包含组成该组的属性的列表 (以逗号分隔)。

如果该属性是共享的,那么 "可能的值" 描述符包含必须与另一个设备共享的总线资源常规属性的名称。

对于类型 T 属性, "可能的值" 描述符包含以逗号分隔的列表中的消息号。

宽度 如果该属性是总线内存地址的类型为 M 或总线 I/O 地址的类型为 O 的常规属性,那么可以使用 Width 描述符来标识必须分配的总线内存或总线 I/O 空间的字节数。 或者,Width可以将字段设置为空字符串,这指示总线内存或总线 I/O 空间量由宽度属性 (即类型为 W 的属性) 指定。

如果该属性是类型为 W 的常规属性,那么 "宽度" 描述符包含此属性所对应总线内存地址或总线 I/O 地址属性的名称。 使用类型 W 属性允许总线内存或总线 I/O 空间量是可配置的,而如果在总线内存地址或总线 I/O 地址属性的宽度描述符中指定了该数量,那么它将固定在该值,并且无法定制。

对于所有其他属性,将使用空字符串来填充该字段。

属性类型 标识属性类型。 必须仅指定一种属性类型。 字符 A , B , M , I , N , O , P 和 W 表示属于常规属性的总线资源。

对于非总线资源的常规属性,定义了以下属性类型:

 
L
指示微码文件基本名称以及包含微码文件的软盘上标签中的文本。 只有具有可下载微码的设备才具有此类型的属性。 Chkmcode 程序使用 L 属性类型来确定存在的设备是否安装了它的微码的任何版本。 如果未安装任何内容,那么系统会提示用户插入具有此属性所标识的标签的微码软盘。 基本名称存储在以下位置:Default Value并且是微码文件名的部分,该部分不是由级别和版本号组成。 标签文本存储在以下位置:Possible Values:NONE.
 
指示与设备的可能文本描述相对应的消息号。 这些消息号在目录中,并在设备的 PdDv 对象中标识。

单个 PdDv 对象可以表示多种设备类型。 通常,设备的 PdDv 对象中的消息号也标识其文本描述。 但是,在某些情况下,单个 PdDv 对象表示不同的设备类型。 当检测到它们的父设备无法区分类型时,就会发生这种情况。 例如,单个 PdDv 对象用于 120MB 和 160MB 直接连接的磁盘驱动器。 对于这些设备,可以通过将设备的 PdDv 对象中的消息号设置为 0 并具有 T 属性类型 (指示可能的消息号集) 来分配唯一的设备描述。 设备的配置方法确定实际设备类型,并创建相应的 CuAt 对象以指示正确文本描述的消息号。

 
R
指示任何其他常规属性,这些属性不是总线资源。
 
Z
如果属性名称为led,大于此值表示设备的指示灯编号。 通常,在设备的 PdDv 对象中指定设备的指示灯编号。 但是,如果可以使用 PdDv 对象来重新呈现多种设备类型,那么可以通过具有属性名称为 Z 的类型属性将唯一的 LED 编号分配给每种设备类型led. 在这种情况下, PdDv 对象中的指示灯编号设置为 0。 设备的配置方法可以通过从设备获取值来确定设备的实际指示灯编号,并创建指示指示灯编号的相应 CuAt 对象。 在类型 Z PdAt 对象中指定的缺省值,其属性名为led是要使用的 LED 号,直到设备的配置方法确定了设备的 LED 号为止。
 

以下是常规特性的总线资源类型:

 
a
指示 DMA 仲裁级别。
 
B
指示与 DMA 传输无关联的总线内存地址。
 
M
指示要用于 DMA 传输的总线存储器地址。
 
i
指示可与其他设备共享的总线中断级别。
 
n
指示无法与另一个设备共享的总线中断级别。
 
O
指示总线 I/O 地址。
 
指示优先级类。
 
W
指示总线内存或总线 I/O 空间量 (以字节计)。
 

对于非常规属性,定义了以下属性类型:

G
指示组。
指示共享属性。
通用属性标志 标识可应用于任何常规属性的标志。 这些标志的任何组合 (一个,两个或一个) 都是有效的。 对于组和共享属性,此描述符应该为空字符串。 对于类型 T 属性,此描述符始终设置为空字符串。

以下是定义的通用属性标志:

指示可显示属性. Lsattr 命令仅显示带有此标志的属性。
u
指示可以由用户设置其值的属性。
属性表示标志 指示常规属性值的表示法。 对于没有关联属性表示的组属性和共享属性,此描述符将设置为空字符串。 必须指定 NS 标志,这两个标志均指示值表示法。

R M 标志分别指示一个范围,枚举列表和多选值列表,并且是可选的。 如果既未指定 R 标志也未指定 标志,那么 属性 子例程将不会验证该值是否在范围或列表内。

以下是已定义的属性表示标志:

n
指示该属性值为数字: 十进制,十六进制或八进制。
指示该属性值是字符串。
R
指示该属性值是以下格式的范围: lowerlimit-upperlimit ,增量值
L
指示该属性值是值的枚举列表。
m
指示可以将多个值分配给此属性。 属性的多个值表示为以逗号分隔的列表。
指示该值为布尔类型, 2 只能具有 2 个值。 典型值为yes,no,true,false,on,off,disable,enable0,1.
d
指示该属性的缺省值已由 Chdef 命令更改。

对于类型 T 属性,属性表示标志始终设置为 恩勒 (数字列表)。

NLS 索引 标识包含该属性的文本描述的消息的 NLS 消息目录中的消息号。 仅可显示的属性 (由通用属性标志描述符标识) 需要 NLS 消息。 如果该属性不可显示,那么可以将 NLS 索引设置为值 0。 与消息号关联的目录文件名和集合号存储在 PdDv 对象类中。