libhd  5.0
Data Structures | Macros | Typedefs | Enumerations | Functions
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_link_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. More...
 
#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 More...
 
#define TAG_PCI   1
 PCI ids. More...
 
#define TAG_EISA   2
 EISA ids (monitors, ISA-PnP, modems, mice etc). More...
 
#define TAG_USB   3
 USB ids. More...
 
#define TAG_SPECIAL   4
 Internally used ids. More...
 
#define TAG_PCMCIA   5
 PCMCIA ids. More...
 
#define TAG_SDIO   6
 SDIO ids. More...
 
#define ID_VALUE(id)   ((id) & 0xffff)
 Get the real id value. More...
 
#define ID_TAG(id)   (((id) >> 16) & 0xf)
 Get the tag value. More...
 
#define MAKE_ID(tag, id_val)   ((tag << 16) | (id_val))
 Combine tag and id value. More...
 
#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. More...
 
typedef enum hw_item hd_hw_item_t
 list types for hd_list() More...
 
typedef enum base_classes hd_base_classes_t
 base class values (superset of PCI classes) More...
 
typedef enum sc_monitor hd_sc_monitor_t
 subclass values of bc_monitor More...
 
typedef enum sc_storage hd_sc_storage_t
 subclass values of bc_storage More...
 
typedef enum sc_display hd_sc_display_t
 subclass values of bc_display More...
 
typedef enum sc_framebuffer hd_sc_framebuffer_t
 subclass values of bc_framebuffer More...
 
typedef enum sc_bridge hd_sc_bridge_t
 subclass values of bc_bridge More...
 
typedef enum sc_comm hd_sc_comm_t
 subclass values of bc_comm More...
 
typedef enum sc_system hd_sc_system_t
 subclass values of bc_system More...
 
typedef enum sc_input hd_sc_input_t
 subclass values of bc_input More...
 
typedef enum sc_serial hd_sc_serial_t
 subclass values of bc_serial More...
 
typedef enum sc_internal hd_sc_internal_t
 internal sub class values (bc_internal) More...
 
typedef enum sc_mouse hd_sc_mouse_t
 subclass values of bc_mouse More...
 
typedef enum sc_std hd_sc_std_t
 subclass values of bc_storage_device More...
 
typedef enum sc_net_if hd_sc_net_if_t
 subclass values of bc_network_interface More...
 
typedef enum sc_multimedia hd_sc_multimedia_t
 subclass values of bc_multimedia More...
 
typedef enum sc_keyboard hd_sc_keyboard_t
 subclass values of bc_keyboard More...
 
typedef enum sc_hub hd_sc_hub_t
 subclass values of bc_hub More...
 
typedef enum sc_camera hd_sc_camera_t
 subclass values of bc_camera More...
 
typedef enum sc_modem hd_sc_modem_t
 subclass values of bc_modem More...
 
typedef enum sc_dsl hd_sc_dsl_t
 subclass values of bc_dsl More...
 
typedef enum pif_usb_e hd_pif_usb_t
 prog_if's of sc_ser_usb More...
 
typedef enum pif_cdrom hd_pif_cdrom_t
 CD-ROM prog_if values. More...
 
typedef enum pif_s390disk hd_pif_s390disk_t
 S/390 disk prog_if values. More...
 
typedef enum bus_types hd_bus_types_t
 bus type values similar to PCI bridge subclasses More...
 
typedef struct s_str_list_t str_list_t
 String list type. More...
 
typedef struct vbe_mode_info_s vbe_mode_info_t
 VESA BIOS mode information item. More...
 
typedef union u_hd_smbios_t hd_smbios_t
 SMBIOS list item. More...
 
typedef struct s_udevinfo_t hd_udevinfo_t
 udev database info More...
 
typedef struct s_sysfsdrv_t hd_sysfsdrv_t
 sysfs driver info More...
 
typedef struct s_pci_t pci_t
 structure holding the (raw) PCI data More...
 
typedef enum pci_flags hd_pci_flags_t
 pci related flags cf. More...
 
typedef struct usb_s usb_t
 raw USB data More...
 
typedef enum isapnp_flags hd_isapnp_flags_t
 ISA-PnP related flags cf. More...
 
typedef struct scsi_s scsi_t
 raw SCSI data More...
 
typedef struct devtree_s devtree_t
 PROM tree on PPC. More...
 
typedef struct ccw_s ccw_t
 Device/CU model numbers for S/390. More...
 
typedef struct joystick_s joystick_t
 Joystick details. More...
 
typedef struct cdrom_info_s cdrom_info_t
 special CDROM entry More...
 
typedef enum cpu_arch hd_cpu_arch_t
 CPU architecture. More...
 
typedef enum boot_arch hd_boot_arch_t
 
typedef uint32_t hddb_entry_mask_t
 Hardware DB item entry mask. More...
 
typedef struct hddb_list_s hddb_list_t
 Hardware DB list item. More...
 
typedef enum modinfo_type_e modinfo_type_t
 module information type More...
 
typedef struct hal_prop_s hal_prop_t
 HAL device properties. More...
 
typedef struct hal_device_s hal_device_t
 HAL device. More...
 
typedef enum resource_types hd_resource_types_t
 resource types: see Resource structures More...
 
typedef enum size_units hd_size_units_t
 size units (cf. More...
 
typedef enum access_flags hd_access_flags_t
 access types for I/O and memory resources More...
 
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 More...
 
typedef struct s_serial_t serial_t
 Serial device resource and hardware information. More...
 
typedef struct s_ser_device_t ser_device_t
 Serial device configuration information. More...
 
typedef struct isdn_parm_s isdn_parm_t
 ISDN configuration parameter Notes on isdn_parm_t: More...
 
typedef enum driver_info_type hd_driver_info_t
 device driver info types More...
 
typedef union driver_info_u driver_info_t
 
typedef struct hd_manual_s hd_manual_t
 Manually configured hardware information. More...
 
typedef struct s_hd_t hd_t
 Individual hardware item. More...
 

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  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
}
 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 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_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 More...
 
hd_data_thd_free_hd_data (hd_data_t *hd_data)
 Free all data. More...
 
hd_thd_free_hd_list (hd_t *hd)
 Free hardware items returned by e.g. hd_list(). More...
 
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_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. More...
 
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. More...
 
typedef struct hd_detail_monitor_s hd_detail_monitor_t