libhd  5.0
Macros | Enumerations | Functions
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)   progress(hd_data, a, b, c)
 
#define ADD2LOG(a...)   hd_log_printf(hd_data, a)
 
#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)
 
unsigned name2eisa_id (char *)
 
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_tsearch_str_list (str_list_t *sl, char *str)
 
str_list_tadd_str_list (str_list_t **sl, char *str)
 
str_list_tfree_str_list (str_list_t *list)
 
str_list_treverse_str_list (str_list_t *list)
 
str_list_tread_file (char *file_name, unsigned start_line, unsigned lines)
 
str_list_tread_dir (char *dir_name, int type)
 
str_list_tread_dir_canonical (char *dir_name, int type)
 
char * hd_read_sysfs_link (char *base_dir, char *link_name)
 
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)
 
str_list_thd_split (char del, const char *str)
 
char * hd_join (char *del, str_list_t *str)
 
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...)    hd_log_printf(hd_data, a)

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

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

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

◆ 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

#define PROGRESS (   a,
  b,
 
)    progress(hd_data, a, b, c)

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

str_list_t* add_str_list ( str_list_t **  sl,
char *  str 
)
related

◆ detect_smp_bios()

int detect_smp_bios ( hd_data_t hd_data)

Referenced by hd_smp_support().

◆ detect_smp_prom()

int detect_smp_prom ( hd_data_t hd_data)

Referenced by hd_smp_support().

◆ free_str_list()

str_list_t* free_str_list ( str_list_t list)
related

◆ hd_log_printf()

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

◆ load_module()

int load_module ( hd_data_t hd_data,
char *  module 
)

◆ reverse_str_list()

str_list_t* reverse_str_list ( str_list_t list)
related

◆ search_str_list()

str_list_t* search_str_list ( str_list_t sl,
char *  str 
)
related

◆ str_printf()

void str_printf ( char **  buf,
int  offset,
char *  format,
  ... 
)