libhd 5.0
hd.h File Reference
#include <stdio.h>
#include <inttypes.h>
#include <termios.h>
#include <sys/types.h>

Go to the source code of this file.

Data Structures

struct  hd_status_t
 Hardware status. More...
struct  hd_id_t
 Holds ID + name pairs. More...
struct  s_str_list_t
 String list type. More...
struct  hd_bitmap_t
 Bitmap data type. More...
struct  memory_range_t
 for memory areas More...
struct  smp_info_t
 smp info according to Intel smp spec (ia32) More...
struct  vbe_mode_info_s
 VESA BIOS mode information item. More...
struct  vbe_info_t
 VESA BIOS extensions information Also includes a VESA mode list. More...
struct  cpq_ctlorder_t
 Compaq Controller Order EV (CQHORD) definition. More...
struct  bios32_info_t
struct  smbios_any_t
 common part of all smbios_* types More...
struct  smbios_biosinfo_t
 BIOS related information. More...
struct  smbios_sysinfo_t
 overall system related information More...
struct  smbios_boardinfo_t
 motherboard related information More...
struct  smbios_chassis_t
 chassis information More...
struct  smbios_processor_t
 processor information More...
struct  smbios_cache_t
 cache information More...
struct  smbios_connect_t
 port connector information More...
struct  smbios_slot_t
 system slot information More...
struct  smbios_onboard_t
 on board devices information More...
struct  smbios_oem_t
 OEM information. More...
struct  smbios_config_t
 system config options More...
struct  smbios_lang_t
 language information More...
struct  smbios_group_t
 group associations More...
struct  smbios_memarray_t
 physical memory array (consists of several memory devices) More...
struct  smbios_memdevice_t
 memory device More...
struct  smbios_memerror_t
 32-bit memory error information More...
struct  smbios_memarraymap_t
 memory array mapped address More...
struct  smbios_memdevicemap_t
 memory device mapped address More...
struct  smbios_mouse_t
 pointing device (aka 'mouse') information More...
struct  smbios_secure_t
 hardware security More...
struct  smbios_power_t
 system power controls More...
struct  smbios_mem64error_t
 64-bit memory error information More...
union  u_hd_smbios_t
 SMBIOS list item. 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  s_pci_t
 structure holding the (raw) PCI data More...
struct  usb_s
 raw USB data More...
struct  isapnp_res_t
 ISA-PnP resource. More...
struct  isapnp_card_t
 ISA-PnP card information (raw) More...
struct  isapnp_t
 ISA-PnP collected card information struct. More...
struct  isapnp_dev_t
 ISA-PnP device information struct. More...
struct  scsi_s
 raw SCSI data More...
struct  devtree_s
 PROM tree on PPC. More...
struct  pmac_mb_def
 PowerMac model matching. More...
struct  ccw_s
 Device/CU model numbers for S/390. More...
struct  joystick_s
 Joystick details. More...
struct  cdrom_info_s
 special CDROM entry More...
struct  floppy_info_t
 Floppy information note: obsolete, will be removed. More...
struct  bios_info_t
 bios data (ix86) More...
struct  prom_info_t
 prom data (ppc, sparc) More...
struct  sys_info_t
 general system data More...
struct  monitor_info_t
 monitor (DDC) data More...
struct  cpu_info_t
 special cpu entry More...
