5 * acxusb.h: USB specific constants and structures.
7 * Copyright (c) 2008 Francis Galiegue <fgaliegue@gmail.com> for the ACX100
10 * This file is licensed under the GPLv2. See the README file for details.
12 #ifdef ACX_MAC80211_USB
14 /* Used for usb_txbuffer.desc field */
15 #define USB_TXBUF_TXDESC 0xA
16 /* Size of header (everything up to data[]) */
17 #define USB_TXBUF_HDRSIZE 14
18 typedef struct usb_txbuffer
{
27 /* wlan packet content is placed here: */
28 u8 data
[30 + 2312 + 4]; /*WLAN_A4FR_MAXLEN_WEP_FCS]*/
29 } __attribute__ ((packed
)) usb_txbuffer_t
;
31 /* USB returns either rx packets (see rxbuffer) or
32 ** these "tx status" structs: */
33 typedef struct usb_txstatus
{
34 u16 mac_cnt_rcvd
; /* only 12 bits are len! (0xfff) */
36 u8 mac_status
; /* seen 0x20 on tx failure */
42 // struct ieee80211_tx_status txstatus;
43 // struct sk_buff *skb;
44 } __attribute__ ((packed
)) usb_txstatus_t
;
46 typedef struct usb_tx
{
50 /* actual USB bulk output data block is here: */
51 usb_txbuffer_t bulkout
;
61 typedef struct usb_rx
{
66 /* Make entire structure 4k */
67 u8 padding
[4*1024 - sizeof(struct usb_rx_plain
)];
70 #endif /* _ACXUSB_H_ */