1 #define PROC_CMDLINE "/proc/cmdline" 2 #define PROC_PCI_DEVICES "/proc/bus/pci/devices" 3 #define PROC_PCI_BUS "/proc/bus/pci" 4 #define PROC_CPUINFO "/proc/cpuinfo" 5 #define PROC_IOPORTS "/proc/ioports" 6 #define PROC_DMA "/proc/dma" 7 #define PROC_INTERRUPTS "/proc/interrupts" 8 #define PROC_NVRAM_22 "/proc/driver/nvram" 9 #define PROC_NVRAM_24 "/proc/nvram" 10 #define PROC_IDE "/proc/ide" 11 #define PROC_SCSI "/proc/scsi" 12 #define PROC_CDROM_INFO "/proc/sys/dev/cdrom/info" 13 #define PROC_NET_IF_INFO "/proc/net/dev" 14 #define PROC_MODULES "/proc/modules" 15 #define PROC_DRIVER_SERIAL "/proc/tty/driver/serial" 16 #define PROC_DRIVER_MACSERIAL "/proc/tty/driver/macserial" 17 #define PROC_PARPORT_22 "/proc/parport/" 18 #define PROC_PARPORT_24 "/proc/sys/dev/parport/parport" 19 #define PROC_KCORE "/proc/kcore" 21 #define PROC_USB_DEVICES "/proc/bus/usb/devices_please-use-sysfs-instead" 22 #define PROC_PROM "/proc/device-tree" 23 #define PROC_MEMINFO "/proc/meminfo" 24 #define PROC_VERSION "/proc/version" 25 #define PROC_ISAPNP "/proc/isapnp" 26 #define PROC_PARTITIONS "/proc/partitions" 27 #define PROC_APM "/proc/apm" 28 #define PROC_XEN_BALLOON "/proc/xen/balloon" 30 #define DEV_NVRAM "/dev/nvram" 31 #define DEV_PSAUX "/dev/psaux" 32 #define DEV_ADBMOUSE "/dev/adbmouse" 33 #define DEV_MEM "/dev/mem" 34 #define DEV_KBD "/dev/kbd" 35 #define DEV_CONSOLE "/dev/console" 36 #define DEV_OPENPROM "/dev/openprom" 37 #define DEV_SUNMOUSE "/dev/sunmouse" 38 #define DEV_MICE "/dev/input/mice" 39 #define DEV_FB "/dev/fb" 40 #define DEV_FB0 "/dev/fb0" 42 #define PROG_MODPROBE "/sbin/modprobe" 43 #define PROG_RMMOD "/sbin/rmmod" 44 #define PROG_CARDCTL "/sbin/cardctl" 45 #define PROG_UDEVINFO "/usr/bin/udevinfo" 46 #define PROG_UDEVADM "/usr/bin/udevadm" 48 #define KLOG_BOOT "/var/log/boot.msg" 49 #define ISAPNP_CONF "/etc/isapnp.conf" 51 #define KERNEL_22 0x020200 52 #define KERNEL_24 0x020400 53 #define KERNEL_26 0x020600 55 #if defined(__s390__) || defined(__s390x__) || defined(__alpha__) || defined(LIBHD_TINY) 63 #define MAX_ATTR_SIZE 0x10000 65 #define PROGRESS(a, b, c) progress(hd_data, a, b, c) 66 #define ADD2LOG(a...) hd_log_printf(hd_data, a) 72 #undef NUMERIC_UNIQUE_ID 88 void *
add_mem(
void *,
size_t,
size_t);
109 int hex(
char *
string,
int digits);
115 void str_printf(
char **buf,
int offset,
char *format, ...) __attribute__ ((format (printf, 3, 4)));
116 void hexdump(
char **buf,
int with_ascii,
unsigned data_len,
unsigned char *data);
140 int hd_timeout(
void(*func)(
void *),
void *arg,
int timeout);
170 #define W_IO (1 << 0) 171 #define W_DMA (1 << 1) 172 #define W_IRQ (1 << 2) hal_prop_t * hal_get_bool(hal_prop_t *prop, const char *key)
Definition: hal.c:289
devtree_t * free_devtree(hd_data_t *hd_data)
Definition: hd.c:4353
char * eisa_vendor_str(unsigned)
Definition: hd.c:2163
void * free_mem(void *)
Definition: hd.c:1603
mod_idx
Definition: hd_int.h:77
str_list_t * get_cmdline(hd_data_t *hd_data, char *key)
Definition: hd.c:3641
void remove_hd_entries(hd_data_t *hd_data)
Definition: hd.c:2789
int hd_getdisksize(hd_data_t *hd_data, char *dev, int fd, hd_res_t **geo, hd_res_t **size)
Definition: hd.c:5065
char * get_cmd_param(hd_data_t *hd_data, int field)
Definition: hd.c:3696
scsi_t * free_scsi(scsi_t *scsi, int free_all)
Definition: hd.c:1481
char * hd_sysfs_find_driver(hd_data_t *hd_data, char *sysfs_id, int exact)
Definition: block.c:399
char * new_str(const char *)
Definition: hd.c:1586
str_list_t * read_dir(char *dir_name, int type)
Definition: hd.c:2585
int run_cmd(hd_data_t *hd_data, char *cmd)
Definition: hd.c:3865
str_list_t * read_kmods(hd_data_t *hd_data)
Definition: hd.c:3616
str_list_t * search_str_list(str_list_t *sl, char *str)
Definition: hd.c:2473
hal_prop_t * hal_get_list(hal_prop_t *prop, const char *key)
Definition: hal.c:338
void * resize_mem(void *, size_t)
Definition: hd.c:1560
misc_t * free_misc(misc_t *m)
Definition: hd.c:1448
char * canon_str(char *, int)
Definition: hd.c:2200
int detect_smp_bios(hd_data_t *hd_data)
str_list_t * hd_split(char del, const char *str)
Definition: hd.c:5185
int hex(char *string, int digits)
Definition: hd.c:2228
int type
Definition: hd.h:1156
void join_res_irq(hd_res_t **res1, hd_res_t *res2)
Definition: hd.c:1658
hd_t * hd_find_sysfs_id(hd_data_t *hd_data, char *id)
Definition: hd.c:5786
libhd resource union
Definition: hd.h:1827
HAL device.
Definition: hd.h:1629
void hal_invalidate(hal_prop_t *prop)
Definition: hal.c:262
hal_device_t * hal_find_device(hd_data_t *hd_data, char *udi)
Definition: hal.c:248
char * hd_sysfs_id(char *path)
Definition: hd.c:6077
int str2float(char *s, int n)
Definition: hd.c:2242
str_list_t * hd_module_list(hd_data_t *hd_data, unsigned id)
Definition: hd.c:5926
hal_prop_t * hal_add_new(hal_prop_t **prop)
Definition: hal.c:348
Individual hardware item.
Definition: hd.h:2201
void join_res_dma(hd_res_t **res1, hd_res_t *res2)
Definition: hd.c:1678
unsigned name2eisa_id(char *)
Definition: hd.c:2179
str_list_t * read_dir_canonical(char *dir_name, int type)
Definition: hd.c:2646
hd_detail_t * free_hd_detail(hd_detail_t *d)
Definition: hd.c:1222
char * get_sysfs_attr_by_path2(const char *path, const char *attr, unsigned *len)
Definition: hd.c:6153
Definition: isdn_cdb_def.h:22
void hd_fork_done(hd_data_t *hd_data)
Definition: hd.c:5434
char * hal_get_useful_str(hal_prop_t *prop, const char *key)
Definition: hal.c:319
str_list_t * sort_str_list(str_list_t *sl0, int(*cmp_func)(const void *, const void *))
Definition: hd.c:6214
unsigned has_something_attached(hd_data_t *hd_data, hd_t *hd)
Definition: hd.c:4172
String list type.
Definition: hd.h:410
int unload_module(hd_data_t *hd_data, char *module)
Definition: hd.c:3929
void hd_copy(hd_t *dst, hd_t *src)
Definition: hd.c:3259
int load_module(hd_data_t *hd_data, char *module)
Definition: hd.c:3924
int hd_report_this(hd_data_t *hd_data, hd_t *hd)
Definition: hd.c:5916
str_list_t * free_str_list(str_list_t *list)
Definition: hd.c:2502
char * float2str(int i, int n)
Definition: hd.c:2273
hd_t * add_hd_entry(hd_data_t *hd_data, unsigned line, unsigned count)
Definition: hd.c:1786
char * hd_get_hddb_dir(void)
Definition: hd.c:6022
void join_res_io(hd_res_t **res1, hd_res_t *res2)
Definition: hd.c:1610
int get_probe_val_int(hd_data_t *hd_data, enum probe_feature feature)
Definition: hd.c:394
str_list_t * subcomponent_list(str_list_t *list, char *comp, int max)
Definition: hd.c:2689
hal_prop_t * hal_get_int32(hal_prop_t *prop, const char *key)
Definition: hal.c:299
probe_feature
flags to control the probing.
Definition: hd.h:112
char * get_probe_val_str(hd_data_t *hd_data, enum probe_feature feature)
Definition: hd.c:409
void hd_add_id(hd_data_t *hd_data, hd_t *hd)
Definition: hd.c:4284
hal_prop_t * hal_get_any(hal_prop_t *prop, const char *key)
Definition: hal.c:279
Serial device configuration information.
Definition: hd.h:1899
raw SCSI data
Definition: hd.h:1144
int hd_attr_uint(char *attr, uint64_t *u, int base)
Definition: hd.c:6046
void hd_move_to_shm(hd_data_t *hd_data)
Definition: hd.c:5623
int hd_is_shm_ptr(hd_data_t *hd_data, void *ptr)
Definition: hd.c:5589
char * hd_sysfs_dev2_name(char *str)
Definition: hd.c:6110
char * hd_sysfs_name2_dev(char *str)
Definition: hd.c:6089
hal_prop_t * hal_get_str(hal_prop_t *prop, const char *key)
Definition: hal.c:309
int hd_mod_cmp(char *str1, char *str2)
Definition: hd.c:6194
hal_device_t * hd_free_hal_devices(hal_device_t *dev)
Definition: hd.c:1097
void void hexdump(char **buf, int with_ascii, unsigned data_len, unsigned char *data)
Definition: hd.c:2449
int load_module_with_params(hd_data_t *hd_data, char *module, char *params)
Definition: hd.c:3905
str_list_t * get_probe_val_list(hd_data_t *hd_data, enum probe_feature feature)
Definition: hd.c:424
void hd_shm_init(hd_data_t *hd_data)
Definition: hd.c:5490
driver_info_t * free_driver_info(driver_info_t *di)
Definition: hd.c:1116
int probe_module(hd_data_t *hd_data, char *module)
Definition: hd.c:3886
Definition: isdn_cdb_def.h:6
static char line[1024]
Definition: cdbisdn.c:29
void hd_fork(hd_data_t *hd_data, int timeout, int total_timeout)
Definition: hd.c:5337
void gather_resources(misc_t *m, hd_res_t **r, char *name, unsigned which)
Definition: misc.c:603
void * hd_shm_add(hd_data_t *hd_data, void *ptr, unsigned len)
Definition: hd.c:5565
void hd_pci_read_data(hd_data_t *hd_data)
Definition: pci.c:144
str_list_t * hd_attr_list(char *str)
Definition: hd.c:6064
char * hd_get_hddb_path(char *sub)
Definition: hd.c:6033
static hd_data_t * hd_data
Definition: pppoe.c:30
void remove_tagged_hd_entries(hd_data_t *hd_data)
Definition: hd.c:2807
void update_irq_usage(hd_data_t *hd_data)
Definition: hd.c:3838
int detect_smp_prom(hd_data_t *hd_data)
char * hd_join(char *del, str_list_t *str)
Definition: hd.c:5204
PROM tree on PPC.
Definition: hd.h:1181
HAL device properties.
Definition: hd.h:1611
hd_res_t * free_res_list(hd_res_t *res)
Definition: hd.c:1735
void hd_shm_clean(hd_data_t *hd_data)
Definition: hd.c:5530
char * hd_read_sysfs_link(char *base_dir, char *link_name)
Definition: hd.c:2662
str_list_t * reverse_str_list(str_list_t *list)
Definition: hd.c:2517
void read_udevinfo(hd_data_t *hd_data)
Definition: hd.c:5689
int cmp_hd(hd_t *hd1, hd_t *hd2)
Definition: hd.c:3948
int hd_timeout(void(*func)(void *), void *arg, int timeout)
Definition: hd.c:3563
void hal_invalidate_all(hal_prop_t *prop, const char *key)
Definition: hal.c:271
void str_printf(char **buf, int offset, char *format,...) __attribute__((format(printf
void progress(hd_data_t *hd_data, unsigned pos, unsigned count, char *msg)
Definition: hd.c:2730
hd_t * hd_find_sysfs_id_devname(hd_data_t *hd_data, char *id, char *devname)
Definition: hd.c:5800
str_list_t * add_str_list(str_list_t **sl, char *str)
Definition: hd.c:2488
void hd_log(hd_data_t *hd_data, char *buf, ssize_t len)
Definition: hd.c:2344
char * vend_id2str(unsigned vend)
Definition: hd.c:4478
void hd_pci_complete_data(hd_t *hd)
Definition: pci.c:479
char * mod_name_by_idx(unsigned idx)
Definition: hd.c:2333
hd_res_t * add_res_entry(hd_res_t **res, hd_res_t *new_res)
Definition: hd.c:1778
void * add_mem(void *, size_t, size_t)
Definition: hd.c:1572
char * hd_hal_print_prop(hal_prop_t *prop)
Definition: hal.c:439
unsigned char * read_block0(hd_data_t *hd_data, char *dev, int *timeout)
Definition: hd.c:4397
void hd_log_printf(hd_data_t *hd_data, char *format,...) __attribute__((format(printf
void hd_sysfs_driver_list(hd_data_t *hd_data)
Definition: hd.c:5842
void hd_shm_done(hd_data_t *hd_data)
Definition: hd.c:5552
Definition: isdn_cdb_def.h:25
char * isa_id2str(unsigned)
Definition: hd.c:2148
char * get_sysfs_attr(const char *bus, const char *device, const char *attr)
Definition: hd.c:6128
uint64_t size
Definition: hd.h:1163
char * get_sysfs_attr_by_path(const char *path, const char *attr)
Definition: hd.c:6144
int is_pnpinfo(ser_device_t *mi, int ofs)
Definition: modem.c:852
int have_common_res(hd_res_t *res1, hd_res_t *res2)
Definition: hd.c:1701
int has_subcomponent(str_list_t *list, char *comp)
Definition: hd.c:2716
str_list_t * read_file(char *file_name, unsigned start_line, unsigned lines)
Definition: hd.c:2536
void * new_mem(size_t size)
Definition: hd.c:1544
void void hd_log_hex(hd_data_t *hd_data, int with_ascii, unsigned data_len, unsigned char *data)
Definition: hd.c:2386
Holds all data accumulated during hardware probing.
Definition: hd.h:2609
int is_pcmcia_ctrl(hd_data_t *hd_data, hd_t *hd)
Definition: hd.c:5235