struct  edd_info_t
 enhanced disk data (cf. 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  res_any_t
struct  res_mem_t
struct  res_phys_mem_t
struct  res_io_t
struct  res_irq_t
struct  res_dma_t
struct  res_size_t
struct  res_baud_t
struct  res_cache_t
struct  res_disk_geo_t
struct  res_monitor_t
struct  res_init_strings_t
struct  res_pppd_option_t
struct  res_framebuffer_t
struct  res_hwaddr_t
struct  res_wlan_t
 wlan capabilities More...
struct  res_fc_t
union  u_hd_res_t
 libhd resource union More...
struct  misc_io_t
struct  misc_dma_t
struct  misc_irq_t
struct  misc_t
struct  s_serial_t
 Serial device resource and hardware information. More...
struct  s_ser_device_t
 Serial device configuration information. More...
struct  isdn_parm_s
 ISDN configuration parameter Notes on isdn_parm_t: More...
struct  driver_info_any_t
 unspecific info More...
struct  driver_info_display_t
 display (monitor) info More...
struct  driver_info_module_t
 module info More...
struct  driver_info_mouse_t
 mouse protocol info More...
struct  driver_info_x11_t
 X11 server info. More...
struct  driver_info_isdn_t
 isdn info More...
struct  driver_info_dsl_t
 dsl info More...
struct  driver_info_kbd_t
 keyboard info More...
union  driver_info_u
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  s_hd_t::is_s
struct  s_hd_t::tag_s
struct  hd_data_t
 Holds all data accumulated during hardware probing. More...
struct  hd_data_t::flag_struct
 Special flags. More...
struct  cdb_isdn_vendor
 vendor info More...
struct  cdb_isdn_card
struct  cdb_isdn_vario

Macros

#define HD_VERSION   0 /* will be set during install */
 Interface version.
#define HD_MINOR_VERSION   0 /* will be set during install */
#define HD_FULL_VERSION   (HD_VERSION * 1000 + HD_MINOR_VERSION)
#define HD_DEB_SHOW_LOG   (1 << 0)
#define HD_DEB_PROGRESS   (1 << 1)
#define HD_DEB_CREATION   (1 << 2)
#define HD_DEB_DRIVER_INFO   (1 << 3)
#define HD_DEB_PCI   (1 << 4)
#define HD_DEB_ISAPNP   (1 << 5)
#define HD_DEB_CDROM   (1 << 6)
#define HD_DEB_NET   (1 << 7)
#define HD_DEB_FLOPPY   (1 << 8)
#define HD_DEB_MISC   (1 << 9)
#define HD_DEB_SERIAL   (1 << 10)
#define HD_DEB_MONITOR   (1 << 11)
#define HD_DEB_CPU   (1 << 12)
#define HD_DEB_BIOS   (1 << 13)
#define HD_DEB_MOUSE   (1 << 14)
#define HD_DEB_IDE   (1 << 15)
#define HD_DEB_SCSI   (1 << 16)
#define HD_DEB_USB   (1 << 17)
#define HD_DEB_ADB   (1 << 18)
#define HD_DEB_MODEM   (1 << 19)
#define HD_DEB_PARALLEL   (1 << 20)
#define HD_DEB_ISA   (1 << 21)
#define HD_DEB_BOOT   (1 << 22)
#define HD_DEB_HDDB   (1 << 23)
#define HARDWARE_DIR   "/var/lib/hardware"
 libhd's directory
#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.
#define CDBISDN_VERSION   0x0101
#define PCI_ANY_ID   0xffff
#define CDBISDN_P_NONE   0x0
#define CDBISDN_P_IRQ   0x1
#define CDBISDN_P_MEM   0x2
#define CDBISDN_P_IO   0x3

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 enum base_classes hd_base_classes_t
 base class values (superset of PCI classes)
typedef enum sc_monitor hd_sc_monitor_t
 subclass values of bc_monitor
typedef enum sc_storage hd_sc_storage_t
 subclass values of bc_storage
typedef enum sc_display hd_sc_display_t
 subclass values of bc_display
typedef enum sc_framebuffer hd_sc_framebuffer_t
 subclass values of bc_framebuffer
typedef enum sc_bridge hd_sc_bridge_t
 subclass values of bc_bridge
typedef enum sc_comm hd_sc_comm_t
 subclass values of bc_comm
typedef enum sc_system hd_sc_system_t
 subclass values of bc_system
typedef enum sc_input hd_sc_input_t
 subclass values of bc_input
typedef enum sc_serial hd_sc_serial_t
 subclass values of bc_serial
typedef enum sc_internal hd_sc_internal_t
 internal sub class values (bc_internal)
typedef enum sc_mouse hd_sc_mouse_t
 subclass values of bc_mouse
typedef enum sc_std hd_sc_std_t
 subclass values of bc_storage_device
typedef enum sc_net_if hd_sc_net_if_t
 subclass values of bc_network_interface
typedef enum sc_multimedia hd_sc_multimedia_t
 subclass values of bc_multimedia
typedef enum sc_keyboard hd_sc_keyboard_t
 subclass values of bc_keyboard
typedef enum sc_hub hd_sc_hub_t
 subclass values of bc_hub
typedef enum sc_camera hd_sc_camera_t
 subclass values of bc_camera
typedef enum sc_modem hd_sc_modem_t
 subclass values of bc_modem
typedef enum sc_dsl hd_sc_dsl_t
 subclass values of bc_dsl
typedef enum pif_usb_e hd_pif_usb_t
 prog_if's of sc_ser_usb
typedef enum pif_cdrom hd_pif_cdrom_t
 CD-ROM prog_if values.
typedef enum pif_s390disk hd_pif_s390disk_t
 S/390 disk prog_if values.
typedef enum bus_types hd_bus_types_t
 bus type values similar to PCI bridge subclasses
typedef struct s_str_list_t str_list_t
 String list type.
typedef struct vbe_mode_info_s vbe_mode_info_t
 VESA BIOS mode information item.
typedef union u_hd_smbios_t hd_smbios_t
 SMBIOS list item.
typedef struct s_udevinfo_t hd_udevinfo_t
 udev database info
typedef struct s_sysfsdrv_t hd_sysfsdrv_t
 sysfs driver info
typedef struct s_pci_t pci_t
 structure holding the (raw) PCI data
typedef enum pci_flags hd_pci_flags_t
 pci related flags cf.
typedef struct usb_s usb_t
 raw USB data
typedef enum isapnp_flags hd_isapnp_flags_t
 ISA-PnP related flags cf.
typedef struct scsi_s scsi_t
 raw SCSI data
typedef struct devtree_s devtree_t
 PROM tree on PPC.
typedef struct ccw_s ccw_t
 Device/CU model numbers for S/390.
typedef struct joystick_s joystick_t
 Joystick details.
typedef struct cdrom_info_s cdrom_info_t
 special CDROM entry
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 union u_hd_res_t hd_res_t
 libhd resource union
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 isdn_parm_s isdn_parm_t
 ISDN configuration parameter Notes on isdn_parm_t:
typedef enum driver_info_type hd_driver_info_t
 device driver info types
typedef union driver_info_u driver_info_t
typedef struct hd_manual_s hd_manual_t
 Manually configured hardware 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_no_remove , pr_loose_match , 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_nvme , hw_unknown ,
  hw_all
}
 list types for hd_list() More...
