summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelectretmike <[email protected]>2024-10-30 08:06:19 +0100
committersakumisu <[email protected]>2024-10-30 15:11:46 +0800
commit149fb046bcadcec1caecc5f23ad18a9cc49458f6 (patch)
treebd9e0f2e89b0389785899bbd5b5c1d58f087008f
parentf437b3e51c65bd6c7022dcf6e9eac9fded005d5c (diff)
fix: rename class to class_code, for c++ compatibility (#269)
Co-authored-by: Michiel van Leeuwen <[email protected]>
-rw-r--r--class/audio/usbh_audio.c12
-rw-r--r--class/cdc/usbh_cdc_acm.c12
-rw-r--r--class/cdc/usbh_cdc_ecm.c6
-rw-r--r--class/cdc/usbh_cdc_ncm.c6
-rw-r--r--class/hid/usbh_hid.c6
-rw-r--r--class/hub/usbh_hub.c6
-rw-r--r--class/msc/usbh_msc.c6
-rw-r--r--class/template/usbh_xxx.c6
-rw-r--r--class/vendor/net/usbh_asix.c6
-rw-r--r--class/vendor/net/usbh_rtl8152.c6
-rw-r--r--class/vendor/serial/usbh_ch34x.c6
-rw-r--r--class/vendor/serial/usbh_cp210x.c6
-rw-r--r--class/vendor/serial/usbh_ftdi.c6
-rw-r--r--class/vendor/serial/usbh_pl2303.c6
-rw-r--r--class/vendor/wifi/usbh_bl616.c6
-rw-r--r--class/vendor/xbox/usbh_xbox.c6
-rw-r--r--class/video/usbh_video.c12
-rw-r--r--class/wireless/usbh_bluetooth.c12
-rw-r--r--class/wireless/usbh_rndis.c6
-rw-r--r--core/usbh_core.c6
-rw-r--r--core/usbh_core.h6
21 files changed, 75 insertions, 75 deletions
diff --git a/class/audio/usbh_audio.c b/class/audio/usbh_audio.c
index 9e838bba..0192cd3d 100644
--- a/class/audio/usbh_audio.c
+++ b/class/audio/usbh_audio.c
@@ -537,18 +537,18 @@ const struct usbh_class_driver audio_streaming_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info audio_ctrl_intf_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS,
- .class = USB_DEVICE_CLASS_AUDIO,
- .subclass = AUDIO_SUBCLASS_AUDIOCONTROL,
- .protocol = 0x00,
+ .bInterfaceClass = USB_DEVICE_CLASS_AUDIO,
+ .bInterfaceSubClass = AUDIO_SUBCLASS_AUDIOCONTROL,
+ .bInterfaceProtocol = 0x00,
.id_table = NULL,
.class_driver = &audio_ctrl_class_driver
};
CLASS_INFO_DEFINE const struct usbh_class_info audio_streaming_intf_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS,
- .class = USB_DEVICE_CLASS_AUDIO,
- .subclass = AUDIO_SUBCLASS_AUDIOSTREAMING,
- .protocol = 0x00,
+ .bInterfaceClass = USB_DEVICE_CLASS_AUDIO,
+ .bInterfaceSubClass = AUDIO_SUBCLASS_AUDIOSTREAMING,
+ .bInterfaceProtocol = 0x00,
.id_table = NULL,
.class_driver = &audio_streaming_class_driver
};
diff --git a/class/cdc/usbh_cdc_acm.c b/class/cdc/usbh_cdc_acm.c
index ceb5ad0c..53666b32 100644
--- a/class/cdc/usbh_cdc_acm.c
+++ b/class/cdc/usbh_cdc_acm.c
@@ -267,18 +267,18 @@ const struct usbh_class_driver cdc_data_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info cdc_acm_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS,
- .class = USB_DEVICE_CLASS_CDC,
- .subclass = CDC_ABSTRACT_CONTROL_MODEL,
- .protocol = 0x00,
+ .bInterfaceClass = USB_DEVICE_CLASS_CDC,
+ .bInterfaceSubClass = CDC_ABSTRACT_CONTROL_MODEL,
+ .bInterfaceProtocol = 0x00,
.id_table = NULL,
.class_driver = &cdc_acm_class_driver
};
CLASS_INFO_DEFINE const struct usbh_class_info cdc_data_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS,
- .class = USB_DEVICE_CLASS_CDC_DATA,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = USB_DEVICE_CLASS_CDC_DATA,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = NULL,
.class_driver = &cdc_data_class_driver
};
diff --git a/class/cdc/usbh_cdc_ecm.c b/class/cdc/usbh_cdc_ecm.c
index 76cfb41a..c4743e56 100644
--- a/class/cdc/usbh_cdc_ecm.c
+++ b/class/cdc/usbh_cdc_ecm.c
@@ -323,9 +323,9 @@ const struct usbh_class_driver cdc_ecm_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info cdc_ecm_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = USB_DEVICE_CLASS_CDC,
- .subclass = CDC_ETHERNET_NETWORKING_CONTROL_MODEL,
- .protocol = CDC_COMMON_PROTOCOL_NONE,
+ .bInterfaceClass = USB_DEVICE_CLASS_CDC,
+ .bInterfaceSubClass = CDC_ETHERNET_NETWORKING_CONTROL_MODEL,
+ .bInterfaceProtocol = CDC_COMMON_PROTOCOL_NONE,
.id_table = NULL,
.class_driver = &cdc_ecm_class_driver
}; \ No newline at end of file
diff --git a/class/cdc/usbh_cdc_ncm.c b/class/cdc/usbh_cdc_ncm.c
index 094241aa..f9f3c533 100644
--- a/class/cdc/usbh_cdc_ncm.c
+++ b/class/cdc/usbh_cdc_ncm.c
@@ -403,9 +403,9 @@ const struct usbh_class_driver cdc_ncm_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info cdc_ncm_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = USB_DEVICE_CLASS_CDC,
- .subclass = CDC_NETWORK_CONTROL_MODEL,
- .protocol = CDC_COMMON_PROTOCOL_NONE,
+ .bInterfaceClass = USB_DEVICE_CLASS_CDC,
+ .bInterfaceSubClass = CDC_NETWORK_CONTROL_MODEL,
+ .bInterfaceProtocol = CDC_COMMON_PROTOCOL_NONE,
.id_table = NULL,
.class_driver = &cdc_ncm_class_driver
};
diff --git a/class/hid/usbh_hid.c b/class/hid/usbh_hid.c
index de1ddc07..0fd58abb 100644
--- a/class/hid/usbh_hid.c
+++ b/class/hid/usbh_hid.c
@@ -303,9 +303,9 @@ const struct usbh_class_driver hid_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info hid_custom_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS,
- .class = USB_DEVICE_CLASS_HID,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = USB_DEVICE_CLASS_HID,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = NULL,
.class_driver = &hid_class_driver
};
diff --git a/class/hub/usbh_hub.c b/class/hub/usbh_hub.c
index 2bcf4ddb..9dae3966 100644
--- a/class/hub/usbh_hub.c
+++ b/class/hub/usbh_hub.c
@@ -734,9 +734,9 @@ const struct usbh_class_driver hub_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info hub_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS,
- .class = USB_DEVICE_CLASS_HUB,
- .subclass = 0,
- .protocol = 0,
+ .bInterfaceClass = USB_DEVICE_CLASS_HUB,
+ .bInterfaceSubClass = 0,
+ .bInterfaceProtocol = 0,
.id_table = NULL,
.class_driver = &hub_class_driver
};
diff --git a/class/msc/usbh_msc.c b/class/msc/usbh_msc.c
index 1327175f..96cb53d2 100644
--- a/class/msc/usbh_msc.c
+++ b/class/msc/usbh_msc.c
@@ -443,9 +443,9 @@ const struct usbh_class_driver msc_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info msc_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = USB_DEVICE_CLASS_MASS_STORAGE,
- .subclass = MSC_SUBCLASS_SCSI,
- .protocol = MSC_PROTOCOL_BULK_ONLY,
+ .bInterfaceClass = USB_DEVICE_CLASS_MASS_STORAGE,
+ .bInterfaceSubClass = MSC_SUBCLASS_SCSI,
+ .bInterfaceProtocol = MSC_PROTOCOL_BULK_ONLY,
.id_table = NULL,
.class_driver = &msc_class_driver
};
diff --git a/class/template/usbh_xxx.c b/class/template/usbh_xxx.c
index 78d531fc..4456b3c4 100644
--- a/class/template/usbh_xxx.c
+++ b/class/template/usbh_xxx.c
@@ -89,9 +89,9 @@ static const struct usbh_class_driver xxx_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info xxx_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = 0,
- .subclass = 0,
- .protocol = 0,
+ .bInterfaceClass = 0,
+ .bInterfaceSubClass = 0,
+ .bInterfaceProtocol = 0,
.id_table = NULL,
.class_driver = &xxx_class_driver
};
diff --git a/class/vendor/net/usbh_asix.c b/class/vendor/net/usbh_asix.c
index e8c7eb15..66c1f078 100644
--- a/class/vendor/net/usbh_asix.c
+++ b/class/vendor/net/usbh_asix.c
@@ -817,9 +817,9 @@ static const struct usbh_class_driver asix_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info asix_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS,
- .class = 0xff,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = asix_id_table,
.class_driver = &asix_class_driver
}; \ No newline at end of file
diff --git a/class/vendor/net/usbh_rtl8152.c b/class/vendor/net/usbh_rtl8152.c
index 778ab264..10fc0483 100644
--- a/class/vendor/net/usbh_rtl8152.c
+++ b/class/vendor/net/usbh_rtl8152.c
@@ -2272,9 +2272,9 @@ static const struct usbh_class_driver rtl8152_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info rtl8152_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS,
- .class = 0xff,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = rtl_id_table,
.class_driver = &rtl8152_class_driver
};
diff --git a/class/vendor/serial/usbh_ch34x.c b/class/vendor/serial/usbh_ch34x.c
index d0de5b4c..3bee462d 100644
--- a/class/vendor/serial/usbh_ch34x.c
+++ b/class/vendor/serial/usbh_ch34x.c
@@ -370,9 +370,9 @@ const struct usbh_class_driver ch34x_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info ch34x_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS,
- .class = 0xff,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = ch34x_id_table,
.class_driver = &ch34x_class_driver
}; \ No newline at end of file
diff --git a/class/vendor/serial/usbh_cp210x.c b/class/vendor/serial/usbh_cp210x.c
index 4cd06b95..6f41b41b 100644
--- a/class/vendor/serial/usbh_cp210x.c
+++ b/class/vendor/serial/usbh_cp210x.c
@@ -319,9 +319,9 @@ const struct usbh_class_driver cp210x_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info cp210x_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS,
- .class = 0xff,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = cp210x_id_table,
.class_driver = &cp210x_class_driver
}; \ No newline at end of file
diff --git a/class/vendor/serial/usbh_ftdi.c b/class/vendor/serial/usbh_ftdi.c
index 4ed69839..82defaab 100644
--- a/class/vendor/serial/usbh_ftdi.c
+++ b/class/vendor/serial/usbh_ftdi.c
@@ -392,9 +392,9 @@ const struct usbh_class_driver ftdi_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info ftdi_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS,
- .class = 0xff,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = ftdi_id_table,
.class_driver = &ftdi_class_driver
}; \ No newline at end of file
diff --git a/class/vendor/serial/usbh_pl2303.c b/class/vendor/serial/usbh_pl2303.c
index 42c963db..01ee700f 100644
--- a/class/vendor/serial/usbh_pl2303.c
+++ b/class/vendor/serial/usbh_pl2303.c
@@ -440,9 +440,9 @@ const struct usbh_class_driver pl2303_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info pl2303_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS,
- .class = 0xff,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = pl2303_id_table,
.class_driver = &pl2303_class_driver
}; \ No newline at end of file
diff --git a/class/vendor/wifi/usbh_bl616.c b/class/vendor/wifi/usbh_bl616.c
index 34cbcf87..9275faac 100644
--- a/class/vendor/wifi/usbh_bl616.c
+++ b/class/vendor/wifi/usbh_bl616.c
@@ -504,9 +504,9 @@ static const struct usbh_class_driver bl616_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info bl616_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS,
- .class = 0xff,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = bl616_id_table,
.class_driver = &bl616_class_driver
};
diff --git a/class/vendor/xbox/usbh_xbox.c b/class/vendor/xbox/usbh_xbox.c
index ecfb4651..0c3339c9 100644
--- a/class/vendor/xbox/usbh_xbox.c
+++ b/class/vendor/xbox/usbh_xbox.c
@@ -220,9 +220,9 @@ static const uint16_t xbox_id_table[][2] = {
CLASS_INFO_DEFINE const struct usbh_class_info xbox_custom_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = USB_DEVICE_CLASS_VEND_SPECIFIC,
- .subclass = 0x5d,
- .protocol = 0x01,
+ .bInterfaceClass = USB_DEVICE_CLASS_VEND_SPECIFIC,
+ .bInterfaceSubClass = 0x5d,
+ .bInterfaceProtocol = 0x01,
.id_table = xbox_id_table,
.class_driver = &xbox_class_driver
};
diff --git a/class/video/usbh_video.c b/class/video/usbh_video.c
index 043eb1d6..73791512 100644
--- a/class/video/usbh_video.c
+++ b/class/video/usbh_video.c
@@ -531,18 +531,18 @@ const struct usbh_class_driver video_streaming_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info video_ctrl_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = USB_DEVICE_CLASS_VIDEO,
- .subclass = VIDEO_SC_VIDEOCONTROL,
- .protocol = VIDEO_PC_PROTOCOL_UNDEFINED,
+ .bInterfaceClass = USB_DEVICE_CLASS_VIDEO,
+ .bInterfaceSubClass = VIDEO_SC_VIDEOCONTROL,
+ .bInterfaceProtocol = VIDEO_PC_PROTOCOL_UNDEFINED,
.id_table = NULL,
.class_driver = &video_ctrl_class_driver
};
CLASS_INFO_DEFINE const struct usbh_class_info video_streaming_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = USB_DEVICE_CLASS_VIDEO,
- .subclass = VIDEO_SC_VIDEOSTREAMING,
- .protocol = VIDEO_PC_PROTOCOL_UNDEFINED,
+ .bInterfaceClass = USB_DEVICE_CLASS_VIDEO,
+ .bInterfaceSubClass = VIDEO_SC_VIDEOSTREAMING,
+ .bInterfaceProtocol = VIDEO_PC_PROTOCOL_UNDEFINED,
.id_table = NULL,
.class_driver = &video_streaming_class_driver
};
diff --git a/class/wireless/usbh_bluetooth.c b/class/wireless/usbh_bluetooth.c
index 9f78866a..991f0957 100644
--- a/class/wireless/usbh_bluetooth.c
+++ b/class/wireless/usbh_bluetooth.c
@@ -393,18 +393,18 @@ static const uint16_t bluetooth_id_table[][2] = {
CLASS_INFO_DEFINE const struct usbh_class_info bluetooth_h4_nrf_class_info = {
.match_flags = USB_CLASS_MATCH_VID_PID | USB_CLASS_MATCH_INTF_CLASS,
- .class = 0xff,
- .subclass = 0x00,
- .protocol = 0x00,
+ .bInterfaceClass = 0xff,
+ .bInterfaceSubClass = 0x00,
+ .bInterfaceProtocol = 0x00,
.id_table = bluetooth_id_table,
.class_driver = &bluetooth_class_driver
};
#else
CLASS_INFO_DEFINE const struct usbh_class_info bluetooth_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = USB_DEVICE_CLASS_WIRELESS,
- .subclass = 0x01,
- .protocol = 0x01,
+ .bInterfaceClass = USB_DEVICE_CLASS_WIRELESS,
+ .bInterfaceSubClass = 0x01,
+ .bInterfaceProtocol = 0x01,
.id_table = NULL,
.class_driver = &bluetooth_class_driver
};
diff --git a/class/wireless/usbh_rndis.c b/class/wireless/usbh_rndis.c
index fa53f840..e9eaff01 100644
--- a/class/wireless/usbh_rndis.c
+++ b/class/wireless/usbh_rndis.c
@@ -600,9 +600,9 @@ static const struct usbh_class_driver rndis_class_driver = {
CLASS_INFO_DEFINE const struct usbh_class_info rndis_class_info = {
.match_flags = USB_CLASS_MATCH_INTF_CLASS | USB_CLASS_MATCH_INTF_SUBCLASS | USB_CLASS_MATCH_INTF_PROTOCOL,
- .class = USB_DEVICE_CLASS_WIRELESS,
- .subclass = 0x01,
- .protocol = 0x03,
+ .bInterfaceClass = USB_DEVICE_CLASS_WIRELESS,
+ .bInterfaceSubClass = 0x01,
+ .bInterfaceProtocol = 0x03,
.id_table = NULL,
.class_driver = &rndis_class_driver
};
diff --git a/core/usbh_core.c b/core/usbh_core.c
index d4de88e5..c5f7729d 100644
--- a/core/usbh_core.c
+++ b/core/usbh_core.c
@@ -93,13 +93,13 @@ static const struct usbh_class_driver *usbh_find_class_driver(uint8_t class, uin
struct usbh_class_info *index = NULL;
for (index = usbh_class_info_table_begin; index < usbh_class_info_table_end; index++) {
- if ((index->match_flags & USB_CLASS_MATCH_INTF_CLASS) && !(index->class == class)) {
+ if ((index->match_flags & USB_CLASS_MATCH_INTF_CLASS) && !(index->bInterfaceClass == class)) {
continue;
}
- if ((index->match_flags & USB_CLASS_MATCH_INTF_SUBCLASS) && !(index->subclass == subclass)) {
+ if ((index->match_flags & USB_CLASS_MATCH_INTF_SUBCLASS) && !(index->bInterfaceSubClass == subclass)) {
continue;
}
- if ((index->match_flags & USB_CLASS_MATCH_INTF_PROTOCOL) && !(index->protocol == protocol)) {
+ if ((index->match_flags & USB_CLASS_MATCH_INTF_PROTOCOL) && !(index->bInterfaceProtocol == protocol)) {
continue;
}
if (index->match_flags & USB_CLASS_MATCH_VID_PID && index->id_table) {
diff --git a/core/usbh_core.h b/core/usbh_core.h
index 6674fcb4..ede1e574 100644
--- a/core/usbh_core.h
+++ b/core/usbh_core.h
@@ -61,9 +61,9 @@ extern "C" {
struct usbh_class_info {
uint8_t match_flags; /* Used for product specific matches; range is inclusive */
- uint8_t class; /* Base device class code */
- uint8_t subclass; /* Sub-class, depends on base class. Eg. */
- uint8_t protocol; /* Protocol, depends on base class. Eg. */
+ uint8_t bInterfaceClass; /* Base device class code */
+ uint8_t bInterfaceSubClass; /* Sub-class, depends on base class. Eg. */
+ uint8_t bInterfaceProtocol; /* Protocol, depends on base class. Eg. */
const uint16_t (*id_table)[2]; /* List of Vendor/Product ID pairs */
const struct usbh_class_driver *class_driver;
};