1usb_if_descr(9S) Data Structures for Drivers usb_if_descr(9S)
2
3
4
6 usb_if_descr - USB interface descriptor
7
9 #include <sys/usb/usba.h>
10
11
13 Solaris DDI specific (Solaris DDI)
14
16 The usb_if_descr_t interface descriptor defines attributes of an inter‐
17 face. A configuration contains one or more interfaces. An interface
18 contains one or more endpoints.
19
20
21 Please refer to Section 9.6.5 of the USB 2.0 specification. The USB 2.0
22 specification is available at www.usb.org.
23
24
25 One or more configuration descriptors are retrieved from a USB device
26 during device enumeration. They can be accessed via
27 usb_get_dev_data(9F).
28
29
30 A interface descriptor has the following fields:
31
32 uint8_t bLength Size of this descriptor
33 in bytes.
34
35 uint8_t bDescriptorType Set to USB_DESCR_TYPE_IF.
36
37 uint8_t bInterfaceNumber Interface number (0-based).
38
39 uint8_t bAlternateSetting Alternate setting number for
40 this interface and its
41 endpoints (0-based).
42
43 uint8_t bNumEndpoints Number of endpoints,
44 excluding endpoint 0.
45
46 uint8_t bInterfaceClass Interface Class code
47 (see below).
48
49 uint8_t bInterfaceSubClass Sub class code. (See USB 2.0
50 specification of applicable
51 interface class for information.)
52
53 uint8_t bInterfaceProtocol Protocol code. (See USB 2.0
54 specification of applicable
55 interface class for information.)
56
57 uint8_t iInterface Index of optional string
58 describing this interface
59 Valid if > 0. Pass to
60 usb_get_string_descr(9F) to
61 retrieve string.
62
63 USB 2.0 specification interface descriptor bInterfaceClass field
64 values are as follows:
65
66 USB_CLASS_APP Application-specific interface class
67
68 USB_CLASS_AUDIO Audio interface class
69
70 USB_CLASS_CCID Chip/Smartcard interface class
71
72 USB_CLASS_CDC_CTRL CDC control interface class
73
74 USB_CLASS_CDC_DATA CDC data interface class
75
76 USB_CLASS_SECURITY Content security interface class
77
78 USB_CLASS_DIAG Diagnostic interface class
79
80 USB_CLASS_HID HID interface class
81
82 USB_CLASS_HUB HUB interface class
83
84 USB_CLASS_MASS_STORAGE Mass storage interface class
85
86 USB_CLASS_PHYSICAL Physical interface class
87
88 USB_CLASS_PRINTER Printer interface class
89
90 USB_CLASS_VENDOR_SPEC Vendor-specific interface class
91
92 USB_CLASS_WIRELESS Wireless interface class
93
94
95
96
98 See attributes(5) for descriptions of the following attributes:
99
100
101
102
103 ┌─────────────────────────────┬─────────────────────────────┐
104 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
105 ├─────────────────────────────┼─────────────────────────────┤
106 │Architecture │PCI-based systems │
107 ├─────────────────────────────┼─────────────────────────────┤
108 │Interface stability │Committed │
109 ├─────────────────────────────┼─────────────────────────────┤
110 │Availability │SUNWusbu │
111 └─────────────────────────────┴─────────────────────────────┘
112
114 attributes(5), usb_get_alt_if(9F), usb_get_cfg(9F),
115 usb_get_dev_data(9F), usb_get_string_descr(9F), usb_parse_data(9F),
116 usb_cfg_descr(9S), usb_ctrl_request(9S), usb_dev_descr(9S),
117 usb_dev_qlf_descr(9S), usb_ep_descr(9S), usb_other_speed_cfg_descr(9S),
118 usb_string_descr(9S)
119
120
121
122SunOS 5.11 5 Jan 2004 usb_if_descr(9S)