libhd 5.0
hd_int.h File Reference

Go to the source code of this file.

Macros

#define PROC_CMDLINE   "/proc/cmdline"
#define PROC_PCI_DEVICES   "/proc/bus/pci/devices"
#define PROC_PCI_BUS   "/proc/bus/pci"
#define PROC_CPUINFO   "/proc/cpuinfo"
#define PROC_IOPORTS   "/proc/ioports"
#define PROC_DMA   "/proc/dma"
#define PROC_INTERRUPTS   "/proc/interrupts"
#define PROC_NVRAM_22   "/proc/driver/nvram"
#define PROC_NVRAM_24   "/proc/nvram"
#define PROC_IDE   "/proc/ide"
#define PROC_SCSI   "/proc/scsi"
#define PROC_CDROM_INFO   "/proc/sys/dev/cdrom/info"
#define PROC_NET_IF_INFO   "/proc/net/dev"
#define PROC_MODULES   "/proc/modules"
#define PROC_DRIVER_SERIAL   "/proc/tty/driver/serial"
#define PROC_DRIVER_MACSERIAL   "/proc/tty/driver/macserial"
#define PROC_PARPORT_22   "/proc/parport/" /* Final '/' is essential! */
#define PROC_PARPORT_24   "/proc/sys/dev/parport/parport"
#define PROC_KCORE   "/proc/kcore"
#define PROC_USB_DEVICES   "/proc/bus/usb/devices_please-use-sysfs-instead"
#define PROC_PROM   "/proc/device-tree"
#define PROC_MEMINFO   "/proc/meminfo"
#define PROC_VERSION   "/proc/version"
#define PROC_ISAPNP   "/proc/isapnp"
#define PROC_PARTITIONS   "/proc/partitions"
#define PROC_APM   "/proc/apm"
#define PROC_XEN_BALLOON   "/proc/xen/balloon"
#define DEV_NVRAM   "/dev/nvram"
#define DEV_PSAUX   "/dev/psaux"
#define DEV_ADBMOUSE   "/dev/adbmouse"
#define DEV_MEM   "/dev/mem"
#define DEV_KBD   "/dev/kbd"
#define DEV_CONSOLE   "/dev/console"
#define DEV_OPENPROM   "/dev/openprom"
#define DEV_SUNMOUSE   "/dev/sunmouse"
#define DEV_MICE   "/dev/input/mice"
#define DEV_FB   "/dev/fb"
#define DEV_FB0   "/dev/fb0"
#define PROG_MODPROBE   "/sbin/modprobe"
#define PROG_RMMOD   "/sbin/rmmod"
#define PROG_CARDCTL   "/sbin/cardctl"
#define PROG_UDEVINFO   "/usr/bin/udevinfo"
#define PROG_UDEVADM   "/usr/bin/udevadm"
#define KLOG_BOOT   "/var/log/boot.msg"
#define ISAPNP_CONF   "/etc/isapnp.conf"
#define KERNEL_22   0x020200
#define KERNEL_24   0x020400
#define KERNEL_26   0x020600
#define WITH_ISDN   1
#define MAX_ATTR_SIZE   0x10000
#define PROGRESS(a, b, c)
#define ADD2LOG(a...)
#define API_SYM   __attribute__((visibility("default")))
#define read_dir   hd_read_dir
#define read_file   hd_read_file
#define name2eisa_id   hd_name2eisa_id
#define search_str_list   hd_search_str_list
#define add_str_list   hd_add_str_list
#define free_str_list   hd_free_str_list
#define reverse_str_list   hd_reverse_str_list
#define add_hd_entry   hd_add_hd_entry
#define W_IO   (1 << 0)
#define W_DMA   (1 << 1)
#define W_IRQ   (1 << 2)

Enumerations

