ID macros
Public interface

Macros to handle device and vendor ids. More...

## Topics

| Device class enums
| Device base classes and bus types.
| General data types
| General types used all over the library.
| Device information structs
| Standard device structs, compared to Hardware information.
| SMBIOS structures
| Structures holding decoded SMBIOS information.
| Hardware information
| Some hardware doesn't fit into the hd_t scheme or there is info we gathered during the scan process but that no-one really cares about.
| Resource structures
| definitions for the various resource types
| Misc resource data
| data gathered by the misc module; basically resources from /proc
| Driver information
| Driver information structures and union.
| Manual hardware configuration
| Handle manually configured hardware (in /var/lib/hardware/).
| ISDN interface
| Handle ISDN devices.

## Data Structures

struct | hd_status_t
| Hardware status. More...
struct | s_udevinfo_t
| udev database info More...
struct | s_sysfsdrv_t
| sysfs driver info More...
struct | hd_dev_num_t
| device number; type is either 0 or 'b' or 'c'. More...
struct | hddb_data_t
| Hardware DB (v1) data. More...
struct | hddb_list_s
| Hardware DB list item. More...
struct | hddb2_data_t
| Hardware DB (v2) data. More...
struct | modinfo_t
| module.alias information More...
struct | hal_prop_s
| HAL device properties. More...
struct | hal_device_s
| HAL device. More...
struct | s_serial_t
| Serial device resource and hardware information. More...
struct | s_ser_device_t
| Serial device configuration information. More...
struct | hd_detail_pci_t
struct | hd_detail_usb_t
struct | hd_detail_isapnp_t
struct | hd_detail_cdrom_t
struct | hd_detail_floppy_t
struct | hd_detail_bios_t
struct | hd_detail_cpu_t
struct | hd_detail_prom_t
struct | hd_detail_monitor_s
struct | hd_detail_sys_t
struct | hd_detail_scsi_t
struct | hd_detail_devtree_t
struct | hd_detail_ccw_t
struct | hd_detail_joystick_t
union | hd_detail_t
struct | hd_manual_s
| Manually configured hardware information. More...
struct | s_hd_t
| Individual hardware item. More...
struct | hd_data_t
| Holds all data accumulated during hardware probing. More...

## Macros

#define | TAG_PCI 1
| PCI ids.
#define | TAG_EISA 2
| EISA ids (monitors, ISA-PnP, modems, mice etc).
#define | TAG_USB 3
| USB ids.
#define | TAG_SPECIAL 4
| Internally used ids.
#define | TAG_PCMCIA 5
| PCMCIA ids.
#define | TAG_SDIO 6
| SDIO ids.
#define | ID_VALUE(id)
| Get the real id value.
#define | ID_TAG(id)
| Get the tag value.
#define | MAKE_ID(tag, id_val)
| Combine tag and id value.

## Typedefs

