hd_data_t Struct Reference
[Public interface]

Holds all data accumulated during hardware probing. More...

#include <hd.h>


Data Fields

hd_thd
 Current hardware list.
void(* progress )(char *pos, char *msg)
 A progress indicator.
char * log
 Log messages.
unsigned debug
 Debug flags.
hd_data_t::flag_struct flags
 Special flags.
str_list_tonly
 Concentrate on these devices.
unsigned char probe [(pr_all+7)/8]
 (Internal) bitmask of probing features.
unsigned char probe_set [(pr_all+7)/8]
 (Iternal) bitmask of probing features that will always be set.
unsigned char probe_clr [(pr_all+7)/8]
 (Internal) bitmask of probing features that will always be reset.
hal_prop_tprobe_val
 (Internal) probing features with arbitrary values
unsigned last_idx
 (Internal) index of the last hd entry generated
unsigned module
 (Internal) the current probing module we are in
enum boot_arch boot
 (Internal) boot method
hd_told_hd
 (Internal) old (outdated) entries (if you scan more than once)
pci_tpci
 (Internal) raw PCI data
isapnp_tisapnp
 (Internal) raw ISA-PnP data
cdrom_info_tcdrom
 (Internal) CDROM devs from PROC_CDROM_INFO
str_list_tnet
 (Internal) list of network interfaces
str_list_tfloppy
 (Internal) contents of PROC_NVRAM, used by the floppy module
misc_tmisc
 (Internal) data gathered in the misc module
serial_tserial
 (Internal) /proc's serial info
scsi_tscsi
 (Internal) raw SCSI data
ser_device_tser_mouse
 (Internal) info about serial mice
ser_device_tser_modem
 (Internal) info about serial modems
str_list_tcpu
 (Internal) /proc/cpuinfo
str_list_tklog
 (Internal) kernel log
str_list_tproc_usb
 (Internal) /proc/bus/usb info
usb_tusb
 (Internal) usb info
modinfo_tmodinfo_ext
 (Internal) external module info
modinfo_tmodinfo
 (Internal) module info
hddb2_data_thddb2 [2]
 (Internal) hardware database
str_list_tkmods
 (Internal) list of active kernel modules
uint64_t used_irqs
 (Internal) irq usage
uint64_t assigned_irqs
 (Internal) irqs automatically assigned by libhd (for driver info)
memory_range_t bios_rom
 (Internal) BIOS 0xc0000 - 0xfffff
memory_range_t bios_ram
 (Internal) BIOS 0x00400 - 0x004ff
memory_range_t bios_ebda
 (Internal) EBDA
unsigned display
 (Internal) hd_idx of the active (vga) display
unsigned color_code
 (Internal) color, if any
char * cmd_line
 (Internal) kernel command line
str_list_txtra_hd
 (Internal) fake hd entries (for testing)
devtree_tdevtree
 (Internal) prom device tree on ppc
unsigned kernel_version
 (Internal) kernel version
hd_tmanual
 (Internal) hardware config info
str_list_tdisks
 (Internal) disks according to /proc/partitions
str_list_tpartitions
 (Internal) dto, partitions
str_list_tcdroms
 (Internal) cdroms according to PROC_CDROM_INFO
hd_smbios_tsmbios
 (Internal) smbios data