enum  mod_idx {
  mod_none , mod_memory , mod_pci , mod_isapnp ,
  mod_pnpdump , mod_net , mod_floppy , mod_misc ,
  mod_bios , mod_cpu , mod_monitor , mod_mouse ,
  mod_scsi , mod_serial , mod_usb , mod_adb ,
  mod_modem , mod_parallel , mod_isa , mod_isdn ,
  mod_kbd , mod_prom , mod_sbus , mod_int ,
  mod_braille , mod_xtra , mod_sys , mod_manual ,
  mod_fb , mod_veth , mod_pppoe , mod_pcmcia ,
  mod_s390 , mod_sysfs , mod_dsl , mod_block ,
  mod_edd , mod_input , mod_wlan , mod_hal
}

Functions

void * new_mem (size_t size)
void * resize_mem (void *, size_t)
void * add_mem (void *, size_t, size_t)
char * new_str (const char *)
void * free_mem (void *)
int have_common_res (hd_res_t *res1, hd_res_t *res2)
void join_res_io (hd_res_t **res1, hd_res_t *res2)
void join_res_irq (hd_res_t **res1, hd_res_t *res2)
void join_res_dma (hd_res_t **res1, hd_res_t *res2)
hd_res_tfree_res_list (hd_res_t *res)
hd_res_tadd_res_entry (hd_res_t **res, hd_res_t *new_res)
hd_tadd_hd_entry (hd_data_t *hd_data, unsigned line, unsigned count)
misc_tfree_misc (misc_t *m)
scsi_tfree_scsi (scsi_t *scsi, int free_all)
hd_detail_tfree_hd_detail (hd_detail_t *d)
devtree_tfree_devtree (hd_data_t *hd_data)
void hd_add_id (hd_data_t *hd_data, hd_t *hd)
char * isa_id2str (unsigned)
char * eisa_vendor_str (unsigned)
char * canon_str (char *, int)
int hex (char *string, int digits)
void hd_log (hd_data_t *hd_data, char *buf, ssize_t len)
void hd_log_printf (hd_data_t *hd_data, char *format,...) __attribute__((format(printf
void void hd_log_hex (hd_data_t *hd_data, int with_ascii, unsigned data_len, unsigned char *data)
void str_printf (char **buf, int offset, char *format,...) __attribute__((format(printf
void void hexdump (char **buf, int with_ascii, unsigned data_len, unsigned char *data)
str_list_tread_dir_canonical (char *dir_name, int type)
str_list_tsubcomponent_list (str_list_t *list, char *comp, int max)
int has_subcomponent (str_list_t *list, char *comp)
void progress (hd_data_t *hd_data, unsigned pos, unsigned count, char *msg)
void remove_hd_entries (hd_data_t *hd_data)
void remove_tagged_hd_entries (hd_data_t *hd_data)
driver_info_tfree_driver_info (driver_info_t *di)
int str2float (char *s, int n)
char * float2str (int i, int n)
char * mod_name_by_idx (unsigned idx)
int hd_timeout (void(*func)(void *), void *arg, int timeout)
str_list_tread_kmods (hd_data_t *hd_data)
char * get_cmd_param (hd_data_t *hd_data, int field)
void update_irq_usage (hd_data_t *hd_data)
int run_cmd (hd_data_t *hd_data, char *cmd)
int load_module_with_params (hd_data_t *hd_data, char *module, char *params)
int load_module (hd_data_t *hd_data, char *module)
int unload_module (hd_data_t *hd_data, char *module)
int probe_module (hd_data_t *hd_data, char *module)
int cmp_hd (hd_t *hd1, hd_t *hd2)
unsigned has_something_attached (hd_data_t *hd_data, hd_t *hd)
str_list_tget_cmdline (hd_data_t *hd_data, char *key)
int detect_smp_bios (hd_data_t *hd_data)
int detect_smp_prom (hd_data_t *hd_data)
unsigned char * read_block0 (hd_data_t *hd_data, char *dev, int *timeout)
void hd_copy (hd_t *dst, hd_t *src)
void gather_resources (misc_t *m, hd_res_t **r, char *name, unsigned which)
char * vend_id2str (unsigned vend)
int hd_getdisksize (hd_data_t *hd_data, char *dev, int fd, hd_res_t **geo, hd_res_t **size)
int is_pnpinfo (ser_device_t *mi, int ofs)
int is_pcmcia_ctrl (hd_data_t *hd_data, hd_t *hd)
void hd_fork (hd_data_t *hd_data, int timeout, int total_timeout)
void hd_fork_done (hd_data_t *hd_data)
void hd_shm_init (hd_data_t *hd_data)
void hd_shm_clean (hd_data_t *hd_data)
void hd_shm_done (hd_data_t *hd_data)
void * hd_shm_add (hd_data_t *hd_data, void *ptr, unsigned len)
int hd_is_shm_ptr (hd_data_t *hd_data, void *ptr)
void hd_move_to_shm (hd_data_t *hd_data)
void read_udevinfo (hd_data_t *hd_data)
hd_thd_find_sysfs_id (hd_data_t *hd_data, char *id)
hd_thd_find_sysfs_id_devname (hd_data_t *hd_data, char *id, char *devname)
int hd_attr_uint (char *attr, uint64_t *u, int base)
str_list_thd_attr_list (char *str)
char * hd_sysfs_id (char *path)
char * hd_sysfs_name2_dev (char *str)
char * hd_sysfs_dev2_name (char *str)
void hd_sysfs_driver_list (hd_data_t *hd_data)
char * hd_sysfs_find_driver (hd_data_t *hd_data, char *sysfs_id, int exact)
int hd_report_this (hd_data_t *hd_data, hd_t *hd)
str_list_thd_module_list (hd_data_t *hd_data, unsigned id)
char * get_sysfs_attr (const char *bus, const char *device, const char *attr)
char * get_sysfs_attr_by_path (const char *path, const char *attr)
char * get_sysfs_attr_by_path2 (const char *path, const char *attr, unsigned *len)
void hd_pci_complete_data (hd_t *hd)
void hd_pci_read_data (hd_data_t *hd_data)
hal_device_thd_free_hal_devices (hal_device_t *dev)
char * hd_hal_print_prop (hal_prop_t *prop)
void hal_invalidate (hal_prop_t *prop)
void hal_invalidate_all (hal_prop_t *prop, const char *key)
hal_prop_thal_get_any (hal_prop_t *prop, const char *key)
hal_prop_thal_get_bool (hal_prop_t *prop, const char *key)
hal_prop_thal_get_int32 (hal_prop_t *prop, const char *key)
hal_prop_thal_get_str (hal_prop_t *prop, const char *key)
hal_prop_thal_get_list (hal_prop_t *prop, const char *key)
char * hal_get_useful_str (hal_prop_t *prop, const char *key)
hal_device_thal_find_device (hd_data_t *hd_data, char *udi)
hal_prop_thal_add_new (hal_prop_t **prop)
char * hd_get_hddb_dir (void)
char * hd_get_hddb_path (char *sub)
int hd_mod_cmp (char *str1, char *str2)
int get_probe_val_int (hd_data_t *hd_data, enum probe_feature feature)
char * get_probe_val_str (hd_data_t *hd_data, enum probe_feature feature)
str_list_tget_probe_val_list (hd_data_t *hd_data, enum probe_feature feature)
str_list_tsort_str_list (str_list_t *sl0, int(*cmp_func)(const void *, const void *))

Macro Definition Documentation

◆ ADD2LOG

#define ADD2LOG ( a...)
Value:
API_SYM void hd_log_printf(hd_data_t *hd_data, char *format,...)
Definition hd.c:2378
static hd_data_t * hd_data
Definition pppoe.c:30

Referenced by add_cdrom_info(), add_edid_from_file(), add_edid_info(), add_input_dev(), add_joystick_details(), add_mv643xx_eth(), add_scsi_sysfs_info(), add_serial_console(), at_cmd(), check_room(), discovery(), do_alva(), do_baum(), do_fhp(), do_fhp_new(), do_ht(), dump_cpu_data(), dump_floppy_data(), dump_klog(), dump_misc_data(), dump_misc_proc_data(), dump_parallel_data(), dump_pci_data(), dump_ser_modem_data(), dump_ser_mouse_data(), dump_serial_data(), fb_get_info(), get_block_devs(), get_cmdline(), get_driverinfo(), get_ethtool_priv(), get_generic_scsi_devs(), get_input_devices(), get_input_devs(), get_kernel_version(), get_linkstate(), get_phwaddr(), get_printer_devs(), get_probe_env(), get_scsi_tape(), get_serial_devs(), get_serial_info(), get_usb_devs(), hd_boot_disk(), hd_fork(), hd_getdisksize(), hd_pci_read_data(), hd_read_cdrom_info(), hd_read_ibmebus(), hd_read_macio(), hd_read_mdio(), hd_read_mmap(), hd_read_mmc(), hd_read_nd(), hd_read_of_platform(), hd_read_platform(), hd_read_ps3_system_bus(), hd_read_sdio(), hd_read_uisvirtpci(), hd_read_vio(), hd_read_virtio(), hd_read_visorbus(), hd_read_vm(), hd_read_xen(), hd_scan(), hd_scan_manual(), hd_scan_misc(), hd_scan_misc2(), hd_scan_net(), hd_scan_pppoe(), hd_scan_sysfs_block(), hd_scan_wlan(), hd_shm_init(), hd_sysfs_driver_list(), hddb_init_external(), int_media_check(), is_kms_active(), kcore_mem(), klog_mem(), klog_mem2(), meminfo_mem(), meminfo_xen(), open_interfaces(), parse_packet(), parse_pado_tags(), pcmcia_ctrl_read_data(), pcmcia_read_data(), progress(), read_block0(), read_cdroms(), read_hal(), read_partitions(), read_properties(), read_udevinfo(), read_usb_lp(), receive_packet(), run_cmd(), send_packet(), send_padi(), sigusr1_handler(), wait_for_pado(), and write_modem().

◆ add_hd_entry

◆ add_str_list

◆ API_SYM

#define API_SYM   __attribute__((visibility("default")))

Referenced by hd_add_driver_data(), hd_add_hd_entry(), s_str_list_t::hd_add_str_list(), hd_base_class_list(), hd_boot_arch(), hd_boot_disk(), hd_bus_list(), hd_busid_to_hwcfg(), hd_cdbisdn_get_card(), hd_cdbisdn_get_card_from_id(), hd_cdbisdn_get_card_from_type(), hd_cdbisdn_get_db_date(), hd_cdbisdn_get_db_version(), hd_cdbisdn_get_vario(), hd_cdbisdn_get_vario_from_type(), hd_cdbisdn_get_vendor(), hd_cdbisdn_get_version(), hd_change_config_status(), hd_change_status(), hd_clear_probe_feature(), hd_color(), hd_cpu_arch(), hd_display_adapter(), hd_dump_entry(), hd_free_hal_properties(), hd_free_hd_data(), hd_free_hd_list(), hd_free_manual(), s_str_list_t::hd_free_str_list(), hd_get_device_by_idx(), hd_has_pcmcia(), hd_hw_item_name(), hd_hw_item_type(), hd_is_hw_class(), hd_is_sgi_altix(), hd_is_uml(), hd_is_xen(), hd_join(), hd_list(), hd_list2(), hd_list_with_status(), hd_list_with_status2(), hd_log_printf(), hd_mac_color(), hd_manual_read_entry(), hd_manual_write_entry(), hd_module_is_active(), hd_name2eisa_id(), hd_probe_feature(), hd_probe_feature_by_name(), hd_probe_feature_by_value(), hd_read_cdrom_info(), hd_read_config(), hd_read_dir(), hd_read_file(), hd_read_mmap(), hd_read_properties(), hd_read_sysfs_link(), s_str_list_t::hd_reverse_str_list(), hd_scan(), s_str_list_t::hd_search_str_list(), hd_set_hw_class(), hd_set_probe_feature(), hd_set_probe_feature_hw(), hd_smp_support(), hd_split(), hd_status_value_name(), hd_sub_class_list(), hd_usb_support(), hd_version(), hd_write_config(), hd_write_properties(), hddb_add_info(), hddb_dump(), hddb_dump_raw(), and hddb_get_packages().

◆ DEV_ADBMOUSE

#define DEV_ADBMOUSE   "/dev/adbmouse"

◆ DEV_CONSOLE

#define DEV_CONSOLE   "/dev/console"

Referenced by add_serial_console().

◆ DEV_FB

#define DEV_FB   "/dev/fb"

Referenced by fb_get_info().

◆ DEV_FB0

#define DEV_FB0   "/dev/fb0"

Referenced by fb_get_info().

◆ DEV_KBD

#define DEV_KBD   "/dev/kbd"

◆ DEV_MEM

#define DEV_MEM   "/dev/mem"

◆ DEV_MICE

#define DEV_MICE   "/dev/input/mice"

Referenced by add_input_dev(), and get_input_devices().

◆ DEV_NVRAM

#define DEV_NVRAM   "/dev/nvram"

Referenced by hd_scan_floppy().

◆ DEV_OPENPROM

#define DEV_OPENPROM   "/dev/openprom"

◆ DEV_PSAUX

#define DEV_PSAUX   "/dev/psaux"

Referenced by hd_scan_misc().

◆ DEV_SUNMOUSE

#define DEV_SUNMOUSE   "/dev/sunmouse"

◆ free_str_list

#define free_str_list   hd_free_str_list

◆ ISAPNP_CONF

#define ISAPNP_CONF   "/etc/isapnp.conf"

◆ KERNEL_22

#define KERNEL_22   0x020200

Referenced by do_lp(), and get_kernel_version().

◆ KERNEL_24

#define KERNEL_24   0x020400

Referenced by get_kernel_version().

◆ KERNEL_26

#define KERNEL_26   0x020600

Referenced by get_kernel_version().

◆ KLOG_BOOT

#define KLOG_BOOT   "/var/log/boot.msg"

Referenced by _read_klog().

◆ MAX_ATTR_SIZE

#define MAX_ATTR_SIZE   0x10000

Referenced by get_sysfs_attr_by_path2().

◆ name2eisa_id

◆ PROC_APM

#define PROC_APM   "/proc/apm"

◆ PROC_CDROM_INFO

#define PROC_CDROM_INFO   "/proc/sys/dev/cdrom/info"

Referenced by read_cdroms().

◆ PROC_CMDLINE

#define PROC_CMDLINE   "/proc/cmdline"

Referenced by get_cmdline().

◆ PROC_CPUINFO

#define PROC_CPUINFO   "/proc/cpuinfo"

Referenced by hd_scan_sys(), and read_cpuinfo().

◆ PROC_DMA

#define PROC_DMA   "/proc/dma"

Referenced by read_dmas().

◆ PROC_DRIVER_MACSERIAL

#define PROC_DRIVER_MACSERIAL   "/proc/tty/driver/macserial"

Referenced by get_serial_info().

◆ PROC_DRIVER_SERIAL

#define PROC_DRIVER_SERIAL   "/proc/tty/driver/serial"

Referenced by get_serial_info().

◆ PROC_IDE

#define PROC_IDE   "/proc/ide"

Referenced by add_ide_sysfs_info().

◆ PROC_INTERRUPTS

#define PROC_INTERRUPTS   "/proc/interrupts"

Referenced by read_irqs().

◆ PROC_IOPORTS

#define PROC_IOPORTS   "/proc/ioports"

Referenced by read_ioports().

◆ PROC_ISAPNP

#define PROC_ISAPNP   "/proc/isapnp"

◆ PROC_KCORE

#define PROC_KCORE   "/proc/kcore"

Referenced by kcore_mem().

◆ PROC_MEMINFO

#define PROC_MEMINFO   "/proc/meminfo"

Referenced by meminfo_mem().

◆ PROC_MODULES

#define PROC_MODULES   "/proc/modules"

◆ PROC_NET_IF_INFO

#define PROC_NET_IF_INFO   "/proc/net/dev"

◆ PROC_NVRAM_22

#define PROC_NVRAM_22   "/proc/driver/nvram"

Referenced by hd_scan_floppy().

◆ PROC_NVRAM_24

#define PROC_NVRAM_24   "/proc/nvram"

Referenced by hd_scan_floppy().

◆ PROC_PARPORT_22

#define PROC_PARPORT_22   "/proc/parport/" /* Final '/' is essential! */

Referenced by do_lp().

◆ PROC_PARPORT_24

#define PROC_PARPORT_24   "/proc/sys/dev/parport/parport"

Referenced by do_lp().

◆ PROC_PARTITIONS

#define PROC_PARTITIONS   "/proc/partitions"

Referenced by read_partitions().

◆ PROC_PCI_BUS

#define PROC_PCI_BUS   "/proc/bus/pci"

◆ PROC_PCI_DEVICES

#define PROC_PCI_DEVICES   "/proc/bus/pci/devices"

◆ PROC_PROM

#define PROC_PROM   "/proc/device-tree"

◆ PROC_SCSI

#define PROC_SCSI   "/proc/scsi"

Referenced by do_zip().

◆ PROC_USB_DEVICES

#define PROC_USB_DEVICES   "/proc/bus/usb/devices_please-use-sysfs-instead"

◆ PROC_VERSION

#define PROC_VERSION   "/proc/version"

Referenced by get_kernel_version().

◆ PROC_XEN_BALLOON

#define PROC_XEN_BALLOON   "/proc/xen/balloon"

Referenced by meminfo_xen().

◆ PROG_CARDCTL

#define PROG_CARDCTL   "/sbin/cardctl"

◆ PROG_MODPROBE

#define PROG_MODPROBE   "/sbin/modprobe"

◆ PROG_RMMOD

#define PROG_RMMOD   "/sbin/rmmod"

Referenced by unload_module().

◆ PROG_UDEVADM

#define PROG_UDEVADM   "/usr/bin/udevadm"

Referenced by read_udevinfo().

◆ PROG_UDEVINFO

#define PROG_UDEVINFO   "/usr/bin/udevinfo"

Referenced by read_udevinfo().

◆ PROGRESS

◆ read_dir

◆ read_file

◆ reverse_str_list

#define reverse_str_list   hd_reverse_str_list

◆ search_str_list

◆ W_DMA

#define W_DMA   (1 << 1)

Referenced by gather_resources(), and hd_scan_misc().

◆ W_IO

#define W_IO   (1 << 0)

Referenced by gather_resources().

◆ W_IRQ

#define W_IRQ   (1 << 2)

Referenced by gather_resources(), and hd_scan_misc().

◆ WITH_ISDN

#define WITH_ISDN   1

Enumeration Type Documentation

◆ mod_idx

enum mod_idx
Enumerator
mod_none 
mod_memory 
mod_pci 
mod_isapnp 
mod_pnpdump 
mod_net 
mod_floppy 
mod_misc 
mod_bios 
mod_cpu 
mod_monitor 
mod_mouse 
mod_scsi 
mod_serial 
mod_usb 
mod_adb 
mod_modem 
mod_parallel 
mod_isa 
mod_isdn 
mod_kbd 
mod_prom 
mod_sbus 
mod_int 
mod_braille 
mod_xtra 
mod_sys 
mod_manual 
mod_fb 
mod_veth 
mod_pppoe 
mod_pcmcia 
mod_s390 
mod_sysfs 
mod_dsl 
mod_block 
mod_edd 
mod_input 
mod_wlan 
mod_hal 

Function Documentation

◆ add_hd_entry()

hd_t * add_hd_entry ( hd_data_t * hd_data,
unsigned line,
unsigned count )

References hd_data, and line.

◆ detect_smp_bios()

int detect_smp_bios ( hd_data_t * hd_data)

References hd_data.

Referenced by hd_smp_support().

◆ detect_smp_prom()

int detect_smp_prom ( hd_data_t * hd_data)

References hd_data.

Referenced by hd_smp_support().

◆ hd_log_printf()

void hd_log_printf ( hd_data_t * hd_data,
char * format,
... )

References hd_data, and hd_log_hex().

◆ str_printf()