stdDescriptors.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 /* Includes: */
5 #include "types.h"
6 #include "../compiler.h"
7 
8 /* Enable C linkage for C++ Compilers: */
9 #if defined(__cplusplus)
10  extern "C" {
11 #endif
12 
13 /* Public Interface - May be used in end-application: */
14 /* Macros: */
19 #define NO_DESCRIPTOR 0
20 
25 #define USB_CONFIG_POWER_MA(mA) ((mA) >> 1)
26 
32 #define USB_STRING_LEN(UnicodeChars) (sizeof(USB_Descriptor_Header_t) + ((UnicodeChars) << 1))
33 
37 #define LANGUAGE_ID_ENG 0x0409
38 
44 #define USB_CONFIG_ATTR_RESERVED 0x80
45 
49 #define USB_CONFIG_ATTR_SELFPOWERED 0x40
50 
56 #define USB_CONFIG_ATTR_REMOTEWAKEUP 0x20
57 
58 
66 #define ENDPOINT_ATTR_NO_SYNC (0 << 2)
67 
73 #define ENDPOINT_ATTR_ASYNC (1 << 2)
74 
80 #define ENDPOINT_ATTR_ADAPTIVE (2 << 2)
81 
87 #define ENDPOINT_ATTR_SYNC (3 << 2)
88 
89 
97 #define ENDPOINT_USAGE_DATA (0 << 4)
98 
104 #define ENDPOINT_USAGE_FEEDBACK (1 << 4)
105 
111 #define ENDPOINT_USAGE_IMPLICIT_FEEDBACK (2 << 4)
112 
113 
114 /* Enums: */
117 {
118  DTYPE_Device = 0x01,
120  DTYPE_String = 0x03,
122  DTYPE_Endpoint = 0x05,
124  DTYPE_Other = 0x07,
129 };
130 
133 {
161 };
162 
163 /* Type Defines: */
173 typedef struct
174 {
180 
190 typedef struct
191 {
197 
207 typedef struct
208 {
248 
258 typedef struct
259 {
298 
306 typedef struct
307 {
321 
329 typedef struct
330 {
345 
355 typedef struct
356 {
376 
386 typedef struct
387 {
406 
416 typedef struct
417 {
434 
444 typedef struct
445 {
464 
480 typedef struct
481 {
495 
512 typedef struct
513 {
527 
537 typedef struct
538 {
554 
565 typedef struct
566 {
584 
600 #ifndef __GNUC__
601 #pragma warning(push)
602 #pragma warning(disable:4200) // none standard zero length array
603 #endif
604 
605 typedef struct
606 {
608  wchar_t UnicodeString[];
621 
638 typedef struct
639 {
644  wchar_t bString[];
654 
655 #ifndef __GNUC__
656 #pragma warning(pop)
657 #endif
658 
669 /* Disable C linkage for C++ Compilers: */
670 #if defined(__cplusplus)
671  }
672 #endif
673 
u8 bNumConfigurations
Definition: stdDescriptors.h:340
u8 NumberOfConfigurations
Definition: stdDescriptors.h:316
u8 SubClass
Definition: stdDescriptors.h:488
u8 TotalEndpoints
Definition: stdDescriptors.h:426
u8 bDescriptorType
Definition: stdDescriptors.h:193
USB_Descriptor_Header_t Header
Definition: stdDescriptors.h:418
u8 bFirstInterface
Definition: stdDescriptors.h:518
u8 Endpoint0Size
Definition: stdDescriptors.h:315
u8 bFunctionSubClass
Definition: stdDescriptors.h:521
u8 bDeviceClass
Definition: stdDescriptors.h:336
Standard USB Interface Descriptor (LUFA naming conventions).
Definition: stdDescriptors.h:416
u16 USBSpecification
Definition: stdDescriptors.h:211
u8 bLength
Definition: stdDescriptors.h:567
USB_Descriptor_Header_t Header
Definition: stdDescriptors.h:209
u8 iSerialNumber
Definition: stdDescriptors.h:282
Standard USB Interface Association Descriptor (USB-IF naming conventions).
Definition: stdDescriptors.h:512
u8 bAlternateSetting
Definition: stdDescriptors.h:451
USB_Descriptor_Header_t Header
Definition: stdDescriptors.h:539
Definition: stdDescriptors.h:121
Definition: stdDescriptors.h:126
USB_Descriptor_Header_t Header
Definition: stdDescriptors.h:308
u8 bDescriptorType
Definition: stdDescriptors.h:568
u8 NumberOfConfigurations
Definition: stdDescriptors.h:244
u16 TotalConfigurationSize
Definition: stdDescriptors.h:359
u8 bFunctionClass
Definition: stdDescriptors.h:520
u8 SerialNumStrIndex
Definition: stdDescriptors.h:232
u8 bMaxPacketSize0
Definition: stdDescriptors.h:339
u8 SubClass
Definition: stdDescriptors.h:312
u8 iManufacturer
Definition: stdDescriptors.h:272
u8 SubClass
Definition: stdDescriptors.h:429
u8 TotalInterfaces
Definition: stdDescriptors.h:362
u8 bmAttributes
Definition: stdDescriptors.h:574
u8 IADStrIndex
Definition: stdDescriptors.h:491
Definition: stdDescriptors.h:155
USB_DescriptorTypes_t
Definition: stdDescriptors.h:116
Standard USB Device Qualifier Descriptor (LUFA naming conventions).
Definition: stdDescriptors.h:306
Definition: stdDescriptors.h:149
u16 USBSpecification
Definition: stdDescriptors.h:310
Standard USB Descriptor Header (LUFA naming conventions).
Definition: stdDescriptors.h:173
u8 ManufacturerStrIndex
Definition: stdDescriptors.h:222
USB_Descriptor_ClassSubclassProtocol_t
Definition: stdDescriptors.h:132
Standard USB Endpoint Descriptor (LUFA naming conventions).
Definition: stdDescriptors.h:537
u8 bLength
Definition: stdDescriptors.h:514
Definition: stdDescriptors.h:123
u8 bmAttributes
Definition: stdDescriptors.h:398
u8 Endpoint0Size
Definition: stdDescriptors.h:216
u8 bConfigurationValue
Definition: stdDescriptors.h:396
u16 VendorID
Definition: stdDescriptors.h:218
u8 bDescriptorType
Definition: stdDescriptors.h:447
u8 bLength
Definition: stdDescriptors.h:388
u8 ConfigurationStrIndex
Definition: stdDescriptors.h:365
Definition: stdDescriptors.h:140
u8 Protocol
Definition: stdDescriptors.h:489
u8 MaxPowerConsumption
Definition: stdDescriptors.h:371
u8 bMaxPower
Definition: stdDescriptors.h:401
u8 bDeviceClass
Definition: stdDescriptors.h:265
u8 SubClass
Definition: stdDescriptors.h:213
u8 Protocol
Definition: stdDescriptors.h:214
u8 bDescriptorType
Definition: stdDescriptors.h:641
u8 InterfaceNumber
Definition: stdDescriptors.h:420
Definition: stdDescriptors.h:127
Definition: stdDescriptors.h:134
u16 ReleaseNumber
Definition: stdDescriptors.h:220
u8 Attributes
Definition: stdDescriptors.h:544
Standard USB Interface Descriptor (USB-IF naming conventions).
Definition: stdDescriptors.h:444
Standard USB Configuration Descriptor (USB-IF naming conventions).
Definition: stdDescriptors.h:386
u8 iConfiguration
Definition: stdDescriptors.h:397
u8 ConfigAttributes
Definition: stdDescriptors.h:367
USB_Descriptor_Header_t Header
Definition: stdDescriptors.h:607
Standard USB Device Descriptor (LUFA naming conventions).
Definition: stdDescriptors.h:207
u8 bDeviceProtocol
Definition: stdDescriptors.h:267
Standard USB Interface Association Descriptor (LUFA naming conventions).
Definition: stdDescriptors.h:480
u16 EndpointSize
Definition: stdDescriptors.h:547
u8 bDeviceProtocol
Definition: stdDescriptors.h:338
Standard USB String Descriptor (LUFA naming conventions).
Definition: stdDescriptors.h:605
Definition: stdDescriptors.h:122
u8 Reserved
Definition: stdDescriptors.h:319
u8 bNumConfigurations
Definition: stdDescriptors.h:294
u8 bDescriptorType
Definition: stdDescriptors.h:332
USB_Descriptor_Header_t Header
Definition: stdDescriptors.h:357
Standard USB Configuration Descriptor (LUFA naming conventions).
Definition: stdDescriptors.h:355
u16 bcdUSB
Definition: stdDescriptors.h:264
u8 EndpointAddress
Definition: stdDescriptors.h:541
u8 bNumEndpoints
Definition: stdDescriptors.h:456
Definition: stdDescriptors.h:120
Definition: stdDescriptors.h:146
Definition: stdDescriptors.h:118
u16 idProduct
Definition: stdDescriptors.h:270
u8 bDescriptorType
Definition: stdDescriptors.h:261
Standard USB Device Descriptor (USB-IF naming conventions).
Definition: stdDescriptors.h:258
u16 wMaxPacketSize
Definition: stdDescriptors.h:577
u8 bLength
Definition: stdDescriptors.h:192
u8 Class
Definition: stdDescriptors.h:212
u8 iInterface
Definition: stdDescriptors.h:460
u8 bEndpointAddress
Definition: stdDescriptors.h:571
u8 Size
Definition: stdDescriptors.h:175
u8 Class
Definition: stdDescriptors.h:487
u8 bMaxPacketSize0
Definition: stdDescriptors.h:268
u8 bDeviceSubClass
Definition: stdDescriptors.h:266
u8 bInterfaceClass
Definition: stdDescriptors.h:457
Definition: stdDescriptors.h:143
u8 Class
Definition: stdDescriptors.h:311
u8 iProduct
Definition: stdDescriptors.h:278
u8 Protocol
Definition: stdDescriptors.h:430
u8 Protocol
Definition: stdDescriptors.h:313
u8 bInterfaceProtocol
Definition: stdDescriptors.h:459
Definition: stdDescriptors.h:152
u8 bInterfaceNumber
Definition: stdDescriptors.h:450
u8 InterfaceStrIndex
Definition: stdDescriptors.h:432
u8 bDescriptorType
Definition: stdDescriptors.h:515
Definition: stdDescriptors.h:125
u8 bLength
Definition: stdDescriptors.h:331
u8 Type
Definition: stdDescriptors.h:176
u8 PollingIntervalMS
Definition: stdDescriptors.h:550
u8 bDescriptorType
Definition: stdDescriptors.h:389
u8 bInterfaceCount
Definition: stdDescriptors.h:519
Definition: stdDescriptors.h:128
u8 bReserved
Definition: stdDescriptors.h:343
unsigned short u16
Definition: types.h:15
u8 TotalInterfaces
Definition: stdDescriptors.h:485
Standard USB Endpoint Descriptor (USB-IF naming conventions).
Definition: stdDescriptors.h:565
u8 bLength
Definition: stdDescriptors.h:446
unsigned char u8
Definition: types.h:14
u16 bcdDevice
Definition: stdDescriptors.h:271
Definition: stdDescriptors.h:119
u16 ProductID
Definition: stdDescriptors.h:219
u8 bInterval
Definition: stdDescriptors.h:580
USB_Descriptor_Header_t Header
Definition: stdDescriptors.h:482
Standard USB Device Qualifier Descriptor (USB-IF naming conventions).
Definition: stdDescriptors.h:329
u8 bFunctionProtocol
Definition: stdDescriptors.h:522
u8 ProductStrIndex
Definition: stdDescriptors.h:228
u8 bLength
Definition: stdDescriptors.h:260
u8 iFunction
Definition: stdDescriptors.h:523
u8 AlternateSetting
Definition: stdDescriptors.h:421
u8 bDeviceSubClass
Definition: stdDescriptors.h:337
u8 bLength
Definition: stdDescriptors.h:640
Standard USB String Descriptor (USB-IF naming conventions).
Definition: stdDescriptors.h:638
Definition: stdDescriptors.h:158
u8 bNumInterfaces
Definition: stdDescriptors.h:395
Definition: stdDescriptors.h:124
u16 bcdUSB
Definition: stdDescriptors.h:335
u8 FirstInterfaceIndex
Definition: stdDescriptors.h:484
u8 ConfigurationNumber
Definition: stdDescriptors.h:364
Definition: stdDescriptors.h:137
u8 Class
Definition: stdDescriptors.h:428
u16 idVendor
Definition: stdDescriptors.h:269
u16 wTotalLength
Definition: stdDescriptors.h:392
u8 bInterfaceSubClass
Definition: stdDescriptors.h:458
Standard USB Descriptor Header (USB-IF naming conventions).
Definition: stdDescriptors.h:190