typedef enum probe_feature | hd_probe_feature_t
| flags to control the probing.
typedef enum hw_item | hd_hw_item_t
| list types for hd_list()
typedef struct s_udevinfo_t | hd_udevinfo_t
| udev database info
typedef struct s_sysfsdrv_t | hd_sysfsdrv_t
| sysfs driver info
typedef enum cpu_arch | hd_cpu_arch_t
| CPU architecture.
typedef enum boot_arch | hd_boot_arch_t
typedef uint32_t | hddb_entry_mask_t
| Hardware DB item entry mask.
typedef struct hddb_list_s | hddb_list_t
| Hardware DB list item.
typedef enum modinfo_type_e | modinfo_type_t
| module information type
typedef struct hal_prop_s | hal_prop_t
| HAL device properties.
typedef struct hal_device_s | hal_device_t
| HAL device.
typedef enum resource_types | hd_resource_types_t
| resource types: see Resource structures
typedef enum size_units | hd_size_units_t
| size units (cf.
typedef enum access_flags | hd_access_flags_t
| access types for I/O and memory resources
typedef enum yes_no_flag | hd_yes_no_flag_t
typedef enum geo_types | hd_geo_types_t
typedef struct s_serial_t | serial_t
| Serial device resource and hardware information.
typedef struct s_ser_device_t | ser_device_t
| Serial device configuration information.
typedef struct s_hd_t | hd_t
| Individual hardware item.

## Enumerations

enum

probe_feature {
pr_memory = 1 , pr_pci , pr_isapnp , pr_net ,
pr_floppy , pr_misc , pr_misc_serial , pr_misc_par ,
pr_misc_floppy , pr_serial , pr_cpu , pr_bios ,
pr_monitor , pr_mouse , pr_scsi , pr_usb ,
pr_usb_mods , pr_adb , pr_modem , pr_modem_usb ,
pr_parallel , pr_parallel_lp , pr_parallel_zip , pr_isa ,
pr_isa_isdn , pr_isdn , pr_kbd , pr_prom ,
pr_sbus , pr_int , pr_braille , pr_braille_alva ,
pr_braille_fhp , pr_braille_ht , pr_ignx11 , pr_sys ,
pr_bios_vbe , pr_isapnp_old , pr_isapnp_new , pr_isapnp_mod ,
pr_braille_baum , pr_manual , pr_fb , pr_veth ,
pr_pppoe , pr_scan , pr_pcmcia , pr_fork ,
pr_parallel_imm , pr_s390 , pr_cpuemu , pr_sysfs ,
pr_s390disks , pr_udev , pr_block , pr_block_cdrom ,
pr_block_part , pr_edd , pr_edd_mod , pr_bios_ddc ,
pr_bios_fb , pr_bios_mode , pr_input , pr_block_mods ,
pr_bios_vesa , pr_cpuemu_debug , pr_scsi_noserial , pr_wlan ,
pr_bios_crc , pr_hal , pr_bios_vram , pr_bios_acpi ,
pr_bios_ddc_ports , pr_modules_pata , pr_net_eeprom , pr_x86emu ,
pr_max , pr_lxrc , pr_default , pr_all
}

| flags to control the probing. More...

enum

hw_item {
hw_none = 0 , hw_sys , hw_cpu , hw_keyboard ,
hw_braille , hw_mouse , hw_joystick , hw_printer ,
hw_scanner , hw_chipcard , hw_monitor , hw_tv ,
hw_display , hw_framebuffer , hw_camera , hw_sound ,
hw_storage_ctrl , hw_network_ctrl , hw_isdn , hw_modem ,
hw_network , hw_disk , hw_partition , hw_cdrom ,
hw_floppy , hw_manual , hw_usb_ctrl , hw_usb ,
hw_bios , hw_pci , hw_isapnp , hw_bridge ,
hw_hub , hw_scsi , hw_ide , hw_memory ,
hw_dvb , hw_pcmcia , hw_pcmcia_ctrl , hw_ieee1394 ,
hw_ieee1394_ctrl , hw_hotplug , hw_hotplug_ctrl , hw_zip ,
hw_pppoe , hw_wlan , hw_redasd , hw_dsl ,
hw_block , hw_tape , hw_vbe , hw_bluetooth ,
hw_fingerprint , hw_mmc_ctrl , hw_unknown , hw_all
}

| list types for hd_list() More...
enum | hd_status_value_t { status_no = 1 , status_yes , status_unknown , status_new }
| hardware config status values More...
enum | hd_hotplug_t { hp_none , hp_pcmcia , hp_cardbus , hp_pci , hp_usb , hp_ieee1394 }
| Various types of hotplug devices. More...
enum | cpu_arch { arch_unknown = 0 , arch_intel , arch_alpha , arch_sparc , arch_sparc64 , arch_ppc , arch_ppc64 , arch_68k , arch_ia64 , arch_s390 , arch_s390x , arch_arm , arch_mips , arch_x86_64 , arch_aarch64 , arch_riscv }
| CPU architecture. More...
enum | boot_arch { boot_unknown = 0 , boot_lilo , boot_milo , boot_aboot , boot_silo , boot_ppc , boot_elilo , boot_s390 , boot_mips , boot_grub , boot_uboot }
enum | modinfo_type_e { mi_none = 0 , mi_pci , mi_other }
| module information type More...
enum | hal_prop_type_t { p_invalid , p_string , p_int32 , p_uint64 , p_double , p_bool , p_list }
| HAL device property types. More...
enum | resource_types { res_any , res_phys_mem , res_mem , res_io , res_irq , res_dma , res_monitor , res_size , res_disk_geo , res_cache , res_baud , res_init_strings , res_pppd_option , res_framebuffer , res_hwaddr , res_link , res_wlan , res_fc , res_phwaddr }
| resource types: see Resource structures More...
enum | size_units { size_unit_cm , size_unit_cinch , size_unit_byte , size_unit_sectors , size_unit_kbyte , size_unit_mbyte , size_unit_gbyte , size_unit_mm }
| size units (cf. More...
enum | access_flags { acc_unknown , acc_ro , acc_wo , acc_rw }
| access types for I/O and memory resources More...
enum | yes_no_flag { flag_unknown , flag_no , flag_yes }
enum | geo_types { geo_physical = 0 , geo_logical , geo_bios_edd , geo_bios_legacy }

## Functions

void | hd_scan (hd_data_t *hd_data)
| the actual hardware scan
hd_data_t * | hd_free_hd_data (hd_data_t *hd_data)
| Free all data.
hd_t * | hd_free_hd_list (hd_t *hd)
| Free hardware items returned by e.g. hd_list().
void | hd_set_probe_feature (hd_data_t *hd_data, enum probe_feature feature)
void | hd_clear_probe_feature (hd_data_t *hd_data, enum probe_feature feature)
int | hd_probe_feature (hd_data_t *hd_data, enum probe_feature feature)
void | hd_set_probe_feature_hw (hd_data_t *hd_data, hd_hw_item_t item)
enum probe_feature | hd_probe_feature_by_name (char *name)
char * | hd_probe_feature_by_value (enum probe_feature feature)
int | hd_module_is_active (hd_data_t *hd_data, char *mod)
hd_t * | hd_base_class_list (hd_data_t *hd_data, unsigned base_class)
hd_t * | hd_sub_class_list (hd_data_t *hd_data, unsigned base_class, unsigned sub_class)
hd_t * | hd_bus_list (hd_data_t *hd_data, unsigned bus)
const char * | hd_busid_to_hwcfg (int busid)
hd_t * | hd_list (hd_data_t *hd_data, hd_hw_item_t item, int rescan, hd_t *hd_old)
hd_t * | hd_list_with_status (hd_data_t *hd_data, hd_hw_item_t item, hd_status_t status)
hd_t * | hd_list2 (hd_data_t *hd_data, hd_hw_item_t *items, int rescan)
hd_t * | hd_list_with_status2 (hd_data_t *hd_data, hd_hw_item_t *items, hd_status_t status)
void | hd_add_driver_data (hd_data_t *hd_data, hd_t *hd)
int | hd_has_pcmcia (hd_data_t *hd_data)
int | hd_usb_support (hd_data_t *hd_data)
int | hd_smp_support (hd_data_t *hd_data)
int | hd_mac_color (hd_data_t *hd_data)
int | hd_color (hd_data_t *hd_data)
int | hd_is_uml (hd_data_t *hd_data)
int | hd_is_xen (hd_data_t *hd_data)
unsigned | hd_display_adapter (hd_data_t *hd_data)
unsigned | hd_boot_disk (hd_data_t *hd_data, int *matches)
enum cpu_arch | hd_cpu_arch (hd_data_t *hd_data)
enum boot_arch | hd_boot_arch (hd_data_t *hd_data)
hd_t * | hd_get_device_by_idx (hd_data_t *hd_data, unsigned idx)
void | hd_set_hw_class (hd_t *hd, hd_hw_item_t hw_class)
int | hd_is_hw_class (hd_t *hd, hd_hw_item_t hw_class)
int | hd_is_sgi_altix (hd_data_t *hd_data)
char * | hd_version (void)
hal_prop_t * | hd_free_hal_properties (hal_prop_t *prop)
hal_prop_t * | hd_read_properties (const char *udi)
int | hd_write_properties (const char *udi, hal_prop_t *prop)
int | hd_change_status (const char *id, hd_status_t status, const char *config_string)
int | hd_change_config_status (hd_data_t *hd_data, const char *id, hd_status_t status, const char *config_string)
int | hd_read_mmap (hd_data_t *hd_data, char *name, unsigned char *buf, off_t start, unsigned size)
str_list_t * | hddb_get_packages (hd_data_t *hd_data)
void | hddb_add_info (hd_data_t *hd_data, hd_t *hd)
void | hddb_dump_raw (hddb2_data_t *hddb, FILE *f)
void | hddb_dump (hddb2_data_t *hddb, FILE *f)
void | hd_dump_entry (hd_data_t *hd_data, hd_t *hd, FILE *f)
cdrom_info_t * | hd_read_cdrom_info (hd_data_t *hd_data, hd_t *hd)
typedef struct hd_detail_monitor_s | hd_detail_monitor_t
int | hd_manual_write_entry (hd_data_t *hd_data, hd_manual_t *entry)
hd_manual_t * | hd_free_manual (hd_manual_t *manual)
hd_t * | hd_read_config (hd_data_t *hd_data, const char *id)
int | hd_write_config (hd_data_t *hd_data, hd_t *hd)
char * | hd_hw_item_name (hd_hw_item_t item)
hd_hw_item_t | hd_hw_item_type (char *name)
char * | hd_status_value_name (hd_status_value_t status)

## Detailed Description

Macros to handle device and vendor ids.

Example: to check if an id is a pci id and get its value, do something like this:

if(ID_TAG(hd->dev) == TAG_PCI) {
pci_id = ID_VALUE(hd->dev)
}
ID_TAG
#define ID_TAG(id)
Get the tag value.
Definition hd.h:100
ID_VALUE
#define ID_VALUE(id)
Get the real id value.
Definition hd.h:95
TAG_PCI
#define TAG_PCI
PCI ids.
Definition hd.h:85

## Macro Definition Documentation

## ID_TAG

#define ID_TAG | ( |  | id | ) |

Value:
(((id) >> 16) & 0xf)

Get the tag value.

Referenced by dump_hid(), dump_hid2(), expand_driver_info(), get_dsl_info(), get_isdn_info(), hd_scan_xtra(), hddb_dump_raw(), hddb_dump_skey(), kbd_driver(), and vend_id2str().

## ID_VALUE

#define ID_VALUE | ( |  | id | ) |

Value:
((id) & 0xffff)

Get the real id value.

Referenced by add_entry(), dump_hid(), dump_hid2(), expand_driver_info(), get_dsl_info(), get_isdn_info(), hd_modinfo_db(), hd_scan_xtra(), hddb_dump_raw(), hddb_dump_skey(), is_pcmcia_ctrl(), kbd_driver(), parse_id(), and vend_id2str().

## MAKE_ID

#define MAKE_ID | ( |  | tag,
|  |  | id_val )

Value:
((tag << 16) | (id_val))

Combine tag and id value.

Referenced by add_edid_info(), add_input_dev(), add_kma(), add_mv643xx_eth(), add_pci(), add_scsi_sysfs_info(), add_serial_modem(), add_serial_mouse(), add_uml(), add_xen_network(), add_xen_storage(), add_xpnet(), do_alva(), do_baum(), do_fhp(), do_fhp_new(), do_ht(), do_zip(), expand_driver_info(), get_input_devices(), get_serial_devs(), get_usb_devs(), hd_module_list(), hd_pci_complete_data(), hd_read_ibmebus(), hd_read_mmc(), hd_read_of_platform(), hd_read_ps3_system_bus(), hd_read_sdio(), hd_read_uisvirtpci(), hd_read_vio(), hd_read_virtio(), hd_read_visorbus(), hd_read_vm(), hd_read_xen(), hd_scan_braille(), hd_scan_dsl(), hd_scan_fb(), hd_scan_isdn(), hd_scan_kbd(), hd_scan_serial(), hd_scan_xtra(), hddb_add_info(), int_mouse(), kbd_driver(), name2eisa_id(), parse_id(), pcmcia_read_data(), and set_class_entries().

## TAG_EISA

#define TAG_EISA 2

EISA ids (monitors, ISA-PnP, modems, mice etc).

Referenced by add_edid_info(), add_serial_modem(), add_serial_mouse(), dump_hid(), dump_hid2(), get_isdn_info(), hd_scan_fb(), hd_scan_isdn(), hddb_dump_raw(), hddb_dump_skey(), name2eisa_id(), parse_id(), and vend_id2str().

## TAG_PCI

#define TAG_PCI 1

PCI ids.

Referenced by add_mv643xx_eth(), add_pci(), add_scsi_sysfs_info(), hd_pci_complete_data(), hd_read_ibmebus(), hd_read_of_platform(), hd_read_ps3_system_bus(), hd_read_uisvirtpci(), hd_read_visorbus(), hd_scan_isdn(), hd_scan_serial(), hd_scan_xtra(), and parse_id().

## TAG_PCMCIA

#define TAG_PCMCIA 5

PCMCIA ids.

Referenced by hd_scan_xtra(), parse_id(), pcmcia_read_data(), and vend_id2str().

## TAG_SDIO

#define TAG_SDIO 6

SDIO ids.

Referenced by hd_read_sdio(), hd_scan_xtra(), and parse_id().

## TAG_SPECIAL

#define TAG_SPECIAL 4

Internally used ids.

Referenced by add_input_dev(), add_kma(), add_serial_modem(), add_serial_mouse(), add_uml(), add_xen_network(), add_xen_storage(), add_xpnet(), do_alva(), do_baum(), do_fhp(), do_fhp_new(), do_ht(), do_zip(), expand_driver_info(), get_input_devices(), get_isdn_info(), hd_module_list(), hd_read_ibmebus(), hd_read_mmc(), hd_read_ps3_system_bus(), hd_read_uisvirtpci(), hd_read_vio(), hd_read_virtio(), hd_read_visorbus(), hd_read_vm(), hd_read_xen(), hd_scan_braille(), hd_scan_dsl(), hd_scan_isdn(), hd_scan_kbd(), hd_scan_xtra(), hddb_add_info(), int_mouse(), kbd_driver(), parse_id(), set_class_entries(), and vend_id2str().

## TAG_USB

#define TAG_USB 3

USB ids.

Referenced by get_dsl_info(), get_isdn_info(), get_serial_devs(), get_usb_devs(), hd_scan_xtra(), kbd_driver(), parse_id(), set_class_entries(), and vend_id2str().

## Typedef Documentation

## hal_device_t

typedef struct hal_device_s hal_device_t

HAL device.

## hal_prop_t

typedef struct hal_prop_s hal_prop_t

HAL device properties.

## hd_access_flags_t

typedef enum access_flags hd_access_flags_t

access types for I/O and memory resources

## hd_boot_arch_t

typedef enum boot_arch hd_boot_arch_t

Todo
  drop boot_arch at all?

## hd_cpu_arch_t

typedef enum cpu_arch hd_cpu_arch_t

CPU architecture.

## hd_detail_monitor_t

typedef struct hd_detail_monitor_s hd_detail_monitor_t

## hd_geo_types_t

typedef enum geo_types hd_geo_types_t

## hd_hw_item_t

typedef enum hw_item hd_hw_item_t

list types for hd_list()

if you want to modify this: cf. manual.c::hw_items[]

Note: hw_tv must be < hw_display! Sync with check_hd and convert_hd!

## hd_probe_feature_t

typedef enum probe_feature hd_probe_feature_t

flags to control the probing.

## hd_resource_types_t

typedef enum resource_types hd_resource_types_t

resource types: see Resource structures

## hd_size_units_t

typedef enum size_units hd_size_units_t

size units (cf.

(res_size_t).unit)

## hd_sysfsdrv_t

typedef struct s_sysfsdrv_t hd_sysfsdrv_t

sysfs driver info

## hd_t

typedef struct s_hd_t hd_t

Individual hardware item.

Every hardware component gets an hd_t entry. A list of all hardware items is in hd_data_t::hd.

## hd_udevinfo_t

typedef struct s_udevinfo_t hd_udevinfo_t

udev database info

## hd_yes_no_flag_t

typedef enum yes_no_flag hd_yes_no_flag_t

## hddb_entry_mask_t

typedef uint32_t hddb_entry_mask_t

Hardware DB item entry mask.

## hddb_list_t

typedef struct hddb_list_s hddb_list_t

Hardware DB list item.

## modinfo_type_t

typedef enum modinfo_type_e modinfo_type_t

module information type

## ser_device_t

typedef struct s_ser_device_t ser_device_t

Serial device configuration information.

## serial_t

typedef struct s_serial_t serial_t

Serial device resource and hardware information.

## Enumeration Type Documentation

## access_flags

enum access_flags

access types for I/O and memory resources

Enumerator
acc_unknown | unknown
acc_ro | read only
acc_wo | write only
acc_rw | read/write

## boot_arch

enum boot_arch

Todo
  drop boot_arch at all?

Enumerator
boot_unknown |
boot_lilo |
boot_milo |
boot_aboot |
boot_silo |
boot_ppc |
boot_elilo |
boot_s390 |
boot_mips |
boot_grub |
boot_uboot |

## cpu_arch

enum cpu_arch

CPU architecture.

Enumerator
arch_unknown |
arch_intel |
arch_alpha |
arch_sparc |
arch_sparc64 |
arch_ppc |
arch_ppc64 |
arch_68k |
arch_ia64 |
arch_s390 |
arch_s390x |
arch_arm |
arch_mips |
arch_x86_64 |
arch_aarch64 |
arch_riscv |

## geo_types

enum geo_types

Enumerator
geo_physical |
geo_logical |
geo_bios_edd |
geo_bios_legacy |

## hal_prop_type_t

enum hal_prop_type_t

HAL device property types.

Enumerator
p_invalid |
p_string |
p_int32 |
p_uint64 |
p_double |
p_bool |
p_list |

## hd_hotplug_t

enum hd_hotplug_t

Various types of hotplug devices.

Enumerator
hp_none | Not a hotpluggable device.
hp_pcmcia | PCMCIA device.
hp_cardbus | Cardbus device.
hp_pci | PCI hotplug device.
hp_usb | USB device.
hp_ieee1394 | IEEE 1394 (FireWire) device.

## hd_status_value_t

enum hd_status_value_t

hardware config status values

Enumerator
status_no |
status_yes |
status_unknown |
status_new |

## hw_item

enum hw_item

list types for hd_list()

if you want to modify this: cf. manual.c::hw_items[]

Note: hw_tv must be < hw_display! Sync with check_hd and convert_hd!

Enumerator
hw_none |
hw_sys |
hw_cpu |
hw_keyboard |
hw_braille |
hw_mouse |
hw_joystick |
hw_printer |
hw_scanner |
hw_chipcard |
hw_monitor |
hw_tv |
hw_display |
hw_framebuffer |
hw_camera |
hw_sound |
hw_storage_ctrl |
hw_network_ctrl |
hw_isdn |
hw_modem |
hw_network |
hw_disk |
hw_partition |
hw_cdrom |
hw_floppy |
hw_manual |
hw_usb_ctrl |
hw_usb |
hw_bios |
hw_pci |
hw_isapnp |
hw_bridge |
hw_hub |
hw_scsi |
hw_ide |
hw_memory |
hw_dvb |
hw_pcmcia |
hw_pcmcia_ctrl |
hw_ieee1394 |
hw_ieee1394_ctrl |
hw_hotplug |
hw_hotplug_ctrl |
hw_zip |
hw_pppoe |
hw_wlan |
hw_redasd |
hw_dsl |
hw_block |
hw_tape |
hw_vbe |
hw_bluetooth |
hw_fingerprint |
hw_mmc_ctrl |
hw_unknown | append new entries here
hw_all | hw_all must be last

## modinfo_type_e

enum modinfo_type_e

module information type

Enumerator
mi_none |
mi_pci |
mi_other |

## probe_feature

enum probe_feature

flags to control the probing.

Enumerator
pr_memory |
pr_pci |
pr_isapnp |
pr_net |
pr_floppy |
pr_misc |
pr_misc_serial |
pr_misc_par |
pr_misc_floppy |
pr_serial |
pr_cpu |
pr_bios |
pr_monitor |
pr_mouse |
pr_scsi |
pr_usb |
pr_usb_mods |
pr_adb |
pr_modem |
pr_modem_usb |
pr_parallel |
pr_parallel_lp |
pr_parallel_zip |
pr_isa |
pr_isa_isdn |
pr_isdn |
pr_kbd |
pr_prom |
pr_sbus |
pr_int |
pr_braille |
pr_braille_alva |
pr_braille_fhp |
pr_braille_ht |
pr_ignx11 |
pr_sys |
pr_bios_vbe |
pr_isapnp_old |
pr_isapnp_new |
pr_isapnp_mod |
pr_braille_baum |
pr_manual |
pr_fb |
pr_veth |
pr_pppoe |
pr_scan |
pr_pcmcia |
pr_fork |
pr_parallel_imm |
pr_s390 |
pr_cpuemu |
pr_sysfs |
pr_s390disks |
pr_udev |
pr_block |
pr_block_cdrom |
pr_block_part |
pr_edd |
pr_edd_mod |
pr_bios_ddc |
pr_bios_fb |
pr_bios_mode |
pr_input |
pr_block_mods |
pr_bios_vesa |
pr_cpuemu_debug |
pr_scsi_noserial |
pr_wlan |
pr_bios_crc |
pr_hal |
pr_bios_vram |
pr_bios_acpi |
pr_bios_ddc_ports |
pr_modules_pata |
pr_net_eeprom |
pr_x86emu |
pr_max |
pr_lxrc |
pr_default |
pr_all | pr_all must be last

## resource_types

enum resource_types

resource types: see Resource structures

Enumerator
res_any |
res_phys_mem |
res_mem |
res_io |
res_irq |
res_dma |
res_monitor |
res_size |
res_disk_geo |
res_cache |
res_baud |
res_init_strings |
res_pppd_option |
res_framebuffer |
res_hwaddr |
res_link |
res_wlan |
res_fc |
res_phwaddr |

## size_units

enum size_units

size units (cf.

(res_size_t).unit)

Enumerator
size_unit_cm |
size_unit_cinch |
size_unit_byte |
size_unit_sectors |
size_unit_kbyte |
size_unit_mbyte |
size_unit_gbyte |
size_unit_mm |

## yes_no_flag

enum yes_no_flag

Enumerator
flag_unknown | unknown
flag_no | no
flag_yes | yes

## Function Documentation

## hd_add_driver_data()

void hd_add_driver_data | ( | hd_data_t * | hd_data,
|  | hd_t * | hd )

References add_str_list(), s_hd_t::drivers, hd_data, hd_sysfs_driver_list(), hd_sysfs_find_driver(), int_update_driver_data(), and s_hd_t::sysfs_id.

## hd_base_class_list()

hd_t * hd_base_class_list | ( | hd_data_t * | hd_data,
|  | unsigned | base_class )

References add_hd_entry2(), s_hd_t::base_class, bc_display, bc_multimedia, hd_copy(), hd_data, hd_list(), hd_id_t::id, new_mem(), s_hd_t::next, sc_multi_video, and s_hd_t::sub_class.

## hd_boot_arch()

enum boot_arch hd_boot_arch | ( | hd_data_t * | hd_data | ) |

References hd_data.

## hd_boot_disk()

unsigned hd_boot_disk | ( | hd_data_t * | hd_data,
|  | int * | matches )

References ADD2LOG, add_disk_entry(), s_hd_t::base_class, bc_storage_device, s_hd_t::block0, disk_s::crc, disk_s::crc_match, disk_s::data, disk_s::dev_name, dev_name_duplicate(), free_disk_list(), free_mem(), get_cmd_param(), get_disk_crc(), hd_data, HD_DEB_BOOT, disk_s::hd_idx, hd_log_hex(), hex(), hd_id_t::id, s_hd_t::idx, new_mem(), disk_s::next, s_hd_t::next, sc_sdev_disk, s_hd_t::sub_class, and s_hd_t::unix_dev_name.

## hd_bus_list()

hd_t * hd_bus_list | ( | hd_data_t * | hd_data,
|  | unsigned | bus )

References add_hd_entry2(), s_hd_t::bus, hd_copy(), hd_data, hd_list(), hd_id_t::id, new_mem(), and s_hd_t::next.

## hd_busid_to_hwcfg()

const char * hd_busid_to_hwcfg | ( | int | busid | ) |

## hd_change_config_status()

int hd_change_config_status | ( | hd_data_t * | hd_data,
|  | const char * | id,
|  | hd_status_t | status,
|  | const char * | config_string )

References hd_status_t::available, s_hd_t::config_string, hd_status_t::configured, free_mem(), hd_data, hd_free_hd_list(), hd_read_config(), hd_write_config(), hd_status_t::invalid, hd_status_t::needed, new_str(), and s_hd_t::status.

Referenced by hd_change_status().

## hd_change_status()

int hd_change_status | ( | const char * | id,
|  | hd_status_t | status,
|  | const char * | config_string )

References free_mem(), hd_change_config_status(), hd_data, hd_free_hd_data(), and new_mem().

## hd_clear_probe_feature()

void hd_clear_probe_feature | ( | hd_data_t * | hd_data,
|  | enum probe_feature | feature )

References feature, hd_clear_probe_feature(), hd_data, pr_flags_t::mask, pr_flags_t::parent, pr_flags, and pr_flags_by_id().

Referenced by hd_clear_probe_feature(), hd_list(), hd_list2(), hd_list_with_status(), and hd_list_with_status2().

## hd_color()

int hd_color | ( | hd_data_t * | hd_data | ) |

References s_hd_t::base_class, bc_internal, prom_info_t::color, hd_detail_prom_t::data, s_hd_t::detail, prom_info_t::has_color, hd_data, hd_detail_prom, hd_id_t::id, s_hd_t::next, hd_detail_t::prom, sc_int_prom, s_hd_t::sub_class, and hd_detail_t::type.

Referenced by hd_mac_color().

## hd_cpu_arch()

enum cpu_arch hd_cpu_arch | ( | hd_data_t * | hd_data | ) |

References arch_68k, arch_aarch64, arch_alpha, arch_arm, arch_ia64, arch_intel, arch_ppc, arch_riscv, arch_s390, arch_s390x, arch_sparc, arch_unknown, arch_x86_64, cpu_info_t::architecture, s_hd_t::base_class, bc_internal, hd_detail_t::cpu, hd_detail_cpu_t::data, s_hd_t::detail, hd_data, hd_detail_cpu, hd_id_t::id, s_hd_t::next, sc_int_cpu, s_hd_t::sub_class, and hd_detail_t::type.

Referenced by kbd_driver().

## hd_display_adapter()

unsigned hd_display_adapter | ( | hd_data_t * | hd_data | ) |

References driver_info_u::any, s_hd_t::base_class, bc_display, s_hd_t::bus, bus_pci, bus_sbus, di_x11, s_hd_t::driver_info, hd_data, hd_get_device_by_idx(), hddb_add_info(), hd_id_t::id, s_hd_t::idx, s_hd_t::next, sc_dis_vga, driver_info_x11_t::server, s_hd_t::sub_class, driver_info_any_t::type, and driver_info_u::x11.

## hd_dump_entry()

void hd_dump_entry | ( | hd_data_t * | hd_data,
|  | hd_t * | hd,
|  | FILE * | f )

References hd_status_t::active, s_hd_t::is_s::agp, cdrom_info_s::application, s_hd_t::attached_to, hd_status_t::available, s_hd_t::base_class, bc_internal, bc_storage_device, cdrom_info_s::bootable, s_hd_t::bus, cdrom_info_s::c, cdrom_info_s::catalog, hd_detail_t::ccw, cdrom_info_s::cdrom, hd_detail_t::cdrom, s_hd_t::child_ids, s_hd_t::config_string, hd_status_t::configured, s_hd_t::count, cdrom_info_s::creation_date, ccw_s::cu_model, hd_detail_ccw_t::data, hd_detail_cdrom_t::data, s_hd_t::detail, ccw_s::dev_model, dump_bios(), dump_cpu(), dump_line, dump_line0, dump_line_str, dump_normal(), dump_prom(), cdrom_info_s::el_torito, s_hd_t::extra_info, free_mem(), s_hd_t::func, cdrom_info_s::geo, cdrom_info_s::h, s_hd_t::hal_prop, hd_data, HD_DEB_CREATION, hd_detail_ccw, hd_detail_cdrom, hd_get_device_by_idx(), hd_hal_print_prop(), hd_hw_item_name(), hd_is_hw_class(), hd_join(), hd_status_value_name(), hw_all, s_hd_t::hw_class, hw_unknown, hd_id_t::id, cdrom_info_s::id_string, s_hd_t::idx, ind, hd_status_t::invalid, s_hd_t::is, s_hd_t::is_s::isapnp, cdrom_info_s::iso9660, cdrom_info_s::label, ccw_s::lcss, s_hd_t::line, cdrom_info_s::load_address, cdrom_info_s::load_count, s_hd_t::is_s::manual, cdrom_info_s::media_type, mod_name_by_idx(), s_hd_t::module, hd_id_t::name, hd_status_t::needed, new_str(), hal_prop_s::next, s_hd_t::next, s_str_list_t::next, s_hd_t::is_s::notready, cdrom_info_s::ok, s_hd_t::old_unique_id, s_hd_t::parent_id, s_hd_t::parent_udi, s_hd_t::persistent_prop, cdrom_info_s::platform, cdrom_info_s::preparer, s_hd_t::prog_if, cdrom_info_s::publisher, cdrom_info_s::s, sc_int_bios, sc_int_cpu, sc_int_prom, sc_sdev_cdrom, cdrom_info_s::size, s_hd_t::slot, s_hd_t::is_s::softraiddisk, cdrom_info_s::speed, cdrom_info_s::start, s_hd_t::status, s_str_list_t::str, str_printf(), s_hd_t::sub_class, s_hd_t::sysfs_bus_id, s_hd_t::sysfs_device_link, s_hd_t::sysfs_id, hd_detail_ccw_t::type, hd_detail_t::type, s_hd_t::udi, s_hd_t::unique_id, and cdrom_info_s::volume.

## hd_free_hal_properties()

hal_prop_t * hd_free_hal_properties | ( | hal_prop_t * | prop | ) |

References free_mem(), free_str_list(), hal_prop_s::key, hal_prop_s::list, hal_prop_s::next, p_list, p_string, hal_prop_s::str, hal_prop_s::type, and hal_prop_s::val.

Referenced by free_hd_entry(), hd_free_hal_devices(), and hd_free_hd_data().

## hd_free_hd_data()

hd_data_t * hd_free_hd_data | ( | hd_data_t * | hd_data | ) |

Free all data.

References add_hd_entry2(), modinfo_t::alias, free_devtree(), free_mem(), free_misc(), free_old_hd_entries(), free_str_list(), hd_data, hd_free_hal_devices(), hd_free_hal_properties(), hd_free_hd_list(), hd_free_sysfsdrv(), hd_free_udevinfo(), hd_shm_done(), modinfo_t::module, smbios_free(), and modinfo_t::type.

Referenced by hd_change_status().

## hd_free_hd_list()

hd_t * hd_free_hd_list | ( | hd_t * | hd | ) |

Free hardware items returned by e.g. hd_list().

Note
  This may not free it.

References free_hd_entry(), free_mem(), s_hd_t::tag_s::freeit, s_hd_t::next, s_hd_t::ref, and s_hd_t::tag.

Referenced by hd_change_config_status(), hd_free_hd_data(), hd_is_uml(), hd_module_list(), hd_scan_manual(), and hd_smp_support().

## hd_free_manual()

hd_manual_t * hd_free_manual | ( | hd_manual_t * | manual | ) |

## hd_get_device_by_idx()

hd_t * hd_get_device_by_idx | ( | hd_data_t * | hd_data,
|  | unsigned | idx )

References hd_data, s_hd_t::idx, and s_hd_t::next.

Referenced by add_scsi_sysfs_info(), add_serial_modem(), hd_display_adapter(), hd_dump_entry(), hd_scan(), hd_scan_net(), and pcmcia_ctrl_read_data().

## hd_has_pcmcia()

int hd_has_pcmcia | ( | hd_data_t * | hd_data | ) |

References hd_data, is_pcmcia_ctrl(), and s_hd_t::next.

## hd_hw_item_name()

char * hd_hw_item_name | ( | hd_hw_item_t | item | ) |

References hw_items, and key2value().

Referenced by create_model_name(), hd_dump_entry(), and hddb_dump_skey().

## hd_hw_item_type()

hd_hw_item_t hd_hw_item_type | ( | char * | name | ) |

References hw_items, hw_none, and value2key().

Referenced by add_entry().

## hd_is_hw_class()

int hd_is_hw_class | ( | hd_t * | hd,
|  | hd_hw_item_t | hw_class )

References hw_all, and s_hd_t::hw_class_list.

Referenced by assign_hw_class(), has_hw_class(), hd_dump_entry(), hd_list(), hd_list_with_status(), and hd_scan_wlan().

## hd_is_sgi_altix()

int hd_is_sgi_altix | ( | hd_data_t * | hd_data | ) |

References hd_data.

Referenced by hd_scan_net().

## hd_is_uml()

int hd_is_uml | ( | hd_data_t * | hd_data | ) |

References s_hd_t::base_class, bc_internal, hd_detail_t::cpu, hd_detail_cpu_t::data, s_hd_t::detail, hd_data, hd_detail_cpu, hd_free_hd_list(), hd_list(), hd_scan_cpu(), hd_set_probe_feature(), hw_cpu, hd_id_t::id, cpu_info_t::model_name, s_hd_t::next, pr_cpu, sc_int_cpu, s_hd_t::sub_class, and hd_detail_t::type.

Referenced by hd_scan_kbd().

## hd_is_xen()

int hd_is_xen | ( | hd_data_t * | hd_data | ) |

References hd_data.

Referenced by hd_read_xen().

## hd_list()

hd_t * hd_list | ( | hd_data_t * | hd_data,
|  | hd_hw_item_t | item,
|  | int | rescan,
|  | hd_t * | hd_old )

References add_hd_entry2(), hd_status_t::available, hd_status_t::available_orig, cmp_hd(), hd_clear_probe_feature(), hd_copy(), hd_data, hd_is_hw_class(), hd_list(), hd_report_this(), hd_scan(), hd_set_probe_feature(), hd_set_probe_feature_hw(), hw_manual, new_mem(), s_hd_t::next, pr_all, pr_sys, s_hd_t::status, status_unknown, and status_yes.

Referenced by hd_base_class_list(), hd_bus_list(), hd_is_uml(), hd_list(), hd_list2(), hd_list_with_status(), hd_list_with_status2(), hd_smp_support(), and hd_sub_class_list().

## hd_list2()

hd_t * hd_list2 | ( | hd_data_t * | hd_data,
|  | hd_hw_item_t * | items,
|  | int | rescan )

References add_hd_entry2(), hd_status_t::available, hd_status_t::available_orig, has_hw_class(), has_item(), hd_clear_probe_feature(), hd_copy(), hd_data, hd_list(), hd_report_this(), hd_scan(), hd_set_probe_feature(), hd_set_probe_feature_hw(), hw_manual, mod_manual, s_hd_t::module, new_mem(), s_hd_t::next, pr_all, pr_sys, s_hd_t::status, status_unknown, and status_yes.

## hd_list_with_status()

hd_t * hd_list_with_status | ( | hd_data_t * | hd_data,
|  | hd_hw_item_t | item,
|  | hd_status_t | status )

References add_hd_entry2(), hd_status_t::available, hd_status_t::configured, hd_clear_probe_feature(), hd_copy(), hd_data, hd_is_hw_class(), hd_list(), hd_scan(), hd_status_t::needed, new_mem(), s_hd_t::next, pr_all, hd_status_t::reconfig, and s_hd_t::status.

## hd_list_with_status2()

hd_t * hd_list_with_status2 | ( | hd_data_t * | hd_data,
|  | hd_hw_item_t * | items,
|  | hd_status_t | status )

References add_hd_entry2(), hd_status_t::available, hd_status_t::configured, has_hw_class(), hd_clear_probe_feature(), hd_copy(), hd_data, hd_list(), hd_scan(), hd_status_t::needed, new_mem(), s_hd_t::next, pr_all, hd_status_t::reconfig, and s_hd_t::status.

## hd_mac_color()

int hd_mac_color | ( | hd_data_t * | hd_data | ) |

References hd_color(), and hd_data.

## hd_manual_write_entry()

int hd_manual_write_entry | ( | hd_data_t * | hd_data,
|  | hd_manual_t * | entry )

References hd_data.

## hd_module_is_active()

int hd_module_is_active | ( | hd_data_t * | hd_data,
|  | char * | mod )

References free_mem(), free_str_list(), hd_data, new_str(), s_str_list_t::next, read_kmods(), and s_str_list_t::str.

Referenced by add_xpnet(), do_zip(), expand_driver_info(), hd_read_xen(), hd_scan_serial(), load_module_with_params(), probe_module(), and unload_module().

## hd_probe_feature()

int hd_probe_feature | ( | hd_data_t * | hd_data,
|  | enum probe_feature | feature )

References feature, hd_data, and pr_default.

Referenced by add_cdrom_info(), add_scsi_sysfs_info(), do_zip(), expand_driver_info(), get_block_devs(), get_serial_modem(), hd_scan(), hd_scan_braille(), hd_scan_cpu(), hd_scan_dsl(), hd_scan_fb(), hd_scan_floppy(), hd_scan_hal(), hd_scan_input(), hd_scan_int(), hd_scan_isdn(), hd_scan_kbd(), hd_scan_manual(), hd_scan_memory(), hd_scan_misc(), hd_scan_misc2(), hd_scan_modem(), hd_scan_monitor(), hd_scan_mouse(), hd_scan_net(), hd_scan_parallel(), hd_scan_pcmcia(), hd_scan_pppoe(), hd_scan_serial(), hd_scan_sys(), hd_scan_sysfs_block(), hd_scan_sysfs_pci(), hd_scan_sysfs_scsi(), hd_scan_sysfs_usb(), and hd_scan_wlan().

## hd_probe_feature_by_name()

enum probe_feature hd_probe_feature_by_name | ( | char * | name | ) |

References pr_flags_by_name().

## hd_probe_feature_by_value()

char * hd_probe_feature_by_value | ( | enum probe_feature | feature | ) |

References feature, pr_flags_t::name, and pr_flags_by_id().

## hd_read_cdrom_info()

cdrom_info_t * hd_read_cdrom_info | ( | hd_data_t * | hd_data,
|  | hd_t * | hd )

References ADD2LOG, cdrom_info_s::application, cdrom_info_s::bootable, cdrom_info_s::c, canon_str(), cdrom_info_s::catalog, cdrom_info_s::cdrom, hd_detail_t::cdrom, cdrom_info_s::creation_date, hd_detail_cdrom_t::data, s_hd_t::detail, cdrom_info_s::el_torito, free_hd_detail(), free_mem(), cdrom_info_s::geo, cdrom_info_s::h, hd_data, hd_detail_cdrom, cdrom_info_s::id_string, s_hd_t::is, cdrom_info_s::iso9660, cdrom_info_s::label, cdrom_info_s::load_address, cdrom_info_s::load_count, cdrom_info_s::media_type, cdrom_info_s::name, new_mem(), s_hd_t::is_s::notready, cdrom_info_s::ok, cdrom_info_s::platform, cdrom_info_s::preparer, cdrom_info_s::publisher, cdrom_info_s::s, cdrom_info_s::size, cdrom_info_s::start, hd_detail_t::type, s_hd_t::unix_dev_name, and cdrom_info_s::volume.

Referenced by add_cdrom_info().

## hd_read_config()

hd_t * hd_read_config | ( | hd_data_t * | hd_data,
|  | const char * | id )

References s_hd_t::tag_s::freeit, hd_data, hddb_init(), s_hd_t::idx, s_hd_t::line, s_hd_t::module, new_mem(), s_hd_t::persistent_prop, prop2hd(), read_properties(), and s_hd_t::tag.

Referenced by hd_change_config_status(), and hd_scan_manual().

## hd_read_mmap()

int hd_read_mmap | ( | hd_data_t * | hd_data,
|  | char * | name,
|  | unsigned char * | buf,
|  | off_t | start,
|  | unsigned | size )

References ADD2LOG, and hd_data.

## hd_read_properties()

hal_prop_t * hd_read_properties | ( | const char * | udi | ) |

References check_udi(), free_mem(), free_str_list(), hd_get_hddb_path(), new_mem(), s_str_list_t::next, p_invalid, parse_property(), read_file(), s_str_list_t::str, and str_printf().

Referenced by hd_scan_with_hal(), and read_properties().

## hd_scan()

void hd_scan | ( | hd_data_t * | hd_data | ) |

the actual hardware scan

References ADD2LOG, add_str_list(), assign_hw_class(), s_hd_t::attached_to, s_hd_t::child_ids, create_model_name(), dump_klog(), fix_probe_features(), s_hd_t::tag_s::fixed, free_mem(), free_str_list(), get_kernel_version(), get_probe_env(), get_probe_val_int(), get_probe_val_list(), get_probe_val_str(), hd_add_id(), hd_data, hd_get_device_by_id(), hd_get_device_by_idx(), hd_get_hddb_dir(), hd_join(), hd_probe_feature(), hd_scan_hal_basic(), hd_scan_int(), hd_scan_manual2(), hd_scan_no_hal(), hd_scan_with_hal(), hd_set_probe_feature(), hd_shm_init(), HD_VERSION_STRING, hddb_init(), s_hd_t::idx, mod_manual, mod_none, pr_flags_t::name, new_str(), s_hd_t::next, s_str_list_t::next, p_int32, p_list, p_string, s_hd_t::parent_id, pr_bios_acpi, pr_bios_crc, pr_bios_vram, pr_cpuemu, pr_default, pr_flags_by_id(), pr_fork, pr_int, pr_modules_pata, pr_sysfs, pr_udev, pr_x86emu, PROC_MODULES, read_file(), remove_hd_entries(), set_probe_val(), s_str_list_t::str, str_printf(), s_hd_t::tag, pr_flags_t::type, s_hd_t::unique_id, and update_irq_usage().

Referenced by hd_list(), hd_list2(), hd_list_with_status(), and hd_list_with_status2().

## hd_set_hw_class()

void hd_set_hw_class | ( | hd_t * | hd,
|  | hd_hw_item_t | hw_class )

References s_hd_t::hw_class_list.

Referenced by add_other_sysfs_info(), assign_hw_class(), get_input_devices(), hd_scan_monitor(), hd_scan_net(), hddb_add_info(), int_fix_usb_scsi(), and set_class_entries().

## hd_set_probe_feature()

void hd_set_probe_feature | ( | hd_data_t * | hd_data,
|  | enum probe_feature | feature )

References feature, fix_probe_features(), hd_data, hd_set_probe_feature(), pr_flags_t::mask, pr_flags_t::parent, pr_flags, and pr_flags_by_id().

Referenced by hd_is_uml(), hd_list(), hd_list2(), hd_scan(), hd_set_probe_feature(), and hd_set_probe_feature_hw().

## hd_set_probe_feature_hw()

void hd_set_probe_feature_hw | ( | hd_data_t * | hd_data,
|  | hd_hw_item_t | item )

References hd_data, hd_set_probe_feature(), hw_all, hw_bios, hw_block, hw_bluetooth, hw_braille, hw_bridge, hw_camera, hw_cdrom, hw_chipcard, hw_cpu, hw_disk, hw_display, hw_dsl, hw_dvb, hw_fingerprint, hw_floppy, hw_framebuffer, hw_hotplug, hw_hotplug_ctrl, hw_hub, hw_ide, hw_ieee1394, hw_ieee1394_ctrl, hw_isapnp, hw_isdn, hw_joystick, hw_keyboard, hw_manual, hw_memory, hw_mmc_ctrl, hw_modem, hw_monitor, hw_mouse, hw_network, hw_network_ctrl, hw_none, hw_partition, hw_pci, hw_pcmcia, hw_pcmcia_ctrl, hw_pppoe, hw_printer, hw_redasd, hw_scanner, hw_scsi, hw_sound, hw_storage_ctrl, hw_sys, hw_tape, hw_tv, hw_unknown, hw_usb, hw_usb_ctrl, hw_vbe, hw_wlan, hw_zip, is_kms_active(), pr_bios, pr_bios_ddc, pr_bios_fb, pr_bios_mode, pr_block, pr_block_cdrom, pr_block_mods, pr_block_part, pr_braille_alva, pr_braille_baum, pr_braille_fhp, pr_braille_ht, pr_cpu, pr_default, pr_edd_mod, pr_fb, pr_floppy, pr_input, pr_int, pr_isapnp, pr_isapnp_mod, pr_isdn, pr_kbd, pr_manual, pr_memory, pr_misc, pr_misc_floppy, pr_misc_par, pr_misc_serial, pr_modem, pr_modem_usb, pr_monitor, pr_mouse, pr_net, pr_parallel_lp, pr_parallel_zip, pr_pci, pr_pcmcia, pr_pppoe, pr_prom, pr_s390, pr_s390disks, pr_sbus, pr_scsi, pr_serial, pr_sys, pr_usb, and pr_wlan.

Referenced by hd_list(), and hd_list2().

## hd_smp_support()

int hd_smp_support | ( | hd_data_t * | hd_data | ) |

References hd_detail_t::cpu, hd_detail_cpu_t::data, s_hd_t::detail, detect_smp_bios(), detect_smp_prom(), hd_data, hd_detail_cpu, hd_free_hd_list(), hd_list(), hw_cpu, hw_sys, s_hd_t::next, hd_detail_t::type, and cpu_info_t::units.

## hd_status_value_name()

char * hd_status_value_name | ( | hd_status_value_t | status | ) |

References key2value(), and status_names.

Referenced by hd_dump_entry().

## hd_sub_class_list()

hd_t * hd_sub_class_list | ( | hd_data_t * | hd_data,
|  | unsigned | base_class,
|  | unsigned | sub_class )

References add_hd_entry2(), s_hd_t::base_class, hd_copy(), hd_data, hd_list(), hd_id_t::id, new_mem(), s_hd_t::next, and s_hd_t::sub_class.

## hd_usb_support()

int hd_usb_support | ( | hd_data_t * | hd_data | ) |

References u_hd_res_t::any, s_hd_t::base_class, bc_serial, hd_data, hd_id_t::id, s_hd_t::next, u_hd_res_t::next, pif_usb_ohci, s_hd_t::prog_if, s_hd_t::res, res_irq, sc_ser_usb, s_hd_t::sub_class, and res_any_t::type.

## hd_version()

char * hd_version | ( | void |  | ) |

References HD_VERSION_STRING.

## hd_write_config()

int hd_write_config | ( | hd_data_t * | hd_data,
|  | hd_t * | hd )

References hd2prop(), hd_data, hd_report_this(), hd_write_properties(), s_hd_t::persistent_prop, s_hd_t::udi, and s_hd_t::unique_id.

Referenced by hd_change_config_status().

## hd_write_properties()

int hd_write_properties | ( | const char * | udi,
|  | hal_prop_t * | prop )

References hd_hal_print_prop(), hd_open_properties(), hal_prop_s::next, p_invalid, and hal_prop_s::type.

Referenced by hd_write_config().

## hddb_add_info()

void hddb_add_info | ( | hd_data_t * | hd_data,
|  | hd_t * | hd )

References hddb_search_t::base_class, s_hd_t::base_class, bc_keyboard, bc_monitor, hddb_search_t::bus, s_hd_t::bus, hd_detail_t::ccw, s_hd_t::compat_device, s_hd_t::compat_vendor, ccw_s::cu_model, hddb_search_t::cu_model, hd_detail_ccw_t::data, s_hd_t::detail, hddb_search_t::device, s_hd_t::device, hddb_search_t::driver, s_hd_t::driver_info, dsl_driver(), expand_driver_info(), s_hd_t::tag_s::fixed, free_driver_info(), free_mem(), free_str_list(), get_dsl_info(), get_isdn_info(), hd_data, hd_modinfo_db(), hd_set_hw_class(), hd_split(), hddb_search(), hddb_to_device_driver(), he_baseclass_id, he_baseclass_name, he_bus_id, he_bus_name, he_detail_ccw_data_cu_model, he_device_id, he_device_name, he_driver, he_hwclass, he_progif_id, he_progif_name, he_requires, he_rev_id, he_rev_name, he_serial, he_subclass_id, he_subclass_name, he_subdevice_id, he_subdevice_name, he_subvendor_id, he_subvendor_name, he_vendor_id, he_vendor_name, hddb_search_t::hwclass, hd_id_t::id, s_hd_t::is, isdn_driver(), kbd_driver(), hddb_search_t::key, cdb_isdn_card::lname, MAKE_ID, s_hd_t::model, monitor_driver(), hd_id_t::name, new_str(), hddb_search_t::prog_if, s_hd_t::prog_if, s_hd_t::ref, hddb_search_t::revision, s_hd_t::revision, hddb_search_t::serial, s_hd_t::serial, hddb_search_t::sub_class, s_hd_t::sub_class, hddb_search_t::sub_device, s_hd_t::sub_device, hddb_search_t::sub_vendor, s_hd_t::sub_vendor, s_hd_t::tag, TAG_SPECIAL, hddb_search_t::value, hddb_search_t::vendor, s_hd_t::vendor, and s_hd_t::is_s::with_acpi.

Referenced by hd_display_adapter(), hd_module_list(), hd_scan_int(), int_wlan(), and prop2hd().

## hddb_dump()

void hddb_dump | ( | hddb2_data_t * | hddb,
|  | FILE * | f )

References hddb_dump_skey(), hddb_list_s::key, hddb_list_s::key_mask, hddb2_data_t::list, hddb2_data_t::list_len, pref_add, pref_new, hddb_list_s::value, and hddb_list_s::value_mask.

## hddb_dump_raw()

void hddb_dump_raw | ( | hddb2_data_t * | hddb,
|  | FILE * | f )

References DATA_FLAG, DATA_VALUE, eisa_vendor_str(), FLAG_ID, FLAG_MASK, FLAG_RANGE, FLAG_STRING, hid_tag_name(), ID_TAG, ID_VALUE, hddb2_data_t::ids, hddb2_data_t::ids_len, hddb2_data_t::ids_max, hddb_list_s::key, hddb_list_s::key_mask, hddb2_data_t::list, hddb2_data_t::list_len, hddb2_data_t::list_max, hddb2_data_t::strings, hddb2_data_t::strings_len, hddb2_data_t::strings_max, TAG_EISA, hddb_list_s::value, and hddb_list_s::value_mask.

## hddb_get_packages()

str_list_t * hddb_get_packages | ( | hd_data_t * | hd_data | ) |

Todo
  implement in hddb.c

References hd_data.