| Updated: October 28, 2024 |
An item is a collection of tags that together describe a hardware component.
struct hwi_item {
struct hwi_prefix prefix;
uint16_t itemsize;
uint16_t itemname;
uint16_t owner;
uint16_t kids;
};
The Group item is implemented by the hwi_group structure and is used to group items together. It serves the same purpose as a directory in a filesystem (e.g., for the devclass level of the /hw tree).
#define HWI_TAG_NAME_group "Group"
#define HWI_TAG_ALIGN_group (sizeof(uint32_t))
struct hwi_group {
struct hwi_item item;
};
The Bus item is implemented by the hwi_bus structure and tells the system about a hardware bus.
#define HWI_TAG_NAME_bus "Bus"
#define HWI_TAG_ALIGN_bus (sizeof(uint32))
struct hwi_bus {
struct hwi_item item;
};
#define HWI_ITEM_BUS_PCI "pci" #define HWI_ITEM_BUS_ISA "isa" #define HWI_ITEM_BUS_EISA "eisa" #define HWI_ITEM_BUS_MCA "mca" #define HWI_ITEM_BUS_PCMCIA "pcmcia" #define HWI_ITEM_BUS_CAN "can" #define HWI_ITEM_BUS_SDIO "sdio" #define HWI_ITEM_BUS_I394 "I394" #define HWI_ITEM_BUS_MOST "most" #define HWI_ITEM_BUS_UNKNOWN "unknown"
The Device item is implemented by the hwi_device structure and tells the system about an individual device (which is stored at the device level of the /hw tree).
#define HWI_TAG_NAME_device "Device"
#define HWI_TAG_ALIGN_device (sizeof(uint32))
struct hwi_device {
struct hwi_item item;
uint32_t pnpid;
};
#define HWI_ITEM_DEVCLASS_QVM "qvm"