enum  base_classes {
  bc_none , bc_storage , bc_network , bc_display ,
  bc_multimedia , bc_memory , bc_bridge , bc_comm ,
  bc_system , bc_input , bc_docking , bc_processor ,
  bc_serial , bc_wireless , bc_i2o , bc_other = 0xff ,
  bc_monitor = 0x100 , bc_internal , bc_modem , bc_isdn ,
  bc_ps2 , bc_mouse , bc_storage_device , bc_network_interface ,
  bc_keyboard , bc_printer , bc_hub , bc_braille ,
  bc_scanner , bc_joystick , bc_chipcard , bc_camera ,
  bc_framebuffer , bc_dvb , bc_tv , bc_partition ,
  bc_dsl , bc_bluetooth , bc_fingerprint , bc_mmc_ctrl ,
  bc_touchpad
}
 base class values (superset of PCI classes) More...
enum  sc_monitor { sc_mon_other , sc_mon_crt , sc_mon_lcd }
 subclass values of bc_monitor More...
enum  sc_storage {
  sc_sto_scsi , sc_sto_ide , sc_sto_floppy , sc_sto_ipi ,
  sc_sto_raid , sc_sto_other = 0x80
}
 subclass values of bc_storage More...
enum  sc_display { sc_dis_vga , sc_dis_xga , sc_dis_other = 0x80 }
 subclass values of bc_display More...
