编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

pci_plist_lookup() 接口

pci_plist_lookup(9F) 接口可由驱动程序用来查找受支持的各种数据类型的名称-值对。函数将查找与接口名称指示的名称和类型匹配的 nvpair(名称-值对)。如果找到,将修改 nelemval 以分别包含值中的元素数和数据的起始地址。

pci_plist_lookup() 接口支持以下数据类型:

  • int pci_plist_lookup_int8(pci_plist_t plist, const char *name,int8_t *val)

  • int pci_plist_lookup_uint8(pci_plist_t plist, const char *name,uint8_t *val)

  • int pci_plist_lookup_int16(pci_plist_t plist, const char *name,int16_t *val)

  • int pci_plist_lookup_uint16(pci_plist_t plist, const char *name, uint16_t *val)

  • int pci_plist_lookup_int32(pci_plist_t plist, const char *name,int32_t *val)

  • int pci_plist_lookup_uint32(pci_plist_t plist, const char *name, uint32_t *val)

  • int pci_plist_lookup_int64(pci_plist_t plist, const char *name,int64_t *val)

  • int pci_plist_lookup_uint64(pci_plist_t plist, const char *name, uint64_t *val)

  • int pci_plist_lookup_string(pci_plist_t plist, const char *name, char **val)

  • int pci_plist_lookup_plist(pci_plist_t plist, const char *name, pci_plist_t **val)

  • int pci_plist_lookup_int8_array(pci_plist_t plist, const char *name,int8_t *val, uint_t *nelem)

  • int pci_plist_lookup_uint8_array(pci_plist_t plist, const char *name, int8_t *val, uint_t *nelem)

  • int pci_plist_lookup_int16_array(pci_plist_t plist, const char *name,int16_t *val, uint_t *nelem)

  • int pci_plist_lookup_uint16_array(pci_plist_t plist, const char *name, uint16_t *val, uint_t *nelem)

  • int pci_plist_lookup_int32_array(pci_plist_t plist, const char *name,int32_t *val, uint_t *nelem)

  • int pci_plist_lookup_uint32_array(pci_plist_t plist, const char *name,uint32_t *val, uint_t *nelem)

  • int pci_plist_lookup_int64_array(pci_plist_t plist, const char *name, int64_t *val, uint_t *nelem)

  • int pci_plist_lookup_uint64_array(pci_plist_t plist,const char *name,uint64_t *val, uint_t *nelem)

  • int pci_plist_lookup_string_array(pci_plist_t plist, const char *name,char **val, uint_t *nelem)

其中:

plist

指向要处理的 pci_plist_t 结构的指针。

name

要搜索的名称-值对的名称。

nelem

存储值中的元素数的地址。

val

数据的起始地址。

pci_plist_lookup() 函数在成功时返回 0,失败时返回某个错误值。支持以下错误值:

DDI_EINVAL

变量无效

ENOENT

未找到匹配的名称-值对

ENOTSUP

编码或解码方法不受支持