libhd  5.0
Modules | Data Structures | Macros | Typedefs | Enumerations | Functions
Public interface

Modules

 Debug flags
 hd_data_t debug flags
 
 ID macros
 Macros to handle device and vendor ids.
 
 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 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 HARDWARE_DIR   "/var/lib/hardware"
 libhd's directory More...
 

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 struct s_udevinfo_t hd_udevinfo_t
 udev database info More...
 
typedef struct s_sysfsdrv_t hd_sysfsdrv_t
 sysfs driver info 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 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 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  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 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)
 
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_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)
 

Detailed Description

Macro Definition Documentation

◆ HARDWARE_DIR

#define HARDWARE_DIR   "/var/lib/hardware"

libhd's directory

Referenced by hd_get_hddb_dir().

◆ HD_FULL_VERSION

#define HD_FULL_VERSION   (HD_VERSION * 1000 + HD_MINOR_VERSION)

◆ HD_MINOR_VERSION

#define HD_MINOR_VERSION   0 /* will be set during install */

◆ HD_VERSION

#define HD_VERSION   0 /* will be set during install */

Interface version.

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

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

◆ 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

flags to control the probing.

◆ hd_resource_types_t

resource types: see Resource structures

◆ 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

◆ 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

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

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

HAL device property types.

Enumerator
p_invalid 
p_string 
p_int32 
p_uint64 
p_double 
p_bool 
p_list 

◆ 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

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

module information type

Enumerator
mi_none 
mi_pci 
mi_other 

◆ 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

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

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 
)

◆ hd_base_class_list()

hd_t* hd_base_class_list ( hd_data_t hd_data,
unsigned  base_class 
)

◆ hd_boot_arch()

enum boot_arch hd_boot_arch ( hd_data_t hd_data)

References hd_data_t::boot, and hd_data.

◆ hd_boot_disk()

unsigned hd_boot_disk ( hd_data_t hd_data,
int *  matches 
)

◆ hd_bus_list()

hd_t* hd_bus_list ( hd_data_t hd_data,
unsigned  bus 
)

◆ 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 
)

◆ hd_change_status()

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

◆ hd_clear_probe_feature()

void hd_clear_probe_feature ( hd_data_t hd_data,
enum probe_feature  feature 
)

◆ hd_color()

int hd_color ( hd_data_t hd_data)

◆ hd_cpu_arch()

enum cpu_arch hd_cpu_arch ( hd_data_t hd_data)

◆ hd_display_adapter()

unsigned hd_display_adapter ( hd_data_t hd_data)

◆ 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::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_cdrom_t::data, hd_detail_ccw_t::data, hd_data_t::debug, s_hd_t::detail, ccw_s::dev_model, hd_data_t::flag_struct::dformat, 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, hd_data_t::flags, free_mem(), s_hd_t::func, cdrom_info_s::geo, 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(), s_str_list_t::next, hal_prop_s::next, s_hd_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, sc_int_bios, sc_int_cpu, sc_int_prom, sc_sdev_cdrom, 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)

◆ hd_free_hd_data()

hd_data_t* hd_free_hd_data ( hd_data_t hd_data)

◆ hd_free_hd_list()

hd_t* hd_free_hd_list ( hd_t hd)

◆ 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 
)

◆ hd_has_pcmcia()

int hd_has_pcmcia ( hd_data_t hd_data)

◆ hd_hw_item_name()

char* hd_hw_item_name ( hd_hw_item_t  item)

◆ 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 
)

◆ hd_is_sgi_altix()

int hd_is_sgi_altix ( hd_data_t hd_data)

Referenced by hd_scan_net().

◆ hd_is_uml()

int hd_is_uml ( hd_data_t hd_data)

◆ hd_is_xen()

int hd_is_xen ( hd_data_t 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 
)

◆ hd_list2()

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

◆ hd_list_with_status()

hd_t* hd_list_with_status ( hd_data_t hd_data,
hd_hw_item_t  item,
hd_status_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 
)

◆ 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 
)

◆ hd_module_is_active()

int hd_module_is_active ( hd_data_t hd_data,
char *  mod 
)

◆ hd_probe_feature()

int hd_probe_feature ( hd_data_t hd_data,
enum probe_feature  feature 
)

◆ 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)

◆ hd_read_cdrom_info()

cdrom_info_t* hd_read_cdrom_info ( hd_data_t hd_data,
hd_t hd 
)

◆ hd_read_config()

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

◆ 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)

◆ hd_scan()

void hd_scan ( hd_data_t hd_data)

the actual hardware scan

References ADD2LOG, s_str_list_t::add_str_list(), assign_hw_class(), s_hd_t::attached_to, hd_data_t::flag_struct::biosvram, s_hd_t::child_ids, hd_data_t::flag_struct::cpuemu, create_model_name(), hd_data_t::debug, dump_klog(), fix_probe_features(), s_hd_t::tag_s::fixed, hd_data_t::flags, free_mem(), s_str_list_t::free_str_list(), get_kernel_version(), get_probe_env(), get_probe_val_int(), get_probe_val_list(), get_probe_val_str(), hd_data_t::hal, hd_data_t::hd, 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, hd_data_t::flag_struct::internal, hd_data_t::klog, hd_data_t::kmods, hd_data_t::last_idx, mod_manual, mod_none, hd_data_t::module, pr_flags_t::name, new_str(), s_str_list_t::next, s_hd_t::next, hd_data_t::flag_struct::nobioscrc, hd_data_t::flag_struct::nofork, hd_data_t::flag_struct::nosysfs, hd_data_t::ok, hd_data_t::only, p_int32, p_list, p_string, s_hd_t::parent_id, hd_data_t::flag_struct::pata, 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, hd_data_t::probe, PROC_MODULES, read_file(), remove_hd_entries(), set_probe_val(), hd_data_t::shm, s_str_list_t::str, str_printf(), s_hd_t::tag, pr_flags_t::type, hd_data_t::flag_struct::udev, s_hd_t::unique_id, update_irq_usage(), and hd_data_t::used_irqs.

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 
)

◆ hd_set_probe_feature()

void hd_set_probe_feature ( hd_data_t hd_data,
enum probe_feature  feature 
)

◆ hd_set_probe_feature_hw()

void hd_set_probe_feature_hw ( hd_data_t hd_data,
hd_hw_item_t  item 
)

◆ hd_smp_support()

int hd_smp_support ( hd_data_t hd_data)

◆ 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 
)

◆ hd_usb_support()

int hd_usb_support ( hd_data_t hd_data)

◆ 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 
)

◆ hd_write_properties()

int hd_write_properties ( const char *  udi,
hal_prop_t prop 
)

◆ 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, hddb_search_t::cu_model, ccw_s::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(), s_str_list_t::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, hd_data_t::modinfo, hd_data_t::modinfo_ext, 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::requires, s_hd_t::requires, 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 
)

◆ hddb_dump_raw()

void hddb_dump_raw ( hddb2_data_t hddb,
FILE *  f 
)

◆ hddb_get_packages()

str_list_t* hddb_get_packages ( hd_data_t hd_data)
Todo:
implement in hddb.c