diff options
Diffstat (limited to 'drivers/usb/net/usbnet.h')
-rw-r--r-- | drivers/usb/net/usbnet.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/usb/net/usbnet.h b/drivers/usb/net/usbnet.h index 21b5feb54fc0..7aa0abd1a9bd 100644 --- a/drivers/usb/net/usbnet.h +++ b/drivers/usb/net/usbnet.h | |||
@@ -126,6 +126,28 @@ extern int usbnet_resume (struct usb_interface *); | |||
126 | extern void usbnet_disconnect(struct usb_interface *); | 126 | extern void usbnet_disconnect(struct usb_interface *); |
127 | 127 | ||
128 | 128 | ||
129 | /* Drivers that reuse some of the standard USB CDC infrastructure | ||
130 | * (notably, using multiple interfaces according to the the CDC | ||
131 | * union descriptor) get some helper code. | ||
132 | */ | ||
133 | struct cdc_state { | ||
134 | struct usb_cdc_header_desc *header; | ||
135 | struct usb_cdc_union_desc *u; | ||
136 | struct usb_cdc_ether_desc *ether; | ||
137 | struct usb_interface *control; | ||
138 | struct usb_interface *data; | ||
139 | }; | ||
140 | |||
141 | extern int usbnet_generic_cdc_bind (struct usbnet *, struct usb_interface *); | ||
142 | extern void usbnet_cdc_unbind (struct usbnet *, struct usb_interface *); | ||
143 | |||
144 | /* CDC and RNDIS support the same host-chosen packet filters for IN transfers */ | ||
145 | #define DEFAULT_FILTER (USB_CDC_PACKET_TYPE_BROADCAST \ | ||
146 | |USB_CDC_PACKET_TYPE_ALL_MULTICAST \ | ||
147 | |USB_CDC_PACKET_TYPE_PROMISCUOUS \ | ||
148 | |USB_CDC_PACKET_TYPE_DIRECTED) | ||
149 | |||
150 | |||
129 | /* we record the state for each of our queued skbs */ | 151 | /* we record the state for each of our queued skbs */ |
130 | enum skb_state { | 152 | enum skb_state { |
131 | illegal = 0, | 153 | illegal = 0, |