summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorjmcneill <jmcneill@NetBSD.org>2010-12-25 14:06:14 +0000
committerjmcneill <jmcneill@NetBSD.org>2010-12-25 14:06:14 +0000
commit707478bfefac9061db884255121c04780082bb2c (patch)
tree1e2c4c8d279107d58bf9ee02639eb554d0a43c9f /sys/dev
parent1b0422173ee9dd8b32a398c90b05fc92de855896 (diff)
add USB interface assoc descriptor (IAD) info
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/usb.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/dev/usb/usb.h b/sys/dev/usb/usb.h
index 71b94d1cf17..c63fa54ffa1 100644
--- a/sys/dev/usb/usb.h
+++ b/sys/dev/usb/usb.h
@@ -1,4 +1,4 @@
-/* $NetBSD: usb.h,v 1.88 2010/11/19 18:21:48 phx Exp $ */
+/* $NetBSD: usb.h,v 1.89 2010/12/25 14:06:14 jmcneill Exp $ */
/* $FreeBSD: src/sys/dev/usb/usb.h,v 1.14 1999/11/17 22:33:46 n_hibma Exp $ */
/*
@@ -195,6 +195,7 @@ typedef struct {
#define UDESC_INTERFACE_POWER 0x08
#define UDESC_OTG 0x09
#define UDESC_DEBUG 0x0a
+#define UDESC_INTERFACE_ASSOC 0x0b
#define UDESC_CS_DEVICE 0x21 /* class specific */
#define UDESC_CS_CONFIG 0x22
#define UDESC_CS_STRING 0x23
@@ -276,6 +277,18 @@ typedef struct {
typedef struct {
uByte bLength;
uByte bDescriptorType;
+ uByte bFirstInterface;
+ uByte bInterfaceCount;
+ uByte bFunctionClass;
+ uByte bFunctionSubClass;
+ uByte bFunctionProtocol;
+ uByte iFunction
+} UPACKED usb_interface_assoc_descriptor_t;
+#define USB_INTERFACE_ASSOC_DESCRIPTOR_SIZE 8
+
+typedef struct {
+ uByte bLength;
+ uByte bDescriptorType;
uByte bEndpointAddress;
#define UE_GET_DIR(a) ((a) & 0x80)
#define UE_SET_DIR(a,d) ((a) | (((d)&1) << 7))