char * manufact
Definition: hd.h:1081
unsigned major
Definition: hd.h:1013
char * unix_dev_name2
Special device file.
Definition: hd.h:2374
hd_id_t prog_if
(PCI) programming interface (id and name).
Definition: hd.h:2246
char * serial
Definition: hd.h:1081
#define LPIOC_GET_VID_PID(len)
Definition: usb.c:33
hd_id_t base_class
Base class (id and name).
Definition: hd.h:2236
void hd_scan_sysfs_usb(hd_data_t *hd_data)
Definition: usb.c:44
unsigned attached_to
Device this hardware is attached to.
Definition: hd.h:2331
@ device_class
Definition: isdn_cdb_def.h:12
hd_t * hd
Current hardware list.
Definition: hd.h:2615
str_list_t * search_str_list(str_list_t *sl, char *str)
Search a string list for a string.
Definition: hd.c:2469
@ bc_printer
Definition: hd.h:168
usb_t * data
Definition: hd.h:2082
void remove_hd_entries(hd_data_t *hd_data)
Definition: hd.c:2785
enum resource_types type
Definition: hd.h:1740
static void get_printer_devs(hd_data_t *hd_data)
Definition: usb.c:664
int i_prot
Definition: hd.h:1085
static void get_usb_devs(hd_data_t *hd_data)
Definition: usb.c:81
char * serial
Serial id.
Definition: hd.h:2292
char * hd_sysfs_find_driver(hd_data_t *hd_data, char *sysfs_id, int exact)
Definition: block.c:388
char * canon_str(char *s, int len)
Definition: hd.c:2196
static void read_usb_lp(hd_data_t *hd_data, hd_t *hd)
Definition: usb.c:768
@ bc_multimedia
Definition: hd.h:162
@ hd_detail_usb
Definition: hd.h:2069
char * new_str(const char *s)
Definition: hd.c:1582
str_list_t * read_dir(char *dir_name, int type)
Definition: hd.c:2581
@ sc_sdev_other
Definition: hd.h:238
#define PROGRESS(a, b, c)
Definition: hd_int.h:65
enum hd_detail_type type
Definition: hd.h:2147
str_list_t * hd_split(char del, const char *str)
Definition: hd.c:5181
char * modalias
module alias
Definition: hd.h:2594
struct s_str_list_t * next
Link to next member.
Definition: hd.h:411
int i_cls
Definition: hd.h:1085
hd_t * hd_find_sysfs_id(hd_data_t *hd_data, char *id)
Definition: hd.c:5782
@ sc_sdev_disk
Definition: hd.h:237
str_list_t * drivers
List of currently active drivers.
Definition: hd.h:2542
int type
Definition: hd.h:1012
static void set_class_entries(hd_data_t *hd_data, hd_t *hd, usb_t *usb)
Definition: usb.c:364
hd_id_t compat_device
Device id and name of some compatible hardware.
Definition: hd.h:2304
int d_cls
Definition: hd.h:1084
@ res_baud
Definition: hd.h:1641
char * unix_dev_name
Special device file.
Definition: hd.h:2353
@ sc_com_ser
Definition: hd.h:204
unsigned skip_modem
if serial line, don't scan for modems
Definition: hd.h:2517
unsigned speed
Definition: hd.h:1079
#define LPIOC_GET_DEVICE_ID(len)
Definition: usb.c:29
unsigned vendor
Definition: hd.h:1080
Individual hardware item.
Definition: hd.h:2201
@ bc_mouse
Definition: hd.h:167
unsigned device
Definition: hd.h:1080
libhd resource union
Definition: hd.h:1827
char * sysfs_bus_id
sysfs bus id for this hardware, if any.
Definition: hd.h:2341
struct s_hd_t * next
Link to next hardware item.
Definition: hd.h:2202
char * hd_sysfs_id(char *path)
Definition: hd.c:6073
hd_id_t device
Device id and name.
Definition: hd.h:2264
usb_t * usb
(Internal) usb info
Definition: hd.h:2702
@ bus_usb
Definition: hd.h:301
res_baud_t baud
Definition: hd.h:1837
str_list_t * free_str_list(str_list_t *list)
Free the memory allocated by a string list.
Definition: hd.c:2498
str_list_t * hd_module_list(hd_data_t *hd_data, unsigned id)
Definition: hd.c:5922
@ bc_network
Definition: hd.h:162
char * product
Definition: hd.h:1081
static void add_input_dev(hd_data_t *hd_data, char *name)
Definition: usb.c:501
#define TAG_USB
USB ids.
Definition: hd.h:87
unsigned module
(Internal) the current probing module we are in
Definition: hd.h:2686
char * model
Model name.
Definition: hd.h:2324
@ bc_none
Definition: hd.h:162
#define ADD2LOG(a...)
Definition: hd_int.h:66
String list type.
Definition: hd.h:410
void hd_set_hw_class(hd_t *hd, hd_hw_item_t hw_class)
Definition: hd.c:5297
#define MATCH_FIELD(field, var)
Definition: usb.c:762
unsigned speed
Definition: hd.h:1741
int load_module(hd_data_t *hd_data, char *module)
Definition: hd.c:3920
hd_detail_t * detail
Special info associated with this hardware.
Definition: hd.h:2438
#define LPIOC_GET_BUS_ADDRESS(len)
Definition: usb.c:31
hd_t * add_hd_entry(hd_data_t *hd_data, unsigned line, unsigned count)
Definition: hd.c:1782
@ sc_camera_digital
Definition: hd.h:266
@ bc_keyboard
Definition: hd.h:168
int d_sub
Definition: hd.h:1084
int hd_probe_feature(hd_data_t *hd_data, enum probe_feature feature)
Definition: hd.c:583
@ bc_storage_device
Definition: hd.h:168
hd_id_t sub_device
Subdevice id and name.
Definition: hd.h:2280
#define MAKE_ID(tag, id_val)
Combine tag and id value.
Definition: hd.h:105
int d_prot
Definition: hd.h:1084
device number; type is either 0 or 'b' or 'c'.
Definition: hd.h:1011
static void get_input_devs(hd_data_t *hd_data)
Definition: usb.c:626
unsigned id
Numeric id.
Definition: hd.h:401
hd_id_t compat_vendor
Vendor id and name of some compatible hardware.
Definition: hd.h:2298
char * sysfs_id
sysfs entry for this hardware, if any.
Definition: hd.h:2336
str_list_t * scanner_db
(Internal) list of scanner modules
Definition: hd.h:2735
int hd_attr_uint(char *attr, uint64_t *u, int base)
Definition: hd.c:6042
@ sc_sdev_tape
Definition: hd.h:237
hd_res_t * res
Device resources.
Definition: hd.h:2432
hd_id_t sub_class
Sub class (id and name).
Definition: hd.h:2241
@ pr_usb
Definition: hd.h:115
@ sc_multi_audio
Definition: hd.h:251
hd_dev_num_t unix_dev_num2
Device type & number according to sysfs.
Definition: hd.h:2379
@ sc_mou_usb
Definition: hd.h:231
unsigned remove
< this struct is for internal purposes only
Definition: hd.h:2513
@ bc_scanner
Definition: hd.h:169
hd_dev_num_t unix_dev_num
Device type & number according to sysfs.
Definition: hd.h:2358
hd_id_t sub_vendor
Subvendor id and name.
Definition: hd.h:2272
hd_id_t vendor
Vendor id and name.
Definition: hd.h:2254
char * name
Name (if any) that corresponds to hd_id_t::id.
Definition: hd.h:402
raw USB data
Definition: hd.h:1072
unsigned rev
Definition: hd.h:1080
hd_id_t bus
Bus type (id and name).
Definition: hd.h:2220
str_list_t * proc_usb
(Internal) /proc/bus/usb info
Definition: hd.h:2701
unsigned minor
Definition: hd.h:1013
unsigned idx
Unique index, starting at 1.
Definition: hd.h:2208
void remove_tagged_hd_entries(hd_data_t *hd_data)
Definition: hd.c:2803
@ bc_chipcard
Definition: hd.h:169
@ hw_bluetooth
Definition: hd.h:148
@ bc_comm
Definition: hd.h:163
static hd_data_t * hd_data
Definition: pppoe.c:29
void str_printf(char **buf, int offset, char *format,...)
Definition: hd.c:2406
hd_res_t * add_res_entry(hd_res_t **res, hd_res_t *new_res)
Definition: hd.c:1774
#define DEV_MICE
Definition: hd_int.h:38
char * hd_read_sysfs_link(char *base_dir, char *link_name)
Definition: hd.c:2658
hd_id_t revision
Revision id or string.
Definition: hd.h:2287
@ bc_modem
Definition: hd.h:167
unsigned func
(PCI) function.
Definition: hd.h:2231
str_list_t * add_str_list(str_list_t **sl, char *str)
Add a string to a string list.
Definition: hd.c:2484
@ bc_bluetooth
Definition: hd.h:170
@ bc_camera
Definition: hd.h:169
#define TAG_SPECIAL
Internally used ids.
Definition: hd.h:88
@ sc_sdev_cdrom
Definition: hd.h:237
int i_sub
Definition: hd.h:1085
@ bc_hub
Definition: hd.h:169
@ mod_usb
Definition: hd_int.h:80
unsigned module
(Internal) Probing module that created this entry.
Definition: hd.h:2417
unsigned range
Definition: hd.h:1013
hd_detail_usb_t usb
Definition: hd.h:2149
int ifdescr
Definition: hd.h:1078
Holds all data accumulated during hardware probing.
Definition: hd.h:2609
void * new_mem(size_t size)
Definition: hd.c:1540
@ sc_sdev_floppy
Definition: hd.h:237
void hd_sysfs_driver_list(hd_data_t *hd_data)
Definition: hd.c:5838
@ sc_keyboard_kbd
Definition: hd.h:256
static void get_serial_devs(hd_data_t *hd_data)
Definition: usb.c:831
char * str
Some string data.
Definition: hd.h:412
void * free_mem(void *p)
Definition: hd.c:1599
char * get_sysfs_attr_by_path(const char *path, const char *attr)
Definition: hd.c:6140
unsigned skip_mouse
if serial line, don't scan for mice
Definition: hd.h:2516