enum  sc_framebuffer { sc_fb_vesa = 1 }
 subclass values of bc_framebuffer More...
enum  sc_bridge {
  sc_bridge_host , sc_bridge_isa , sc_bridge_eisa , sc_bridge_mc ,
  sc_bridge_pci , sc_bridge_pcmcia , sc_bridge_nubus , sc_bridge_cardbus ,
  sc_bridge_other = 0x80
}
 subclass values of bc_bridge More...
enum  sc_comm {
  sc_com_ser , sc_com_par , sc_com_multi , sc_com_modem ,
  sc_com_other = 0x80
}
 subclass values of bc_comm More...
enum  sc_system {
  sc_sys_pic , sc_sys_dma , sc_sys_timer , sc_sys_rtc ,
  sc_sys_other = 0x80
}
 subclass values of bc_system More...
enum  sc_input { sc_inp_keyb , sc_inp_digit , sc_inp_mouse , sc_inp_other = 0x80 }
 subclass values of bc_input More...
enum  sc_serial {
  sc_ser_fire , sc_ser_access , sc_ser_ssa , sc_ser_usb ,
  sc_ser_fiber , sc_ser_smbus , sc_ser_infiniband , sc_ser_other = 0x80
}
 subclass values of bc_serial More...
enum  sc_internal {
  sc_int_none , sc_int_isapnp_if , sc_int_main_mem , sc_int_cpu ,
  sc_int_fpu , sc_int_bios , sc_int_prom , sc_int_sys
}
 internal sub class values (bc_internal) More...
enum  sc_mouse {
  sc_mou_ps2 , sc_mou_ser , sc_mou_bus , sc_mou_usb ,
  sc_mou_sun , sc_mou_other = 0x80
}
 subclass values of bc_mouse More...
enum  sc_std {
  sc_sdev_disk , sc_sdev_tape , sc_sdev_cdrom , sc_sdev_floppy ,
  sc_sdev_scanner , sc_sdev_other = 0x80
}
 subclass values of bc_storage_device More...
enum  sc_net_if {
  sc_nif_loopback , sc_nif_ethernet , sc_nif_tokenring , sc_nif_fddi ,
  sc_nif_ctc , sc_nif_iucv , sc_nif_hsi , sc_nif_qeth ,
  sc_nif_escon , sc_nif_myrinet , sc_nif_wlan , sc_nif_xp ,
  sc_nif_usb , sc_nif_other = 0x80 , sc_nif_sit
}
 subclass values of bc_network_interface More...
enum  sc_multimedia { sc_multi_video , sc_multi_audio , sc_multi_other }
 subclass values of bc_multimedia More...
enum  sc_keyboard { sc_keyboard_kbd , sc_keyboard_console }
 subclass values of bc_keyboard More...
enum  sc_hub { sc_hub_other , sc_hub_usb }
 subclass values of bc_hub More...
enum  sc_camera { sc_camera_webcam , sc_camera_digital }
 subclass values of bc_camera More...
enum  sc_modem {
  sc_mod_at , sc_mod_win1 , sc_mod_win2 , sc_mod_win3 ,
  sc_mod_win4
}
 subclass values of bc_modem More...
enum  sc_dsl { sc_dsl_unknown , sc_dsl_pppoe , sc_dsl_capi , sc_dsl_capiisdn }
 subclass values of bc_dsl More...
