usbutils/names.h
Greg Kroah-Hartman 0cc65720ad lsusb: add fallback names for 'lsusb -v' output
Previously the -v output would not show the vendor/product names if they
were not in the hwdb.  Change that to look in sysfs as well if the
database does not have a string, as that's what the non-v version does.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-10-30 12:26:33 +01:00

43 lines
1.7 KiB
C

// SPDX-License-Identifier: GPL-2.0-or-later
/*
* USB name database manipulation routines
*
* Copyright (C) 1999, 2000 Thomas Sailer (sailer@ife.ee.ethz.ch)
*/
#ifndef _NAMES_H
#define _NAMES_H
/* ---------------------------------------------------------------------- */
extern const char *names_vendor(uint16_t vendorid);
extern const char *names_product(uint16_t vendorid, uint16_t productid);
extern const char *names_class(uint8_t classid);
extern const char *names_subclass(uint8_t classid, uint8_t subclassid);
extern const char *names_protocol(uint8_t classid, uint8_t subclassid,
uint8_t protocolid);
extern const char *names_audioterminal(uint16_t termt);
extern const char *names_videoterminal(uint16_t termt);
extern const char *names_hid(uint8_t hidd);
extern const char *names_reporttag(uint8_t rt);
extern const char *names_huts(unsigned int data);
extern const char *names_hutus(unsigned int data);
extern const char *names_langid(uint16_t langid);
extern const char *names_physdes(uint8_t ph);
extern const char *names_bias(uint8_t b);
extern const char *names_countrycode(unsigned int countrycode);
extern int get_vendor_string(char *buf, size_t size, uint16_t vid);
extern int get_product_string(char *buf, size_t size, uint16_t vid, uint16_t pid);
extern int get_class_string(char *buf, size_t size, uint8_t cls);
extern int get_subclass_string(char *buf, size_t size, uint8_t cls, uint8_t subcls);
extern void get_vendor_product_with_fallback(char *vendor, int vendor_len,
char *product, int product_len,
libusb_device *dev);
extern int names_init(void);
extern void names_exit(void);
/* ---------------------------------------------------------------------- */
#endif /* _NAMES_H */