diff options
author | sobomax <sobomax@FreeBSD.org> | 2005-03-01 06:35:04 +0000 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2005-03-01 06:35:04 +0000 |
commit | 6320d710d91894ccaf99d8d4b497fbbe2ae28f71 (patch) | |
tree | 64f48fcda5a21db837ccdc4f019b5ba3c0034b34 | |
parent | 7f5f318c480c8b1c0003efd214ce3b4472fbefde (diff) | |
download | FreeBSD-src-6320d710d91894ccaf99d8d4b497fbbe2ae28f71.zip FreeBSD-src-6320d710d91894ccaf99d8d4b497fbbe2ae28f71.tar.gz |
Sync with 1.9 from NetBSD, this includes:
o Add Ethernet descriptor.
o Use attribute packed for on-the-wire data structures.
MFC after: 3 days
-rw-r--r-- | sys/dev/usb/usbcdc.h | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/sys/dev/usb/usbcdc.h b/sys/dev/usb/usbcdc.h index 305c53c..d684108 100644 --- a/sys/dev/usb/usbcdc.h +++ b/sys/dev/usb/usbcdc.h @@ -1,4 +1,4 @@ -/* $NetBSD: usbcdc.h,v 1.6 2000/04/27 15:26:50 augustss Exp $ */ +/* $NetBSD: usbcdc.h,v 1.9 2004/10/23 13:24:24 augustss Exp $ */ /* $FreeBSD$ */ /*- @@ -51,13 +51,20 @@ #define UDESCSUB_CDC_CS 7 /* Country Selection */ #define UDESCSUB_CDC_TOM 8 /* Telephone Operational Modes */ #define UDESCSUB_CDC_USBT 9 /* USB Terminal */ +#define UDESCSUB_CDC_NCT 10 +#define UDESCSUB_CDC_PUF 11 +#define UDESCSUB_CDC_EUF 12 +#define UDESCSUB_CDC_MCMF 13 +#define UDESCSUB_CDC_CCMF 14 +#define UDESCSUB_CDC_ENF 15 +#define UDESCSUB_CDC_ANF 16 typedef struct { uByte bLength; uByte bDescriptorType; uByte bDescriptorSubtype; uWord bcdCDC; -} usb_cdc_header_descriptor_t; +} UPACKED usb_cdc_header_descriptor_t; typedef struct { uByte bLength; @@ -67,7 +74,7 @@ typedef struct { #define USB_CDC_CM_DOES_CM 0x01 #define USB_CDC_CM_OVER_DATA 0x02 uByte bDataInterface; -} usb_cdc_cm_descriptor_t; +} UPACKED usb_cdc_cm_descriptor_t; typedef struct { uByte bLength; @@ -78,7 +85,7 @@ typedef struct { #define USB_CDC_ACM_HAS_LINE 0x02 #define USB_CDC_ACM_HAS_BREAK 0x04 #define USB_CDC_ACM_HAS_NETWORK_CONN 0x08 -} usb_cdc_acm_descriptor_t; +} UPACKED usb_cdc_acm_descriptor_t; typedef struct { uByte bLength; @@ -86,7 +93,18 @@ typedef struct { uByte bDescriptorSubtype; uByte bMasterInterface; uByte bSlaveInterface[1]; -} usb_cdc_union_descriptor_t; +} UPACKED usb_cdc_union_descriptor_t; + +typedef struct { + uByte bLength; + uByte bDescriptorType; + uByte bDescriptorSubtype; + uByte iMacAddress; + uDWord bmEthernetStatistics; + uWord wMaxSegmentSize; + uWord wNumberMCFikters; + uByte bNumberPowerFilters; +} UPACKED usb_cdc_ethernet_descriptor_t; #define UCDC_SEND_ENCAPSULATED_COMMAND 0x00 #define UCDC_GET_ENCAPSULATED_RESPONSE 0x01 @@ -108,7 +126,7 @@ typedef struct { uWord wState; #define UCDC_IDLE_SETTING 0x0001 #define UCDC_DATA_MULTIPLEXED 0x0002 -} usb_cdc_abstract_state_t; +} UPACKED usb_cdc_abstract_state_t; #define UCDC_ABSTRACT_STATE_LENGTH 2 typedef struct { @@ -124,7 +142,7 @@ typedef struct { #define UCDC_PARITY_MARK 3 #define UCDC_PARITY_SPACE 4 uByte bDataBits; -} usb_cdc_line_state_t; +} UPACKED usb_cdc_line_state_t; #define UCDC_LINE_STATE_LENGTH 7 typedef struct { @@ -143,7 +161,7 @@ typedef struct { uWord wIndex; uWord wLength; uByte data[16]; -} usb_cdc_notification_t; +} UPACKED usb_cdc_notification_t; #define UCDC_NOTIFICATION_LENGTH 8 /* |