enum  pif_usb_e {
  pif_usb_uhci = 0 , pif_usb_ohci = 0x10 , pif_usb_ehci = 0x20 , pif_usb_xhci = 0x30 ,
  pif_usb_other = 0x80 , pif_usb_device = 0xfe
}
 prog_if's of sc_ser_usb More...
enum  pif_cdrom {
  pif_cdrom , pif_cdr , pif_cdrw , pif_dvd ,
  pif_dvdr , pif_dvdram
}
 CD-ROM prog_if values. More...
enum  pif_s390disk { pif_scsi , pif_dasd , pif_dasd_fba }
 S/390 disk prog_if values. More...
enum  bus_types {
  bus_none , bus_isa , bus_eisa , bus_mc ,
  bus_pci , bus_pcmcia , bus_nubus , bus_cardbus ,
  bus_other , bus_ps2 = 0x80 , bus_serial , bus_parallel ,
  bus_floppy , bus_scsi , bus_ide , bus_usb ,
  bus_adb , bus_raid , bus_sbus , bus_i2o ,
  bus_vio , bus_ccw , bus_iucv , bus_ps3_system_bus ,
  bus_virtio , bus_ibmebus , bus_gameport , bus_uisvirtpci ,
  bus_mmc , bus_sdio , bus_nd , bus_nvme
}
 bus type values similar to PCI bridge subclasses 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  hd_smbios_type_t {
  sm_biosinfo , sm_sysinfo , sm_boardinfo , sm_chassis ,
  sm_processor , sm_memctrl , sm_memmodule , sm_cache ,
  sm_connect , sm_slot , sm_onboard , sm_oem ,
  sm_config , sm_lang , sm_group , sm_eventlog ,
  sm_memarray , sm_memdevice , sm_memerror , sm_memarraymap ,
  sm_memdevicemap , sm_mouse , sm_battery , sm_reset ,
  sm_secure , sm_power , sm_voltage , sm_cool ,
  sm_temperature , sm_current , sm_outofband , sm_bis ,
  sm_boot , sm_mem64error , sm_mandev , sm_mandevcomp ,
  sm_mdtd , sm_inactive = 126 , sm_end = 127
}
 smbios entries More...
enum  pci_flags { pci_flag_ok , pci_flag_pm , pci_flag_agp }
 pci related flags cf. More...
enum  isapnp_flags { isapnp_flag_act }
 ISA-PnP related flags cf. More...
enum  pmac_model {
  AAPL_3400 , AAPL_3500 , AAPL_7200 , AAPL_7300 ,
  AAPL_7500 , AAPL_8500 , AAPL_9500 , AAPL_Gossamer ,
  AAPL_PowerBook1998 , AAPL_PowerMac_G3 , AAPL_ShinerESB , AAPL_e407 ,
  AAPL_e411 , PowerBook1_1 , PowerBook2_1 , PowerBook2_2 ,
  PowerBook3_1 , PowerBook3_2 , PowerBook3_3 , PowerBook3_4 ,
  PowerBook3_5 , PowerBook4_1 , PowerBook4_2 , PowerBook4_3 ,
  PowerBook5_1 , PowerBook5_2 , PowerBook5_3 , PowerBook5_4 ,
  PowerBook5_5 , PowerBook5_6 , PowerBook5_7 , PowerBook5_8 ,
  PowerBook5_9 , PowerBook6_1 , PowerBook6_2 , PowerBook6_3 ,
  PowerBook6_4 , PowerBook6_5 , PowerBook6_7 , PowerBook6_8 ,
  PowerMac1_1 , PowerMac1_2 , PowerMac10_1 , PowerMac11_2 ,
  PowerMac12_1 , PowerMac2_1 , PowerMac2_2 , PowerMac3_1 ,
  PowerMac3_2 , PowerMac3_3 , PowerMac3_4 , PowerMac3_5 ,
  PowerMac3_6 , PowerMac4_1 , PowerMac4_2 , PowerMac4_4 ,
  PowerMac5_1 , PowerMac6_1 , PowerMac6_3 , PowerMac6_4 ,
  PowerMac7_2 , PowerMac7_3 , PowerMac8_1 , PowerMac9_1 ,
  RackMac1_1 , RackMac1_2 , RackMac3_1 , iMac_1
}
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_loongarch ,
  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 }
