diff options
author | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2024-04-22 00:35:53 -0300 |
---|---|---|
committer | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2024-04-22 00:35:53 -0300 |
commit | 5f01c706267c595de92406a32e7f31ef5056c2d0 (patch) | |
tree | d1e74ef54efc41ada622900fe3e2a50dee44a237 /includes/usb_util.h | |
parent | 09fcc751ef158898c315ebc9299a0fa3a722d914 (diff) |
New upstream version 2.0.3preupstream/2.0.3pre
Diffstat (limited to 'includes/usb_util.h')
-rw-r--r-- | includes/usb_util.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/includes/usb_util.h b/includes/usb_util.h new file mode 100644 index 00000000..736a9237 --- /dev/null +++ b/includes/usb_util.h @@ -0,0 +1,78 @@ +/* + * HardInfo - Displays System Information + * Copyright (C) 2003-2017 L. A. F. Pereira <l@tia.mat.br> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 2 or later. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __USB_UTIL_H__ +#define __USB_UTIL_H__ + +/* this is a linked list */ +typedef struct usbd { + int bus, dev; + int vendor_id, product_id; + char *vendor; + char *product; + char *manufacturer; + char *device; + char *serial; + + int dev_class; + int dev_subclass; + int dev_protocol; + char *dev_class_str; + char *dev_subclass_str; + char *dev_protocol_str; + + char *usb_version; + char *device_version; /* bcdDevice */ + + int max_curr_ma; + + int speed_mbs; + + vendor_list vendors; + + gboolean user_scan; /* not scanned as root */ + struct usbi *if_list; + + struct usbd *next; +} usbd; + +/* another linked list */ +typedef struct usbi { + int if_number; + int if_class; + int if_subclass; + int if_protocol; + char *if_label; + char *if_class_str; + char *if_subclass_str; + char *if_protocol_str; + char *driver; + + struct usbi *next; +} usbi; + +usbd *usb_get_device_list(); +int usbd_list_count(usbd *); +void usbd_list_free(usbd *); +void usb_lookup_ids_vendor_product_str(gint vendor_id, gint product_id, + gchar **vendor_str, gchar **product_str); + +usbd *usb_get_device(int bus, int dev, const gchar* sysfspath); +void usbd_free(usbd *); + +#endif |