summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2005-03-01 06:35:04 +0000
committersobomax <sobomax@FreeBSD.org>2005-03-01 06:35:04 +0000
commit6320d710d91894ccaf99d8d4b497fbbe2ae28f71 (patch)
tree64f48fcda5a21db837ccdc4f019b5ba3c0034b34
parent7f5f318c480c8b1c0003efd214ce3b4472fbefde (diff)
downloadFreeBSD-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.h34
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
/*
OpenPOWER on IntegriCloud