enum  driver_info_type {
  di_any , di_display , di_module , di_mouse ,
  di_x11 , di_isdn , di_kbd , di_dsl
}
 device driver info types More...

Functions

void hd_scan (hd_data_t *hd_data)
 the actual hardware scan
hd_data_thd_free_hd_data (hd_data_t *hd_data)
 Free all data.
hd_thd_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_thd_base_class_list (hd_data_t *hd_data, unsigned base_class)
hd_thd_sub_class_list (hd_data_t *hd_data, unsigned base_class, unsigned sub_class)
hd_thd_bus_list (hd_data_t *hd_data, unsigned bus)
const char * hd_busid_to_hwcfg (int busid)
hd_thd_list (hd_data_t *hd_data, hd_hw_item_t item, int rescan, hd_t *hd_old)
hd_thd_list_with_status (hd_data_t *hd_data, hd_hw_item_t item, hd_status_t status)
hd_thd_list2 (hd_data_t *hd_data, hd_hw_item_t *items, int rescan)
hd_thd_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_thd_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_thd_free_hal_properties (hal_prop_t *prop)
hal_prop_thd_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_thd_read_file (char *file_name, unsigned start_line, unsigned lines)
str_list_thd_read_dir (char *dir_name, int type)
unsigned hd_name2eisa_id (char *)
str_list_thd_search_str_list (str_list_t *sl, char *str)
str_list_thd_add_str_list (str_list_t **sl, char *str)
str_list_thd_free_str_list (str_list_t *list)
str_list_thd_reverse_str_list (str_list_t *list)
str_list_thd_split (char del, const char *str)
char * hd_join (char *del, str_list_t *str)
hd_thd_add_hd_entry (hd_data_t *hd_data, unsigned line, unsigned count)
char * hd_read_sysfs_link (char *base_dir, char *link_name)
str_list_thddb_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_thd_read_cdrom_info (hd_data_t *hd_data, hd_t *hd)
cdb_isdn_vendorhd_cdbisdn_get_vendor (int)
cdb_isdn_cardhd_cdbisdn_get_card (int)
cdb_isdn_variohd_cdbisdn_get_vario_from_type (int, int)
cdb_isdn_cardhd_cdbisdn_get_card_from_type (int, int)
cdb_isdn_cardhd_cdbisdn_get_card_from_id (int, int, int, int)
cdb_isdn_variohd_cdbisdn_get_vario (int)
int hd_cdbisdn_get_version (void)
int hd_cdbisdn_get_db_version (void)
char * hd_cdbisdn_get_db_date (void)
hd_manual_thd_manual_read_entry (hd_data_t *hd_data, const char *id)
 Manually configured devices implemented in manual.c.
int hd_manual_write_entry (hd_data_t *hd_data, hd_manual_t *entry)
hd_manual_thd_free_manual (hd_manual_t *manual)
hd_thd_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)
enum  hd_detail_type {
  hd_detail_pci , hd_detail_usb , hd_detail_isapnp , hd_detail_cdrom ,
  hd_detail_floppy , hd_detail_bios , hd_detail_cpu , hd_detail_prom ,
  hd_detail_monitor , hd_detail_sys , hd_detail_scsi , hd_detail_devtree ,
  hd_detail_ccw , hd_detail_joystick
}
 Hardware detail information type. More...
typedef enum hd_detail_type hd_detail_type_t
 Hardware detail information type.
typedef struct hd_detail_monitor_s hd_detail_monitor_t