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.
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
int in_vmware
 (Internal) running in vmware
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)

Data Structures

struct  flag_struct
 Special flags. More...


Detailed Description

Holds all data accumulated during hardware probing.


Field Documentation

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

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.

char* hd_data_t::log

Log messages.

All messages logged during hardware probing accumulate here.

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

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::only

Concentrate on these devices.

List of sysfs ids for devices to look for.

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

(Internal) bitmask of probing features.

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

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

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

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

unsigned hd_data_t::last_idx

(Internal) index of the last hd entry generated

unsigned hd_data_t::module

(Internal) the current probing module we are in

enum boot_arch hd_data_t::boot

(Internal) boot method

hd_t* hd_data_t::old_hd

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

pci_t* hd_data_t::pci

(Internal) raw PCI data

isapnp_t* hd_data_t::isapnp

(Internal) raw ISA-PnP data

cdrom_info_t* hd_data_t::cdrom

(Internal) CDROM devs from PROC_CDROM_INFO

str_list_t* hd_data_t::net

(Internal) list of network interfaces

str_list_t* hd_data_t::floppy

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

misc_t* hd_data_t::misc

(Internal) data gathered in the misc module

serial_t* hd_data_t::serial

(Internal) /proc's serial info

scsi_t* hd_data_t::scsi

(Internal) raw SCSI data

ser_device_t* hd_data_t::ser_mouse

(Internal) info about serial mice

ser_device_t* hd_data_t::ser_modem

(Internal) info about serial modems

str_list_t* hd_data_t::cpu

(Internal) /proc/cpuinfo

str_list_t* hd_data_t::klog

(Internal) kernel log

str_list_t* hd_data_t::proc_usb

(Internal) /proc/bus/usb info

usb_t* hd_data_t::usb

(Internal) usb info

modinfo_t* hd_data_t::modinfo_ext

(Internal) external module info

modinfo_t* hd_data_t::modinfo

(Internal) module info

hddb2_data_t* hd_data_t::hddb2[2]

(Internal) hardware database

str_list_t* hd_data_t::kmods

(Internal) list of active kernel modules

uint64_t hd_data_t::used_irqs

(Internal) irq usage

uint64_t hd_data_t::assigned_irqs

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

memory_range_t hd_data_t::bios_rom

(Internal) BIOS 0xc0000 - 0xfffff

memory_range_t hd_data_t::bios_ram

(Internal) BIOS 0x00400 - 0x004ff

memory_range_t hd_data_t::bios_ebda

(Internal) EBDA

unsigned hd_data_t::display

(Internal) hd_idx of the active (vga) display

unsigned hd_data_t::color_code

(Internal) color, if any

char* hd_data_t::cmd_line

(Internal) kernel command line

str_list_t* hd_data_t::xtra_hd

(Internal) fake hd entries (for testing)

devtree_t* hd_data_t::devtree

(Internal) prom device tree on ppc

unsigned hd_data_t::kernel_version

(Internal) kernel version

int hd_data_t::in_vmware

(Internal) running in vmware

hd_t* hd_data_t::manual

(Internal) hardware config info

str_list_t* hd_data_t::disks

(Internal) disks according to /proc/partitions

str_list_t* hd_data_t::partitions

(Internal) dto, partitions

str_list_t* hd_data_t::cdroms

(Internal) cdroms according to PROC_CDROM_INFO

hd_smbios_t* hd_data_t::smbios

(Internal) smbios data

unsigned hd_data_t::ok

unsigned hd_data_t::size

unsigned hd_data_t::used

void* hd_data_t::data

int hd_data_t::id

int hd_data_t::updated

struct { ... } hd_data_t::shm

(Internal) our shm segment

unsigned hd_data_t::pci_config_type

(Internal) PCI config type (1 or 2), 0: unknown

hd_udevinfo_t* hd_data_t::udevinfo

(Internal) udev info

hd_sysfsdrv_t* hd_data_t::sysfsdrv

(Internal) sysfs driver info

uint64_t hd_data_t::sysfsdrv_id

(Internal) sysfs driver info id

str_list_t* hd_data_t::scanner_db

(Internal) list of scanner modules

edd_info_t hd_data_t::edd[0x80]

(Internal) enhanced disk drive data

hal_device_t* hd_data_t::hal

(Internal) HAL data (if any)


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