libhd
5.0
|
Holds all data accumulated during hardware probing. More...
#include <hd.h>
Data Structures | |
struct | flag_struct |
Special flags. More... | |
Data Fields | |
hd_t * | hd |
Current hardware list. More... | |
void(* | progress )(char *pos, char *msg) |
A progress indicator. More... | |
char * | log |
Log messages. More... | |
unsigned | debug |
Debug flags. More... | |
struct hd_data_t::flag_struct | flags |
str_list_t * | only |
Concentrate on these devices. More... | |
unsigned char | probe [(pr_all+7)/8] |
(Internal) bitmask of probing features. More... | |
unsigned char | probe_set [(pr_all+7)/8] |
(Iternal) bitmask of probing features that will always be set. More... | |
unsigned char | probe_clr [(pr_all+7)/8] |
(Internal) bitmask of probing features that will always be reset. More... | |
hal_prop_t * | probe_val |
(Internal) probing features with arbitrary values More... | |
unsigned | last_idx |
(Internal) index of the last hd entry generated More... | |
unsigned | module |
(Internal) the current probing module we are in More... | |
enum boot_arch | boot |
(Internal) boot method More... | |
hd_t * | old_hd |
(Internal) old (outdated) entries (if you scan more than once) More... | |
pci_t * | pci |
(Internal) raw PCI data More... | |
isapnp_t * | isapnp |
(Internal) raw ISA-PnP data More... | |
cdrom_info_t * | cdrom |
(Internal) CDROM devs from PROC_CDROM_INFO More... | |
str_list_t * | net |
(Internal) list of network interfaces More... | |
str_list_t * | floppy |
(Internal) contents of PROC_NVRAM, used by the floppy module More... | |
misc_t * | misc |
(Internal) data gathered in the misc module More... | |
serial_t * | serial |
(Internal) /proc's serial info More... | |
scsi_t * | scsi |
(Internal) raw SCSI data More... | |
ser_device_t * | ser_mouse |
(Internal) info about serial mice More... | |
ser_device_t * | ser_modem |
(Internal) info about serial modems More... | |
str_list_t * | cpu |
(Internal) /proc/cpuinfo More... | |
str_list_t * | klog |
(Internal) kernel log More... | |
str_list_t * | proc_usb |
(Internal) /proc/bus/usb info More... | |
usb_t * | usb |
(Internal) usb info More... | |
modinfo_t * | modinfo_ext |
(Internal) external module info More... | |
modinfo_t * | modinfo |
(Internal) module info More... | |
hddb2_data_t * | hddb2 [2] |
(Internal) hardware database More... | |
str_list_t * | kmods |
(Internal) list of active kernel modules More... | |
uint64_t | used_irqs |
(Internal) irq usage More... | |
uint64_t | assigned_irqs |
(Internal) irqs automatically assigned by libhd (for driver info) More... | |
memory_range_t | bios_rom |
(Internal) BIOS 0xc0000 - 0xfffff More... | |
memory_range_t | bios_ram |
(Internal) BIOS 0x00400 - 0x004ff More... | |
memory_range_t | bios_ebda |
(Internal) EBDA More... | |
unsigned | display |
(Internal) hd_idx of the active (vga) display More... | |
unsigned | color_code |
(Internal) color, if any More... | |
char * | cmd_line |
(Internal) kernel command line More... | |
str_list_t * | xtra_hd |
(Internal) fake hd entries (for testing) More... | |
devtree_t * | devtree |
(Internal) prom device tree on ppc More... | |
unsigned | kernel_version |
(Internal) kernel version More... | |
hd_t * | manual |
(Internal) hardware config info More... | |
str_list_t * | disks |
(Internal) disks according to /proc/partitions More... | |
str_list_t * | partitions |
(Internal) dto, partitions More... | |
str_list_t * | cdroms |
(Internal) cdroms according to PROC_CDROM_INFO More... | |
hd_smbios_t * | smbios |
(Internal) smbios data More... | |
struct { | |
unsigned ok:1 | |
unsigned size | |
unsigned used | |
void * data | |
int id | |
int updated | |
} | shm |
(Internal) our shm segment More... | |
unsigned | pci_config_type |
(Internal) PCI config type (1 or 2), 0: unknown More... | |
hd_udevinfo_t * | udevinfo |
(Internal) udev info More... | |
hd_sysfsdrv_t * | sysfsdrv |
(Internal) sysfs driver info More... | |
uint64_t | sysfsdrv_id |
(Internal) sysfs driver info id More... | |
str_list_t * | scanner_db |
(Internal) list of scanner modules More... | |
edd_info_t | edd [0x80] |
(Internal) enhanced disk drive data More... | |
hal_device_t * | hal |
(Internal) HAL data (if any) More... | |
str_list_t * | lsscsi |
(Internal) lsscsi result (if any) More... | |
struct vm_s * | vm |
(Internal) x86emu vm More... | |
size_t | log_size |
(Internal) current log size (including final 0) More... | |
size_t | log_max |
(Internal) log buffer size More... | |
str_list_t * | klog_raw |
(Internal) unmodified kernel log More... | |
Holds all data accumulated during hardware probing.
uint64_t hd_data_t::assigned_irqs |
(Internal) irqs automatically assigned by libhd (for driver info)
Referenced by isdn_driver().
memory_range_t hd_data_t::bios_ebda |
(Internal) EBDA
Referenced by hd_free_hd_data().
memory_range_t hd_data_t::bios_ram |
(Internal) BIOS 0x00400 - 0x004ff
Referenced by hd_free_hd_data(), and hd_smp_support().
memory_range_t hd_data_t::bios_rom |
(Internal) BIOS 0xc0000 - 0xfffff
Referenced by hd_free_hd_data(), and isdn_driver().
enum boot_arch hd_data_t::boot |
(Internal) boot method
Referenced by hd_boot_arch(), and read_cpuinfo().
cdrom_info_t* hd_data_t::cdrom |
(Internal) CDROM devs from PROC_CDROM_INFO
Referenced by add_cdrom_info(), hd_scan_sysfs_block(), and read_cdroms().
str_list_t* hd_data_t::cdroms |
(Internal) cdroms according to PROC_CDROM_INFO
Referenced by get_block_devs(), hd_free_hd_data(), hd_scan_sysfs_block(), read_cdroms(), and read_partitions().
char* hd_data_t::cmd_line |
(Internal) kernel command line
Referenced by get_cmdline(), and hd_free_hd_data().
unsigned hd_data_t::color_code |
(Internal) color, if any
Referenced by hd_color(), and read_cpuinfo().
str_list_t* hd_data_t::cpu |
(Internal) /proc/cpuinfo
Referenced by dump_cpu_data(), hd_free_hd_data(), hd_scan_cpu(), hd_scan_sys(), and read_cpuinfo().
void* hd_data_t::data |
Referenced by copy_log2shm(), hd_boot_disk(), hd_fork(), hd_is_shm_ptr(), hd_move_to_shm(), hd_scan_modem(), hd_scan_mouse(), hd_shm_add(), hd_shm_clean(), hd_shm_done(), hd_shm_init(), and progress().
unsigned hd_data_t::debug |
Debug flags.
Although there exist some debug flag defines this scheme is currently not followed consistently. It is guaranteed however that -1 will give the most log messages and 0 the least.
Referenced by add_edid_info(), at_cmd(), do_lp(), do_zip(), dump_normal(), get_cmdline(), get_kernel_version(), get_serial_info(), get_serial_modem(), hd_boot_disk(), hd_dump_entry(), hd_scan(), hd_scan_floppy(), hd_scan_misc(), hd_scan_misc2(), hd_scan_modem(), hd_scan_mouse(), hd_scan_serial(), hd_scan_sysfs_pci(), progress(), read_cdroms(), read_cpuinfo(), and read_partitions().
devtree_t* hd_data_t::devtree |
(Internal) prom device tree on ppc
Referenced by free_devtree(), hd_free_hd_data(), hd_scan_monitor(), and hd_smp_support().
str_list_t* hd_data_t::disks |
(Internal) disks according to /proc/partitions
Referenced by get_block_devs(), hd_free_hd_data(), hd_scan_sysfs_block(), and read_partitions().
unsigned hd_data_t::display |
(Internal) hd_idx of the active (vga) display
Referenced by hd_display_adapter(), and hd_scan_misc2().
edd_info_t hd_data_t::edd[0x80] |
(Internal) enhanced disk drive data
Referenced by hd_free_hd_data().
struct hd_data_t::flag_struct hd_data_t::flags |
Referenced by add_scsi_sysfs_info(), dump_normal(), hd_dump_entry(), hd_fork(), hd_fork_done(), hd_is_uml(), hd_list(), hd_list2(), hd_scan(), hd_scan_braille(), hd_scan_int(), hd_scan_manual(), hd_scan_misc(), hd_scan_modem(), hd_scan_mouse(), hd_scan_no_hal(), hd_scan_sys(), hd_set_probe_feature_hw(), hd_shm_init(), hd_smp_support(), int_mouse(), int_udev(), match_modinfo(), progress(), read_kmods(), and read_partitions().
str_list_t* hd_data_t::floppy |
(Internal) contents of PROC_NVRAM, used by the floppy module
Referenced by dump_floppy_data(), hd_free_hd_data(), and hd_scan_floppy().
hal_device_t* hd_data_t::hal |
(Internal) HAL data (if any)
Referenced by add_pci(), find_udi(), hal_find_device(), hd_free_hd_data(), hd_list(), hd_list2(), hd_scan(), hd_scan_hal(), hd_scan_hal_assign_udi(), hd_scan_hal_basic(), hd_scan_with_hal(), link_hal_tree(), and read_hal().
hd_t* hd_data_t::hd |
Current hardware list.
The list of all currently probed hardware. This is not identical with the result of hd_list(). (But a superset of it.)
Referenced by add_hd_entry(), add_kma(), add_monitor(), add_pci(), add_pci_data(), add_uml(), add_xpnet(), do_lp(), do_zip(), exists_hd_entry(), free_devtree(), get_block_devs(), get_generic_scsi_devs(), get_input_devices(), get_printer_devs(), get_scsi_tape(), get_serial_devs(), get_serial_modem(), get_serial_mouse(), get_usb_devs(), has_something_attached(), hd_apm_enabled(), hd_base_class_list(), hd_boot_disk(), hd_bus_list(), hd_color(), hd_cpu_arch(), hd_display_adapter(), hd_find_sysfs_id(), hd_find_sysfs_id_devname(), hd_free_hd_data(), hd_get_device_by_id(), hd_get_device_by_idx(), hd_has_pcmcia(), hd_is_uml(), hd_list(), hd_list2(), hd_list_with_status(), hd_list_with_status2(), hd_scan(), hd_scan_braille(), hd_scan_cpu(), hd_scan_dsl(), hd_scan_fb(), hd_scan_floppy(), hd_scan_hal_assign_udi(), hd_scan_int(), hd_scan_isdn(), hd_scan_manual(), hd_scan_manual2(), hd_scan_misc(), hd_scan_misc2(), hd_scan_monitor(), hd_scan_net(), hd_scan_no_hal(), hd_scan_pppoe(), hd_scan_serial(), hd_scan_with_hal(), hd_scan_wlan(), hd_scan_xtra(), hd_sub_class_list(), hd_usb_support(), int_add_driver_modules(), int_cdrom(), int_devicenames(), int_find_parent(), int_fix_usb_scsi(), int_floppy(), int_hotplug(), int_media_check(), int_modem(), int_mouse(), int_udev(), int_wlan(), kbd_driver(), pcmcia_ctrl_read_data(), read_properties(), remove_hd_entries(), remove_tagged_hd_entries(), and update_irq_usage().
hddb2_data_t* hd_data_t::hddb2[2] |
(Internal) hardware database
Referenced by hd_free_hd_data(), hd_read_config(), hddb_init(), hddb_init_external(), and hddb_search().
int hd_data_t::id |
Referenced by hd_shm_init().
isapnp_t* hd_data_t::isapnp |
(Internal) raw ISA-PnP data
Referenced by hd_free_hd_data().
unsigned hd_data_t::kernel_version |
(Internal) kernel version
Referenced by do_lp(), and get_kernel_version().
str_list_t* hd_data_t::klog |
(Internal) kernel log
Referenced by _read_klog(), hd_free_hd_data(), hd_module_is_active(), hd_scan(), hd_scan_floppy(), klog_mem(), klog_mem2(), and read_klog().
str_list_t* hd_data_t::klog_raw |
(Internal) unmodified kernel log
Referenced by dump_klog(), hd_free_hd_data(), and read_klog().
str_list_t* hd_data_t::kmods |
(Internal) list of active kernel modules
Referenced by hd_free_hd_data(), hd_scan(), and read_kmods().
unsigned hd_data_t::last_idx |
(Internal) index of the last hd entry generated
Referenced by add_hd_entry(), hd_free_hd_data(), hd_read_config(), and hd_scan().
char* hd_data_t::log |
Log messages.
All messages logged during hardware probing accumulate here.
Referenced by copy_log2shm(), hd_fork(), hd_free_hd_data(), hd_log(), and hd_shm_clean().
size_t hd_data_t::log_max |
(Internal) log buffer size
Referenced by copy_log2shm(), hd_fork(), and hd_log().
size_t hd_data_t::log_size |
(Internal) current log size (including final 0)
Referenced by copy_log2shm(), hd_fork(), and hd_log().
str_list_t* hd_data_t::lsscsi |
(Internal) lsscsi result (if any)
Referenced by add_scsi_sysfs_info(), get_block_devs(), and hd_free_hd_data().
hd_t* hd_data_t::manual |
(Internal) hardware config info
Referenced by hd_free_hd_data(), and hd_scan_manual().
misc_t* hd_data_t::misc |
(Internal) data gathered in the misc module
Referenced by dump_misc_data(), dump_misc_proc_data(), hd_free_hd_data(), hd_scan_misc(), hd_scan_misc2(), and update_irq_usage().
modinfo_t* hd_data_t::modinfo |
(Internal) module info
Referenced by hd_free_hd_data(), hddb_add_info(), and hddb_init_pci().
modinfo_t* hd_data_t::modinfo_ext |
(Internal) external module info
Referenced by hd_free_hd_data(), hddb_add_info(), and hddb_init_pci().
unsigned hd_data_t::module |
(Internal) the current probing module we are in
Referenced by add_hd_entry(), add_kma(), add_uml(), add_xpnet(), get_printer_devs(), get_scsi_tape(), get_serial_devs(), get_usb_devs(), hd_is_uml(), hd_read_config(), hd_scan(), hd_scan_braille(), hd_scan_cpu(), hd_scan_dsl(), hd_scan_fb(), hd_scan_floppy(), hd_scan_hal(), hd_scan_hal_basic(), 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(), hd_scan_wlan(), hd_scan_xtra(), progress(), and remove_hd_entries().
str_list_t* hd_data_t::net |
(Internal) list of network interfaces
Referenced by hd_free_hd_data(), and hd_scan_net().
unsigned hd_data_t::ok |
Referenced by hd_is_shm_ptr(), hd_move_to_shm(), hd_scan(), hd_shm_add(), hd_shm_clean(), hd_shm_done(), hd_shm_init(), and progress().
hd_t* hd_data_t::old_hd |
(Internal) old (outdated) entries (if you scan more than once)
Referenced by free_old_hd_entries(), hd_free_hd_data(), and remove_tagged_hd_entries().
str_list_t* hd_data_t::only |
Concentrate on these devices.
List of sysfs ids for devices to look for.
Referenced by hd_free_hd_data(), hd_report_this(), and hd_scan().
str_list_t* hd_data_t::partitions |
(Internal) dto, partitions
Referenced by add_partitions(), hd_free_hd_data(), hd_scan_sysfs_block(), and read_partitions().
pci_t* hd_data_t::pci |
(Internal) raw PCI data
Referenced by add_pci(), add_pci_data(), add_pci_entry(), dump_pci_data(), and hd_scan_sysfs_pci().
unsigned hd_data_t::pci_config_type |
(Internal) PCI config type (1 or 2), 0: unknown
unsigned char hd_data_t::probe[(pr_all+7)/8] |
(Internal) bitmask of probing features.
Referenced by fix_probe_features(), hd_clear_probe_feature(), hd_is_uml(), hd_list(), hd_list2(), hd_list_with_status(), hd_list_with_status2(), hd_probe_feature(), hd_scan(), and hd_set_probe_feature().
unsigned char hd_data_t::probe_clr[(pr_all+7)/8] |
(Internal) bitmask of probing features that will always be reset.
Referenced by fix_probe_features(), and set_probe_feature().
unsigned char hd_data_t::probe_set[(pr_all+7)/8] |
(Iternal) bitmask of probing features that will always be set.
Referenced by fix_probe_features(), and set_probe_feature().
hal_prop_t* hd_data_t::probe_val |
(Internal) probing features with arbitrary values
Referenced by get_probe_val_int(), get_probe_val_list(), get_probe_val_str(), hd_free_hd_data(), and set_probe_val().
str_list_t* hd_data_t::proc_usb |
(Internal) /proc/bus/usb info
Referenced by hd_free_hd_data(), and hd_scan_sysfs_usb().
void(* hd_data_t::progress) (char *pos, char *msg) |
A progress indicator.
If this callback function is not NULL, it is called at various points and can be used to give some user feedback what we are actually doing. If the debug flag HD_DEB_PROGRESS is set, progress messages are logged.
pos | Indicates where we are. |
msg | Indicates what we are going to do. |
Referenced by progress().
str_list_t* hd_data_t::scanner_db |
(Internal) list of scanner modules
Referenced by get_usb_devs(), and hd_free_hd_data().
scsi_t* hd_data_t::scsi |
(Internal) raw SCSI data
ser_device_t* hd_data_t::ser_modem |
(Internal) info about serial modems
Referenced by add_serial_modem(), at_cmd(), dev_name_duplicate(), dump_ser_modem_data(), get_serial_modem(), guess_modem_name(), hd_move_to_shm(), hd_scan_modem(), hd_shm_clean(), read_modem(), and write_modem().
ser_device_t* hd_data_t::ser_mouse |
(Internal) info about serial mice
Referenced by add_serial_mouse(), dump_ser_mouse_data(), get_serial_mouse(), hd_move_to_shm(), hd_scan_mouse(), and hd_shm_clean().
serial_t* hd_data_t::serial |
(Internal) /proc's serial info
Referenced by dump_serial_data(), get_serial_info(), and hd_scan_serial().
struct { ... } hd_data_t::shm |
(Internal) our shm segment
Referenced by copy_log2shm(), hd_fork(), hd_is_shm_ptr(), hd_move_to_shm(), hd_scan(), hd_scan_modem(), hd_scan_mouse(), hd_shm_add(), hd_shm_clean(), hd_shm_done(), hd_shm_init(), and progress().
unsigned hd_data_t::size |
Referenced by hd_shm_add(), and hd_shm_init().
hd_smbios_t* hd_data_t::smbios |
(Internal) smbios data
Referenced by hd_free_hd_data(), smbios_dump(), and smbios_parse().
hd_sysfsdrv_t* hd_data_t::sysfsdrv |
(Internal) sysfs driver info
Referenced by hd_free_hd_data(), hd_sysfs_driver_list(), hd_sysfs_find_driver(), and int_update_driver_data().
uint64_t hd_data_t::sysfsdrv_id |
(Internal) sysfs driver info id
Referenced by hd_sysfs_driver_list().
hd_udevinfo_t* hd_data_t::udevinfo |
(Internal) udev info
Referenced by hd_free_hd_data(), int_udev(), and read_udevinfo().
int hd_data_t::updated |
Referenced by hd_fork(), and hd_shm_clean().
usb_t* hd_data_t::usb |
(Internal) usb info
Referenced by hd_scan_sysfs_usb().
unsigned hd_data_t::used |
Referenced by hd_is_shm_ptr(), hd_shm_add(), and hd_shm_clean().
uint64_t hd_data_t::used_irqs |
(Internal) irq usage
Referenced by hd_scan(), isdn_driver(), and update_irq_usage().
struct vm_s* hd_data_t::vm |
(Internal) x86emu vm
str_list_t* hd_data_t::xtra_hd |
(Internal) fake hd entries (for testing)
Referenced by get_probe_env(), hd_free_hd_data(), and hd_scan_xtra().