aboutsummaryrefslogtreecommitdiff
path: root/include/usb/cdc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/usb/cdc.h')
-rw-r--r--include/usb/cdc.h81
1 files changed, 40 insertions, 41 deletions
diff --git a/include/usb/cdc.h b/include/usb/cdc.h
index db0f2bc..07be0ca 100644
--- a/include/usb/cdc.h
+++ b/include/usb/cdc.h
@@ -21,54 +21,54 @@
#define __CDC_H
/* Definitions of Communications Device Class from
- * "Universal Serial Bus Class Definitions for Communications Devices
+ * "Universal Serial Bus Class Definitions for Communications Devices
* Revision 1.2"
*/
/* Table 2: Communications Device Class Code */
-#define USB_CLASS_CDC 0x02
+#define USB_CLASS_CDC 0x02
/* Table 4: Class Subclass Code */
-#define USB_CDC_SUBCLASS_DLCM 0x01
-#define USB_CDC_SUBCLASS_ACM 0x02
+#define USB_CDC_SUBCLASS_DLCM 0x01
+#define USB_CDC_SUBCLASS_ACM 0x02
/* ... */
/* Table 5 Communications Interface Class Control Protocol Codes */
-#define USB_CDC_PROTOCOL_NONE 0x00
-#define USB_CDC_PROTOCOL_AT 0x01
+#define USB_CDC_PROTOCOL_NONE 0x00
+#define USB_CDC_PROTOCOL_AT 0x01
/* ... */
/* Table 6: Data Interface Class Code */
-#define USB_CLASS_DATA 0x0A
+#define USB_CLASS_DATA 0x0A
/* Table 12: Type Values for the bDescriptorType Field */
-#define CS_INTERFACE 0x24
-#define CS_ENDPOINT 0x25
+#define CS_INTERFACE 0x24
+#define CS_ENDPOINT 0x25
-/* Table 13: bDescriptor SubType in Communications Class Functional
+/* Table 13: bDescriptor SubType in Communications Class Functional
* Descriptors */
-#define USB_CDC_TYPE_HEADER 0x00
+#define USB_CDC_TYPE_HEADER 0x00
#define USB_CDC_TYPE_CALL_MANAGEMENT 0x01
-#define USB_CDC_TYPE_ACM 0x02
+#define USB_CDC_TYPE_ACM 0x02
/* ... */
-#define USB_CDC_TYPE_UNION 0x06
+#define USB_CDC_TYPE_UNION 0x06
/* ... */
/* Table 15: Class-Specific Descriptor Header Format */
struct usb_cdc_header_descriptor {
- uint8_t bFunctionLength;
- uint8_t bDescriptorType;
- uint8_t bDescriptorSubtype;
- uint16_t bcdCDC;
+ u8 bFunctionLength;
+ u8 bDescriptorType;
+ u8 bDescriptorSubtype;
+ u16 bcdCDC;
} __attribute__((packed));
/* Table 16: Union Interface Functional Descriptor */
struct usb_cdc_union_descriptor {
- uint8_t bFunctionLength;
- uint8_t bDescriptorType;
- uint8_t bDescriptorSubtype;
- uint8_t bControlInterface;
- uint8_t bSubordinateInterface0;
+ u8 bFunctionLength;
+ u8 bDescriptorType;
+ u8 bDescriptorSubtype;
+ u8 bControlInterface;
+ u8 bSubordinateInterface0;
/* ... */
} __attribute__((packed));
@@ -80,19 +80,19 @@ struct usb_cdc_union_descriptor {
/* Table 3: Call Management Functional Descriptor */
struct usb_cdc_call_management_descriptor {
- uint8_t bFunctionLength;
- uint8_t bDescriptorType;
- uint8_t bDescriptorSubtype;
- uint8_t bmCapabilities;
- uint8_t bDataInterface;
+ u8 bFunctionLength;
+ u8 bDescriptorType;
+ u8 bDescriptorSubtype;
+ u8 bmCapabilities;
+ u8 bDataInterface;
} __attribute__((packed));
/* Table 4: Abstract Control Management Functional Descriptor */
struct usb_cdc_acm_descriptor {
- uint8_t bFunctionLength;
- uint8_t bDescriptorType;
- uint8_t bDescriptorSubtype;
- uint8_t bmCapabilities;
+ u8 bFunctionLength;
+ u8 bDescriptorType;
+ u8 bDescriptorSubtype;
+ u8 bmCapabilities;
} __attribute__((packed));
/* Table 13: Class-Specific Request Codes for PSTN subclasses */
@@ -104,10 +104,10 @@ struct usb_cdc_acm_descriptor {
/* Table 17: Line Coding Structure */
struct usb_cdc_line_coding {
- uint32_t dwDTERate;
- uint8_t bCharFormat;
- uint8_t bParityType;
- uint8_t bDataBits;
+ u32 dwDTERate;
+ u8 bCharFormat;
+ u8 bParityType;
+ u8 bDataBits;
} __attribute__((packed));
/* Table 30: Class-Specific Notification Codes for PSTN subclasses */
@@ -115,14 +115,13 @@ struct usb_cdc_line_coding {
#define USB_CDC_NOTIFY_SERIAL_STATE 0x28
/* ... */
-
/* Notification Structure */
struct usb_cdc_notification {
- uint8_t bmRequestType;
- uint8_t bNotification;
- uint16_t wValue;
- uint16_t wIndex;
- uint16_t wLength;
+ u8 bmRequestType;
+ u8 bNotification;
+ u16 wValue;
+ u16 wIndex;
+ u16 wLength;
} __attribute__((packed));
#endif