123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #ifndef _ACM_H
- #define _ACM_H
-
- /** @file
- *
- * USB RNDIS Ethernet driver
- *
- */
-
- FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
- #include <ipxe/usb.h>
- #include <ipxe/cdc.h>
-
- /** CDC-ACM subclass */
- #define USB_SUBCLASS_CDC_ACM 0x02
-
- /** CDC-ACM RNDIS device protocol */
- #define USB_PROTOCOL_ACM_RNDIS 0xff
-
- /** Class code for wireless devices */
- #define USB_CLASS_WIRELESS 0xe0
-
- /** Radio frequency device subclass */
- #define USB_SUBCLASS_WIRELESS_RADIO 0x01
-
- /** Radio frequency RNDIS device protocol */
- #define USB_PROTOCOL_RADIO_RNDIS 0x03
-
- /** A USB RNDIS network device */
- struct acm_device {
- /** USB device */
- struct usb_device *usb;
- /** USB bus */
- struct usb_bus *bus;
- /** RNDIS device */
- struct rndis_device *rndis;
- /** USB network device */
- struct usbnet_device usbnet;
-
- /** An encapsulated response is available */
- int responded;
- };
-
- /** Interrupt maximum fill level
- *
- * This is a policy decision.
- */
- #define ACM_INTR_MAX_FILL 2
-
- /** Bulk IN maximum fill level
- *
- * This is a policy decision.
- */
- #define ACM_IN_MAX_FILL 8
-
- /** Bulk IN buffer size
- *
- * This is a policy decision.
- */
- #define ACM_IN_MTU 2048
-
- /** Encapsulated response buffer size
- *
- * This is a policy decision.
- */
- #define ACM_RESPONSE_MTU 128
-
- #endif /* _ACM_H */
|