1*56f9a274Sfei feng - Sun Microsystems - Beijing China /* 2*56f9a274Sfei feng - Sun Microsystems - Beijing China * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3*56f9a274Sfei feng - Sun Microsystems - Beijing China * Use is subject to license terms. 4*56f9a274Sfei feng - Sun Microsystems - Beijing China */ 5*56f9a274Sfei feng - Sun Microsystems - Beijing China 6*56f9a274Sfei feng - Sun Microsystems - Beijing China /* 7*56f9a274Sfei feng - Sun Microsystems - Beijing China * Copyright (c) 2006 8*56f9a274Sfei feng - Sun Microsystems - Beijing China * Damien Bergamini <damien.bergamini@free.fr> 9*56f9a274Sfei feng - Sun Microsystems - Beijing China * Copyright (c) 2006 Sam Leffler, Errno Consulting 10*56f9a274Sfei feng - Sun Microsystems - Beijing China * 11*56f9a274Sfei feng - Sun Microsystems - Beijing China * Permission to use, copy, modify, and distribute this software for any 12*56f9a274Sfei feng - Sun Microsystems - Beijing China * purpose with or without fee is hereby granted, provided that the above 13*56f9a274Sfei feng - Sun Microsystems - Beijing China * copyright notice and this permission notice appear in all copies. 14*56f9a274Sfei feng - Sun Microsystems - Beijing China * 15*56f9a274Sfei feng - Sun Microsystems - Beijing China * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 16*56f9a274Sfei feng - Sun Microsystems - Beijing China * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 17*56f9a274Sfei feng - Sun Microsystems - Beijing China * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 18*56f9a274Sfei feng - Sun Microsystems - Beijing China * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 19*56f9a274Sfei feng - Sun Microsystems - Beijing China * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 20*56f9a274Sfei feng - Sun Microsystems - Beijing China * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 21*56f9a274Sfei feng - Sun Microsystems - Beijing China * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 22*56f9a274Sfei feng - Sun Microsystems - Beijing China */ 23*56f9a274Sfei feng - Sun Microsystems - Beijing China 24*56f9a274Sfei feng - Sun Microsystems - Beijing China 25*56f9a274Sfei feng - Sun Microsystems - Beijing China #ifndef _UATH_REG_H 26*56f9a274Sfei feng - Sun Microsystems - Beijing China #define _UATH_REG_H 27*56f9a274Sfei feng - Sun Microsystems - Beijing China 28*56f9a274Sfei feng - Sun Microsystems - Beijing China #ifdef __cplusplus 29*56f9a274Sfei feng - Sun Microsystems - Beijing China extern "C" { 30*56f9a274Sfei feng - Sun Microsystems - Beijing China #endif 31*56f9a274Sfei feng - Sun Microsystems - Beijing China 32*56f9a274Sfei feng - Sun Microsystems - Beijing China /* Location in the endpoint descriptor tree used by the device */ 33*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CONFIG_NO 1 34*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_IFACE_INDEX 0 35*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_ALT_IF_INDEX 0 36*56f9a274Sfei feng - Sun Microsystems - Beijing China 37*56f9a274Sfei feng - Sun Microsystems - Beijing China /* all fields are big endian */ 38*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 39*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_fwblock { 40*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t flags; 41*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_WRITE_BLOCK (1 << 4) 42*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t len; 43*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_MAX_FWBLOCK_SIZE 2048 44*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t total; 45*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t remain; 46*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t rxtotal; 47*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t pad[123]; 48*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 49*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 50*56f9a274Sfei feng - Sun Microsystems - Beijing China 51*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_MAX_CMDSZ 512 52*56f9a274Sfei feng - Sun Microsystems - Beijing China 53*56f9a274Sfei feng - Sun Microsystems - Beijing China /* 54*56f9a274Sfei feng - Sun Microsystems - Beijing China * Messages are passed in Target Endianness. All fixed-size 55*56f9a274Sfei feng - Sun Microsystems - Beijing China * fields of a WDS Control Message are treated as 32-bit 56*56f9a274Sfei feng - Sun Microsystems - Beijing China * values and Control Msgs are guaranteed to be 32-bit aligned. 57*56f9a274Sfei feng - Sun Microsystems - Beijing China * 58*56f9a274Sfei feng - Sun Microsystems - Beijing China * The format of a WDS Control Message is as follows: 59*56f9a274Sfei feng - Sun Microsystems - Beijing China * Message Length 32 bits 60*56f9a274Sfei feng - Sun Microsystems - Beijing China * Message Opcode 32 bits 61*56f9a274Sfei feng - Sun Microsystems - Beijing China * Message ID 32 bits 62*56f9a274Sfei feng - Sun Microsystems - Beijing China * parameter 1 63*56f9a274Sfei feng - Sun Microsystems - Beijing China * parameter 2 64*56f9a274Sfei feng - Sun Microsystems - Beijing China * ... 65*56f9a274Sfei feng - Sun Microsystems - Beijing China * 66*56f9a274Sfei feng - Sun Microsystems - Beijing China * A variable-length parameter, or a parmeter that is larger than 67*56f9a274Sfei feng - Sun Microsystems - Beijing China * 32 bits is passed as <length, data> pair, where length is a 68*56f9a274Sfei feng - Sun Microsystems - Beijing China * 32-bit quantity and data is padded to 32 bits. 69*56f9a274Sfei feng - Sun Microsystems - Beijing China */ 70*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 71*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_hdr { 72*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t len; /* msg length including header */ 73*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t code; /* operation code */ 74*56f9a274Sfei feng - Sun Microsystems - Beijing China /* NB: these are defined for rev 1.5 firmware; rev 1.6 is different */ 75*56f9a274Sfei feng - Sun Microsystems - Beijing China /* messages from Host -> Target */ 76*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_HOST_AVAILABLE 0x01 77*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_BIND 0x02 78*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_RESET 0x03 79*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_GET_CAPABILITY 0x04 80*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_SET_CONFIG 0x05 81*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_GET_STATUS 0x06 82*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_GET_STATS 0x07 83*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_START 0x08 84*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_STOP 0x09 85*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_ENABLE 0x0a 86*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_TARGET_DISABLE 0x0b 87*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_CREATE_CONNECTION 0x0c 88*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_UPDATE_CONNECT_ATTR 0x0d 89*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_DELETE_CONNECT 0x0e 90*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SEND 0x0f 91*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_FLUSH 0x10 92*56f9a274Sfei feng - Sun Microsystems - Beijing China /* messages from Target -> Host */ 93*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_STATS_UPDATE 0x11 94*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_BMISS 0x12 95*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_DEVICE_AVAIL 0x13 96*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SEND_COMPLETE 0x14 97*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_DATA_AVAIL 0x15 98*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_PWR_MODE 0x16 99*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_BMISS_ACK 0x17 100*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_LED_STEADY 0x18 101*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_LED_BLINK 0x19 102*56f9a274Sfei feng - Sun Microsystems - Beijing China /* more messages */ 103*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SETUP_BEACON_DESC 0x1a 104*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_BEACON_INIT 0x1b 105*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_RESET_KEY_CACHE 0x1c 106*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_RESET_KEY_CACHE_ENTRY 0x1d 107*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_KEY_CACHE_ENTRY 0x1e 108*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_DECOMP_MASK 0x1f 109*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_REGULATORY_DOMAIN 0x20 110*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_LED_STATE 0x21 111*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_WRITE_ASSOCID 0x22 112*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_STA_BEACON_TIMERS 0x23 113*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_GET_TSF 0x24 114*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_RESET_TSF 0x25 115*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_ADHOC_MODE 0x26 116*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_BASIC_RATE 0x27 117*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_MIB_CONTROL 0x28 118*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_GET_CHANNEL_DATA 0x29 119*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_GET_CUR_RSSI 0x2a 120*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_ANTENNA_SWITCH 0x2b 121*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_USE_SHORT_SLOT_TIME 0x2f 122*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_POWER_MODE 0x30 123*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SETUP_PSPOLL_DESC 0x31 124*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_RX_MULTICAST_FILTER 0x32 125*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_RX_FILTER 0x33 126*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_PER_CALIBRATION 0x34 127*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_RESET 0x35 128*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_DISABLE 0x36 129*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_PHY_DISABLE 0x37 130*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_TX_POWER_LIMIT 0x38 131*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_TX_QUEUE_PARAMS 0x39 132*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SETUP_TX_QUEUE 0x3a 133*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_RELEASE_TX_QUEUE 0x3b 134*56f9a274Sfei feng - Sun Microsystems - Beijing China #define WDCMSG_SET_DEFAULT_KEY 0x43 135*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t msgid; /* msg id (supplied by host) */ 136*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t magic; /* response desired/target status */ 137*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t debug[4]; /* debug data area */ 138*56f9a274Sfei feng - Sun Microsystems - Beijing China /* msg data follows */ 139*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 140*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 141*56f9a274Sfei feng - Sun Microsystems - Beijing China 142*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_RX_DUMMYSIZE 4 143*56f9a274Sfei feng - Sun Microsystems - Beijing China 144*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 145*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_chunk { 146*56f9a274Sfei feng - Sun Microsystems - Beijing China uint8_t seqnum; /* sequence number for ordering */ 147*56f9a274Sfei feng - Sun Microsystems - Beijing China uint8_t flags; 148*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CFLAGS_FINAL 0x01 /* final chunk of a msg */ 149*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CFLAGS_RXMSG 0x02 /* chunk contains rx completion */ 150*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CFLAGS_DEBUG 0x04 /* for debugging */ 151*56f9a274Sfei feng - Sun Microsystems - Beijing China uint16_t length; /* chunk size in bytes */ 152*56f9a274Sfei feng - Sun Microsystems - Beijing China /* chunk data follows */ 153*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 154*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 155*56f9a274Sfei feng - Sun Microsystems - Beijing China 156*56f9a274Sfei feng - Sun Microsystems - Beijing China /* 157*56f9a274Sfei feng - Sun Microsystems - Beijing China * Message format for a WDCMSG_DATA_AVAIL message from Target to Host. 158*56f9a274Sfei feng - Sun Microsystems - Beijing China */ 159*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 160*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_rx_desc { 161*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t len; /* msg length including header */ 162*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t code; /* WDCMSG_DATA_AVAIL */ 163*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t gennum; /* generation number */ 164*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t status; /* start of RECEIVE_INFO */ 165*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_OK 0 166*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_STOP_IN_PROGRESS 1 167*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_CRC_ERR 2 168*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_PHY_ERR 3 169*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_DECRYPT_CRC_ERR 4 170*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_DECRYPT_MIC_ERR 5 171*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_DECOMP_ERR 6 172*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_KEY_ERR 7 173*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_STATUS_ERR 8 174*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t tstamp_low; /* low-order 32-bits of rx timestamp */ 175*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t tstamp_high; /* high-order 32-bits of rx timestamp */ 176*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t framelen; /* frame length */ 177*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t rate; /* rx rate code */ 178*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t antenna; 179*56f9a274Sfei feng - Sun Microsystems - Beijing China int32_t rssi; 180*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t channel; 181*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t phyerror; 182*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t connix; /* key table ix for bss traffic */ 183*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t decrypterror; 184*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t keycachemiss; 185*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t pad; /* XXX? */ 186*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 187*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 188*56f9a274Sfei feng - Sun Microsystems - Beijing China 189*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 190*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_tx_desc { 191*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t msglen; 192*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t msgid; /* msg id (supplied by host) */ 193*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t type; /* opcode: WDMSG_SEND or WDCMSG_FLUSH */ 194*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t txqid; /* tx queue id and flags */ 195*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_TXQID_MASK 0x0f 196*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_TXQID_MINRATE 0x10 /* use min tx rate */ 197*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_TXQID_FF 0x20 /* content is fast frame */ 198*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t connid; /* tx connection id */ 199*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_ID_INVALID 0xffffffff /* for sending prior to connection */ 200*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t flags; /* non-zero if response desired */ 201*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_TX_NOTIFY (1 << 24) /* f/w will send a UATH_NOTIF_TX */ 202*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t buflen; /* payload length */ 203*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 204*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 205*56f9a274Sfei feng - Sun Microsystems - Beijing China 206*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 207*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_host_available { 208*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t sw_ver_major; 209*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t sw_ver_minor; 210*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t sw_ver_patch; 211*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t sw_ver_build; 212*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 213*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 214*56f9a274Sfei feng - Sun Microsystems - Beijing China 215*56f9a274Sfei feng - Sun Microsystems - Beijing China #define ATH_SW_VER_MAJOR 1 216*56f9a274Sfei feng - Sun Microsystems - Beijing China #define ATH_SW_VER_MINOR 5 217*56f9a274Sfei feng - Sun Microsystems - Beijing China #define ATH_SW_VER_PATCH 0 218*56f9a274Sfei feng - Sun Microsystems - Beijing China #define ATH_SW_VER_BUILD 9999 219*56f9a274Sfei feng - Sun Microsystems - Beijing China 220*56f9a274Sfei feng - Sun Microsystems - Beijing China 221*56f9a274Sfei feng - Sun Microsystems - Beijing China /* structure for command UATH_CMD_WRITE_MAC */ 222*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 223*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_write_mac { 224*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t reg; 225*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t len; 226*56f9a274Sfei feng - Sun Microsystems - Beijing China uint8_t data[32]; 227*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 228*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 229*56f9a274Sfei feng - Sun Microsystems - Beijing China 230*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 231*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_ledsteady { /* WDCMSG_SET_LED_STEADY */ 232*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t lednum; 233*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_LED_LINK 0 234*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_LED_ACTIVITY 1 235*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t ledmode; 236*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_LED_OFF 0 237*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_LED_ON 1 238*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 239*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 240*56f9a274Sfei feng - Sun Microsystems - Beijing China 241*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 242*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_ledblink { /* WDCMSG_SET_LED_BLINK */ 243*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t lednum; 244*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t ledmode; 245*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t blinkrate; 246*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t slowmode; 247*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 248*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 249*56f9a274Sfei feng - Sun Microsystems - Beijing China 250*56f9a274Sfei feng - Sun Microsystems - Beijing China /* structure for command WDCMSG_RESET */ 251*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 252*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_reset { 253*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t flags; /* channel flags */ 254*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CHAN_TURBO 0x0100 255*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CHAN_CCK 0x0200 256*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CHAN_OFDM 0x0400 257*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CHAN_2GHZ 0x1000 258*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_CHAN_5GHZ 0x2000 259*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t freq; /* channel frequency */ 260*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t maxrdpower; 261*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t cfgctl; 262*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t twiceantennareduction; 263*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t channelchange; 264*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t keeprccontent; 265*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 266*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 267*56f9a274Sfei feng - Sun Microsystems - Beijing China 268*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 269*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_rateset { 270*56f9a274Sfei feng - Sun Microsystems - Beijing China uint8_t length; 271*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_MAX_NRATES 32 272*56f9a274Sfei feng - Sun Microsystems - Beijing China uint8_t set[UATH_MAX_NRATES]; 273*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 274*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 275*56f9a274Sfei feng - Sun Microsystems - Beijing China 276*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 277*56f9a274Sfei feng - Sun Microsystems - Beijing China /* structure for command WDCMSG_SET_BASIC_RATE */ 278*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_rates { 279*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t connid; 280*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t keeprccontent; 281*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t size; 282*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_rateset rateset; 283*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 284*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 285*56f9a274Sfei feng - Sun Microsystems - Beijing China 286*56f9a274Sfei feng - Sun Microsystems - Beijing China enum { 287*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_NONE = 0, 288*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11b, 289*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11a, 290*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11g, 291*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11a_TURBO, 292*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11g_TURBO, 293*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11a_TURBO_PRIME, 294*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11g_TURBO_PRIME, 295*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11a_XR, 296*56f9a274Sfei feng - Sun Microsystems - Beijing China WLAN_MODE_11g_XR, 297*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 298*56f9a274Sfei feng - Sun Microsystems - Beijing China 299*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 300*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_connection_attr { 301*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t longpreambleonly; 302*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_rateset rateset; 303*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t wlanmode; 304*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 305*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 306*56f9a274Sfei feng - Sun Microsystems - Beijing China 307*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 308*56f9a274Sfei feng - Sun Microsystems - Beijing China /* structure for command WDCMSG_CREATE_CONNECTION */ 309*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_create_connection { 310*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t connid; 311*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t bssid; 312*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t size; 313*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_connection_attr connattr; 314*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 315*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 316*56f9a274Sfei feng - Sun Microsystems - Beijing China 317*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 318*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_txq_attr { 319*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t priority; 320*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t aifs; 321*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t logcwmin; 322*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t logcwmax; 323*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t bursttime; 324*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t mode; 325*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t qflags; 326*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 327*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 328*56f9a274Sfei feng - Sun Microsystems - Beijing China 329*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 330*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_txq_setup { /* WDCMSG_SETUP_TX_QUEUE */ 331*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t qid; 332*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t len; 333*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_txq_attr attr; 334*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 335*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 336*56f9a274Sfei feng - Sun Microsystems - Beijing China 337*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 338*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_rx_filter { /* WDCMSG_RX_FILTER */ 339*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t bits; 340*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_UCAST 0x00000001 341*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_MCAST 0x00000002 342*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_BCAST 0x00000004 343*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_CONTROL 0x00000008 344*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_BEACON 0x00000010 /* beacon frames */ 345*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_PROM 0x00000020 /* promiscuous mode */ 346*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_PHY_ERR 0x00000040 /* phy errors */ 347*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_PHY_RADAR 0x00000080 /* radar phy errors */ 348*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_XR_POOL 0x00000400 /* XR group polls */ 349*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_RX_PROBE_REQ 0x00000800 350*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t op; 351*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_OP_INIT 0x0 352*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_OP_SET 0x1 353*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_OP_CLEAR 0x2 354*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_OP_TEMP 0x3 355*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_FILTER_OP_RESTORE 0x4 356*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 357*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 358*56f9a274Sfei feng - Sun Microsystems - Beijing China 359*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack(1) 360*56f9a274Sfei feng - Sun Microsystems - Beijing China struct uath_cmd_set_associd { /* WDCMSG_WRITE_ASSOCID */ 361*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t defaultrateix; 362*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t associd; 363*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t timoffset; 364*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t turboprime; 365*56f9a274Sfei feng - Sun Microsystems - Beijing China uint32_t bssid[2]; 366*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 367*56f9a274Sfei feng - Sun Microsystems - Beijing China #pragma pack() 368*56f9a274Sfei feng - Sun Microsystems - Beijing China 369*56f9a274Sfei feng - Sun Microsystems - Beijing China enum { 370*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_NONE, /* Sentinal to indicate "no config" */ 371*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_REG_DOMAIN, /* Regulatory Domain */ 372*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_RATE_CONTROL_ENABLE, 373*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_DEF_XMIT_DATA_RATE, /* NB: if rate control is not enabled */ 374*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_HW_TX_RETRIES, 375*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_SW_TX_RETRIES, 376*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_SLOW_CLOCK_ENABLE, 377*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_COMP_PROC, 378*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_USER_RTS_THRESHOLD, 379*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_XR2NORM_RATE_THRESHOLD, 380*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_XRMODE_SWITCH_COUNT, 381*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_PROTECTION_TYPE, 382*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_BURST_SEQ_THRESHOLD, 383*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_ABOLT, 384*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_IQ_LOG_COUNT_MAX, 385*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_MODE_CTS, 386*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_WME_ENABLED, 387*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_GPRS_CBR_PERIOD, 388*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_SERVICE_TYPE, 389*56f9a274Sfei feng - Sun Microsystems - Beijing China /* MAC Address to use. Overrides EEPROM */ 390*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_MAC_ADDR, 391*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_DEBUG_EAR, 392*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_INIT_REGS, 393*56f9a274Sfei feng - Sun Microsystems - Beijing China /* An ID for use in error & debug messages */ 394*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_DEBUG_ID, 395*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_COMP_WIN_SZ, 396*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_DIVERSITY_CTL, 397*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_TP_SCALE, 398*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_TPC_HALF_DBM5, 399*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_TPC_HALF_DBM2, 400*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_OVERRD_TX_POWER, 401*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_USE_32KHZ_CLOCK, 402*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_GMODE_PROTECTION, 403*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_GMODE_PROTECT_RATE_INDEX, 404*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_GMODE_NON_ERP_PREAMBLE, 405*56f9a274Sfei feng - Sun Microsystems - Beijing China CFG_WDC_TRANSPORT_CHUNK_SIZE, 406*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 407*56f9a274Sfei feng - Sun Microsystems - Beijing China 408*56f9a274Sfei feng - Sun Microsystems - Beijing China enum { 409*56f9a274Sfei feng - Sun Microsystems - Beijing China /* Sentinal to indicate "no capability" */ 410*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_NONE, 411*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_ALL, /* ALL capabilities */ 412*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_TARGET_VERSION, 413*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_TARGET_REVISION, 414*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_MAC_VERSION, 415*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_MAC_REVISION, 416*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_PHY_REVISION, 417*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_ANALOG_5GHz_REVISION, 418*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_ANALOG_2GHz_REVISION, 419*56f9a274Sfei feng - Sun Microsystems - Beijing China /* Target supports WDC message debug features */ 420*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_DEBUG_WDCMSG_SUPPORT, 421*56f9a274Sfei feng - Sun Microsystems - Beijing China 422*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_REG_DOMAIN, 423*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_COUNTRY_CODE, 424*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_REG_CAP_BITS, 425*56f9a274Sfei feng - Sun Microsystems - Beijing China 426*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_WIRELESS_MODES, 427*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_CHAN_SPREAD_SUPPORT, 428*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_SLEEP_AFTER_BEACON_BROKEN, 429*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_COMPRESS_SUPPORT, 430*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_BURST_SUPPORT, 431*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_FAST_FRAMES_SUPPORT, 432*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_CHAP_TUNING_SUPPORT, 433*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_TURBOG_SUPPORT, 434*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_TURBO_PRIME_SUPPORT, 435*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_DEVICE_TYPE, 436*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_XR_SUPPORT, 437*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_WME_SUPPORT, 438*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_TOTAL_QUEUES, 439*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_CONNECTION_ID_MAX, /* Should absorb CAP_KEY_CACHE_SIZE */ 440*56f9a274Sfei feng - Sun Microsystems - Beijing China 441*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_LOW_5GHZ_CHAN, 442*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_HIGH_5GHZ_CHAN, 443*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_LOW_2GHZ_CHAN, 444*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_HIGH_2GHZ_CHAN, 445*56f9a274Sfei feng - Sun Microsystems - Beijing China 446*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_MIC_AES_CCM, 447*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_MIC_CKIP, 448*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_MIC_TKIP, 449*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_MIC_TKIP_WME, 450*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_CIPHER_AES_CCM, 451*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_CIPHER_CKIP, 452*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_CIPHER_TKIP, 453*56f9a274Sfei feng - Sun Microsystems - Beijing China 454*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_TWICE_ANTENNAGAIN_5G, 455*56f9a274Sfei feng - Sun Microsystems - Beijing China CAP_TWICE_ANTENNAGAIN_2G, 456*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 457*56f9a274Sfei feng - Sun Microsystems - Beijing China 458*56f9a274Sfei feng - Sun Microsystems - Beijing China enum { 459*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_NONE, /* Sentinal to indicate "no status" */ 460*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_ALL, 461*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_SERVICE_TYPE, 462*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_WLAN_MODE, 463*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_FREQ, 464*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_BAND, 465*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_LAST_RSSI, 466*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_PS_FRAMES_DROPPED, 467*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_CACHED_DEF_ANT, 468*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_COUNT_OTHER_RX_ANT, 469*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_USE_FAST_DIVERSITY, 470*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_MAC_ADDR, 471*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_RX_GENERATION_NUM, 472*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_TX_QUEUE_DEPTH, 473*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_SERIAL_NUMBER, 474*56f9a274Sfei feng - Sun Microsystems - Beijing China ST_WDC_TRANSPORT_CHUNK_SIZE, 475*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 476*56f9a274Sfei feng - Sun Microsystems - Beijing China 477*56f9a274Sfei feng - Sun Microsystems - Beijing China enum { 478*56f9a274Sfei feng - Sun Microsystems - Beijing China TARGET_DEVICE_AWAKE, 479*56f9a274Sfei feng - Sun Microsystems - Beijing China TARGET_DEVICE_SLEEP, 480*56f9a274Sfei feng - Sun Microsystems - Beijing China TARGET_DEVICE_PWRDN, 481*56f9a274Sfei feng - Sun Microsystems - Beijing China TARGET_DEVICE_PWRSAVE, 482*56f9a274Sfei feng - Sun Microsystems - Beijing China TARGET_DEVICE_SUSPEND, 483*56f9a274Sfei feng - Sun Microsystems - Beijing China TARGET_DEVICE_RESUME, 484*56f9a274Sfei feng - Sun Microsystems - Beijing China }; 485*56f9a274Sfei feng - Sun Microsystems - Beijing China 486*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_MAX_TXBUFSZ \ 487*56f9a274Sfei feng - Sun Microsystems - Beijing China (sizeof (struct uath_chunk) + sizeof (struct uath_tx_desc) + \ 488*56f9a274Sfei feng - Sun Microsystems - Beijing China IEEE80211_MAX_LEN) 489*56f9a274Sfei feng - Sun Microsystems - Beijing China 490*56f9a274Sfei feng - Sun Microsystems - Beijing China /* 491*56f9a274Sfei feng - Sun Microsystems - Beijing China * it's not easy to measure how the chunk is passed into the host if the target 492*56f9a274Sfei feng - Sun Microsystems - Beijing China * passed the multi-chunks so just we check a minimal size we can imagine. 493*56f9a274Sfei feng - Sun Microsystems - Beijing China */ 494*56f9a274Sfei feng - Sun Microsystems - Beijing China #define UATH_MIN_RXBUFSZ (sizeof (struct uath_chunk)) 495*56f9a274Sfei feng - Sun Microsystems - Beijing China 496*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_ACCTON 0x083a /* Accton Technology */ 497*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_ATHEROS 0x168c /* Atheros Communications */ 498*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_ATHEROS2 0x0cf3 /* Atheros Communications */ 499*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_CONCEPTRONIC 0x0d8e /* Conceptronic */ 500*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_DLINK 0x2001 /* D-Link */ 501*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_GIGASET 0x1690 /* Gigaset */ 502*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_GLOBALSUN 0x16ab /* Global Sun Technology */ 503*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_IODATA 0x04bb /* I/O Data */ 504*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_MELCO 0x0411 /* Melco */ 505*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_NETGEAR 0x0846 /* BayNETGEAR */ 506*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_NETGEAR3 0x1385 /* Netgear */ 507*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_PHILIPS 0x0471 /* Philips */ 508*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_UMEDIA 0x157e /* U-MEDIA Communications */ 509*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_WISTRONNEWEB 0x1435 /* Wistron NeWeb */ 510*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_VENDOR_ZCOM 0x0cde /* Z-Com */ 511*56f9a274Sfei feng - Sun Microsystems - Beijing China 512*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ACCTON_SMCWUSBTG2 0x4506 /* SMCWUSBT-G2 */ 513*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ACCTON_SMCWUSBTG2_NF 0x4507 /* SMCWUSBT-G2 */ 514*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ATHEROS_AR5523 0x0001 /* AR5523 */ 515*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ATHEROS_AR5523_NF 0x0002 /* AR5523 */ 516*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ATHEROS2_AR5523_1 0x0003 /* AR5523 */ 517*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ATHEROS2_AR5523_1_NF 0x0002 /* AR5523 */ 518*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ATHEROS2_AR5523_2 0x0005 /* AR5523 */ 519*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ATHEROS2_AR5523_2_NF 0x0004 /* AR5523 */ 520*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ATHEROS2_AR5523_3 0x0007 /* AR5523 */ 521*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ATHEROS2_AR5523_3_NF 0x0006 /* AR5523 */ 522*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_CONCEPTRONIC_AR5523_1 0x7801 /* AR5523 */ 523*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_CONCEPTRONIC_AR5523_1_NF 0x7802 /* AR5523 */ 524*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_CONCEPTRONIC_AR5523_2 0x7811 /* AR5523 */ 525*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_CONCEPTRONIC_AR5523_2_NF 0x7812 /* AR5523 */ 526*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_DLINK_DWLAG122 0x3a04 /* DWL-AG122 */ 527*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_DLINK_DWLAG122_NF 0x3a05 /* DWL-AG122 */ 528*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_DLINK_DWLAG132 0x3a00 /* DWL-AG132 */ 529*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_DLINK_DWLAG132_NF 0x3a01 /* DWL-AG132 */ 530*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_DLINK_DWLG132 0x3a02 /* DWL-G132 */ 531*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_DLINK_DWLG132_NF 0x3a03 /* DWL-G132 */ 532*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_GIGASET_AR5523 0x0712 /* AR5523 */ 533*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_GIGASET_AR5523_NF 0x0713 /* AR5523 */ 534*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_GIGASET_SMCWUSBTG 0x0710 /* SMCWUSBT-G */ 535*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_GIGASET_SMCWUSBTG_NF 0x0711 /* SMCWUSBT-G */ 536*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_GLOBALSUN_AR5523_1 0x7801 /* AR5523 */ 537*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_GLOBALSUN_AR5523_1_NF 0x7802 /* AR5523 */ 538*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_GLOBALSUN_AR5523_2 0x7811 /* AR5523 */ 539*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_GLOBALSUN_AR5523_2_NF 0x7812 /* AR5523 */ 540*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_IODATA_USBWNG54US 0x0928 /* USB WN-G54/US */ 541*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_IODATA_USBWNG54US_NF 0x0929 /* USB WN-G54/US */ 542*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_MELCO_WLIU2KAMG54 0x0091 /* WLI-U2-KAMG54 */ 543*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_MELCO_WLIU2KAMG54_NF 0x0092 /* WLI-U2-KAMG54 */ 544*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_NETGEAR_WG111U 0x4300 /* WG111U */ 545*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_NETGEAR_WG111U_NF 0x4301 /* WG111U */ 546*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_NETGEAR3_WG111T 0x4252 /* WG111T */ 547*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_NETGEAR3_WG111T_NF 0x4251 /* WG111T */ 548*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_NETGEAR3_WPN111 0x5f00 /* WPN111 */ 549*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_NETGEAR3_WPN111_NF 0x5f01 /* WPN111 */ 550*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_PHILIPS_SNU6500 0x1232 /* SNU6500 */ 551*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_PHILIPS_SNU6500_NF 0x1233 /* SNU6500 */ 552*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_UMEDIA_AR5523_2 0x3205 /* AR5523 */ 553*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_UMEDIA_AR5523_2_NF 0x3206 /* AR5523 */ 554*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_UMEDIA_TEW444UBEU 0x3006 /* TEW-444UB EU */ 555*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_UMEDIA_TEW444UBEU_NF 0x3007 /* TEW-444UB EU */ 556*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_WISTRONNEWEB_AR5523_1 0x0826 /* AR5523 */ 557*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_WISTRONNEWEB_AR5523_1_NF 0x0827 /* AR5523 */ 558*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_WISTRONNEWEB_AR5523_2 0x082a /* AR5523 */ 559*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_WISTRONNEWEB_AR5523_2_NF 0x0829 /* AR5523 */ 560*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ZCOM_AR5523 0x0012 /* AR5523 */ 561*56f9a274Sfei feng - Sun Microsystems - Beijing China #define USB_PRODUCT_ZCOM_AR5523_NF 0x0013 /* AR5523 */ 562*56f9a274Sfei feng - Sun Microsystems - Beijing China 563*56f9a274Sfei feng - Sun Microsystems - Beijing China #ifdef __cplusplus 564*56f9a274Sfei feng - Sun Microsystems - Beijing China } 565*56f9a274Sfei feng - Sun Microsystems - Beijing China #endif 566*56f9a274Sfei feng - Sun Microsystems - Beijing China 567*56f9a274Sfei feng - Sun Microsystems - Beijing China #endif /* _UATH_REG_H */ 568