Replace libusb class ID definitions with a manually curated list based directly off usb.org list. (#58)

This commit is contained in:
Sebastian Zagrodzki
2018-11-05 17:35:27 +01:00
committed by GitHub
parent da849d96b5
commit 0f73bf7aea

View File

@@ -22,26 +22,31 @@ import "strconv"
// Class represents a USB-IF (Implementers Forum) class or subclass code. // Class represents a USB-IF (Implementers Forum) class or subclass code.
type Class uint8 type Class uint8
// Standard classes defined by USB spec. // Standard classes defined by USB spec, see https://www.usb.org/defined-class-codes
const ( const (
ClassPerInterface Class = C.LIBUSB_CLASS_PER_INTERFACE ClassPerInterface Class = 0x00
ClassAudio Class = C.LIBUSB_CLASS_AUDIO ClassAudio Class = 0x01
ClassComm Class = C.LIBUSB_CLASS_COMM ClassComm Class = 0x02
ClassHID Class = C.LIBUSB_CLASS_HID ClassHID Class = 0x03
ClassPhysical Class = C.LIBUSB_CLASS_PHYSICAL ClassPhysical Class = 0x05
ClassPrinter Class = C.LIBUSB_CLASS_PRINTER ClassImage Class = 0x06
ClassPTP Class = C.LIBUSB_CLASS_PTP ClassPTP Class = ClassImage // legacy name for image
ClassMassStorage Class = C.LIBUSB_CLASS_MASS_STORAGE ClassPrinter Class = 0x07
ClassHub Class = C.LIBUSB_CLASS_HUB ClassMassStorage Class = 0x08
ClassData Class = C.LIBUSB_CLASS_DATA ClassHub Class = 0x09
ClassSmartCard Class = C.LIBUSB_CLASS_SMART_CARD ClassData Class = 0x0a
ClassContentSecurity Class = C.LIBUSB_CLASS_CONTENT_SECURITY ClassSmartCard Class = 0x0b
ClassVideo Class = C.LIBUSB_CLASS_VIDEO ClassContentSecurity Class = 0x0d
ClassPersonalHealthcare Class = C.LIBUSB_CLASS_PERSONAL_HEALTHCARE ClassVideo Class = 0x0e
ClassDiagnosticDevice Class = C.LIBUSB_CLASS_DIAGNOSTIC_DEVICE ClassPersonalHealthcare Class = 0x0f
ClassWireless Class = C.LIBUSB_CLASS_WIRELESS ClassAudioVideo Class = 0x10
ClassApplication Class = C.LIBUSB_CLASS_APPLICATION ClassBillboard Class = 0x11
ClassVendorSpec Class = C.LIBUSB_CLASS_VENDOR_SPEC ClassUSBTypeCBridge Class = 0x12
ClassDiagnosticDevice Class = 0xdc
ClassWireless Class = 0xe0
ClassMiscellaneous Class = 0xef
ClassApplication Class = 0xfe
ClassVendorSpec Class = 0xff
) )
var classDescription = map[Class]string{ var classDescription = map[Class]string{
@@ -50,8 +55,8 @@ var classDescription = map[Class]string{
ClassComm: "communications", ClassComm: "communications",
ClassHID: "human interface device", ClassHID: "human interface device",
ClassPhysical: "physical", ClassPhysical: "physical",
ClassImage: "image",
ClassPrinter: "printer", ClassPrinter: "printer",
ClassPTP: "picture transfer protocol",
ClassMassStorage: "mass storage", ClassMassStorage: "mass storage",
ClassHub: "hub", ClassHub: "hub",
ClassData: "data", ClassData: "data",
@@ -59,9 +64,13 @@ var classDescription = map[Class]string{
ClassContentSecurity: "content security", ClassContentSecurity: "content security",
ClassVideo: "video", ClassVideo: "video",
ClassPersonalHealthcare: "personal healthcare", ClassPersonalHealthcare: "personal healthcare",
ClassAudioVideo: "audio/video",
ClassBillboard: "billboard",
ClassUSBTypeCBridge: "USB type-C bridge",
ClassDiagnosticDevice: "diagnostic device", ClassDiagnosticDevice: "diagnostic device",
ClassWireless: "wireless", ClassWireless: "wireless",
ClassApplication: "application", ClassMiscellaneous: "miscellaneous",
ClassApplication: "application-specific",
ClassVendorSpec: "vendor-specific", ClassVendorSpec: "vendor-specific",
} }