struct {
   unsigned   ok:1
   unsigned   size
   unsigned   used
   void *   data
   int   id
   int   updated
shm
 (Internal) our shm segment
unsigned pci_config_type
 (Internal) PCI config type (1 or 2), 0: unknown
hd_udevinfo_tudevinfo
 (Internal) udev info
hd_sysfsdrv_tsysfsdrv
 (Internal) sysfs driver info
uint64_t sysfsdrv_id
 (Internal) sysfs driver info id
str_list_tscanner_db
 (Internal) list of scanner modules
edd_info_t edd [0x80]
 (Internal) enhanced disk drive data
hal_device_thal
 (Internal) HAL data (if any)
str_list_tlsscsi
 (Internal) lsscsi result (if any)
vm_s * vm
 (Internal) x86emu vm
size_t log_size
 (Internal) current log size (including final 0)
size_t log_max
 (Internal) log buffer size
str_list_tklog_raw
 (Internal) unmodified kernel log

Data Structures

struct  flag_struct
 Special flags. More...


Detailed Description

Holds all data accumulated during hardware probing.


Field Documentation

uint64_t hd_data_t::assigned_irqs

(Internal) irqs automatically assigned by libhd (for driver info)

memory_range_t hd_data_t::bios_ebda

(Internal) EBDA

memory_range_t hd_data_t::bios_ram

(Internal) BIOS 0x00400 - 0x004ff

memory_range_t hd_data_t::bios_rom

(Internal) BIOS 0xc0000 - 0xfffff

enum boot_arch hd_data_t::boot

(Internal) boot method

cdrom_info_t* hd_data_t::cdrom

(Internal) CDROM devs from PROC_CDROM_INFO

str_list_t* hd_data_t::cdroms

(Internal) cdroms according to PROC_CDROM_INFO

char* hd_data_t::cmd_line

(Internal) kernel command line

unsigned hd_data_t::color_code

(Internal) color, if any

str_list_t* hd_data_t::cpu

(Internal) /proc/cpuinfo

void* hd_data_t::data

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.

See also:
Debug flags

devtree_t* hd_data_t::devtree

(Internal) prom device tree on ppc

str_list_t* hd_data_t::disks

(Internal) disks according to /proc/partitions

unsigned hd_data_t::display

(Internal) hd_idx of the active (vga) display

edd_info_t hd_data_t::edd[0x80]

(Internal) enhanced disk drive data

struct hd_data_t::flag_struct hd_data_t::flags

Special flags.

Influence hardware probing in some strange ways with these. You normally do not want to use them.

str_list_t* hd_data_t::floppy

(Internal) contents of PROC_NVRAM, used by the floppy module

hal_device_t* hd_data_t::hal

(Internal) HAL data (if any)

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

hddb2_data_t* hd_data_t::hddb2[2]

(Internal) hardware database

int hd_data_t::id

isapnp_t* hd_data_t::isapnp

(Internal) raw ISA-PnP data

unsigned hd_data_t::kernel_version

(Internal) kernel version

str_list_t* hd_data_t::klog

(Internal) kernel log

str_list_t* hd_data_t::klog_raw

(Internal) unmodified kernel log

str_list_t* hd_data_t::kmods

(Internal) list of active kernel modules

unsigned hd_data_t::last_idx

(Internal) index of the last hd entry generated

char* hd_data_t::log

Log messages.

All messages logged during hardware probing accumulate here.

size_t hd_data_t::log_max

(Internal) log buffer size

size_t hd_data_t::log_size

(Internal) current log size (including final 0)

str_list_t* hd_data_t::lsscsi

(Internal) lsscsi result (if any)

hd_t* hd_data_t::manual

(Internal) hardware config info

misc_t* hd_data_t::misc

(Internal) data gathered in the misc module

modinfo_t* hd_data_t::modinfo

(Internal) module info

modinfo_t* hd_data_t::modinfo_ext

(Internal) external module info

unsigned hd_data_t::module

(Internal) the current probing module we are in

str_list_t* hd_data_t::net

(Internal) list of network interfaces

unsigned hd_data_t::ok

hd_t* hd_data_t::old_hd

(Internal) old (outdated) entries (if you scan more than once)

str_list_t* hd_data_t::only

Concentrate on these devices.

List of sysfs ids for devices to look for.

str_list_t* hd_data_t::partitions

(Internal) dto, partitions

pci_t* hd_data_t::pci

(Internal) raw PCI data

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.

unsigned char hd_data_t::probe_clr[(pr_all+7)/8]

(Internal) bitmask of probing features that will always be reset.

unsigned char hd_data_t::probe_set[(pr_all+7)/8]

(Iternal) bitmask of probing features that will always be set.

hal_prop_t* hd_data_t::probe_val

(Internal) probing features with arbitrary values

str_list_t* hd_data_t::proc_usb

(Internal) /proc/bus/usb info

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.

Parameters:
pos Indicates where we are.
msg Indicates what we are going to do.

str_list_t* hd_data_t::scanner_db

(Internal) list of scanner modules

scsi_t* hd_data_t::scsi

(Internal) raw SCSI data

ser_device_t* hd_data_t::ser_modem

(Internal) info about serial modems

ser_device_t* hd_data_t::ser_mouse

(Internal) info about serial mice

serial_t* hd_data_t::serial

(Internal) /proc's serial info

struct { ... } hd_data_t::shm

(Internal) our shm segment

unsigned hd_data_t::size

hd_smbios_t* hd_data_t::smbios

(Internal) smbios data

hd_sysfsdrv_t* hd_data_t::sysfsdrv

(Internal) sysfs driver info

uint64_t hd_data_t::sysfsdrv_id

(Internal) sysfs driver info id

hd_udevinfo_t* hd_data_t::udevinfo

(Internal) udev info

int hd_data_t::updated

usb_t* hd_data_t::usb

(Internal) usb info

unsigned hd_data_t::used

uint64_t hd_data_t::used_irqs

(Internal) 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)


The documentation for this struct was generated from the following file: