User`s guide

Aironet Wireless Communications, Inc. 7-44 Confidential and Proprietary
The following is sample code for transmitting an 802.11 packet:
typedef struct { /* transmit control header */
unsigned long SwSupport; /* for use by host */
unsigned short Status; /* OUTPUT: zero is success */
#define TXS_RETRY (1<<1) /* max retries */
#define TXS_AGED (1<<2) /* max msdu lifetime exceeded */
#define TXS_CANCELLAID (1<<3) /* cancelled for failed AID */
#define TXS_MACDISABLED (1<<4) /* mac was disabled by host */
#define TXS_LOSTASSOC (1<<5) /* lost association */
unsigned short PayloadLen;
unsigned short TxControl;
#define TXCTL_TXOK (1<<1) /* report if tx is ok */
#define TXCTL_TXEX (1<<2) /* report if tx fails */
#define TXCTL_802_3 (0<<3) /* 802.3 packet */
#define TXCTL_802_11 (1<<3) /* 802.11 mac packet */
#define TXCTL_ETHERNET (0<<4) /* payload has ethertype */
#define TXCTL_LLC (1<<4) /* payload is llc - (leave as is) */
#define TXCTL_NORELEASE (1<<5) /* returns FID to host on tx complete */
#define TXCTL_USERTS (1<<6) /* forces use of RTS/CTS */
unsigned short AID; /* AP ONLY - association ID */
unsigned char LongRetryUsed; /* OUTPUT: number of retries used */
unsigned char ShortRetryUsed; /* OUTPUT: number of retries used */
unsigned char TxAssocCnt; /* AP ONLY - association count */
unsigned char TxBitRate; /* AP must use, optional for client to set data rate to use */
unsigned char MaxLongRetry; /* AP ONLY - limit retries for packet */
unsigned char MaxShortRetry; /* AP ONLY - limit retries for packet */
unsigned char Reserved[2];
} tdsTxCtlHdr;
unsigned short gapForTx802_11[] = { 6, 0, 0, 0}; /* six byte gap */
tdsCommand Cmd;
tdsResponse Rsp;
tdsTxCtlHdr TxCtlHdr;
transmit_802_11_packet(tdsMacHdr *p802Hdr, void *pPayload, int lenPayload)
{
unsigned short TxFid, TxControl, PayloadLen, EvStat, Status;
// allocate transmit packet
if ( (TxFid = transmit_allocate(lenPayload)) == 0) return ERROR;
// write the Transmit control options
memset(TxCtlHdr, 0, sizeof(TxCtlHdr));
TxCtlHdr.PayloadLen = lenPayload;
TxCtlHdr.TxControl = TXCTL_TXOK | TXCTL_TXEX | TXCTL_802_11
| TXCTL_ETHERNET | TXCTL_RELEASE;
TxCtlHdr.AID = association ID for the destination;
TxCtlHdr.TxBitRate = bit rate to use for the destination;
TxCtlHdr.TxAssocCnt = current assoc count from last received
(re)associate response packet;
TxCtlHdr.MaxLongRetry = number of retries desired;