original files of m241
This commit is contained in:
@@ -0,0 +1,164 @@
|
||||
/* dot11Bsp.h - Contains definitions used to communicate with the BSP */
|
||||
|
||||
/* Copyright 2004 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
02g,27feb08,hfc added entries for vxbus driver
|
||||
02f,01mar07,spw Moved device / vendor id definitions to this file
|
||||
02e,09sep05,rb Added countryCode as boot parameter
|
||||
02d,25jan05,rb Made security components optionally buildable
|
||||
02c,07jan05,rb Added members to dot11BspFuncs for 802.1X Integration
|
||||
02b,01nov04,rb Added settings for security policy
|
||||
02a,25aug04,rb Wind River Wireless Ethernet Driver 2.0 FCS
|
||||
*/
|
||||
|
||||
/*
|
||||
DESCRIPTION
|
||||
|
||||
This file contains the definitions necessary for the DOT11 Frameowrk to load
|
||||
the Atheros cards from the BSP, as defined in sysAr521xEnd.c
|
||||
|
||||
*/
|
||||
|
||||
#ifndef __INCdot11Bsph
|
||||
#define __INCdot11Bsph
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#ifdef VXBUS
|
||||
|
||||
#include <hwif/vxbus/vxBus.h>
|
||||
#include <../src/hwif/h/vxbus/vxbAccess.h>
|
||||
#include <hwif/vxbus/vxbPciLib.h>
|
||||
#include <hwif/util/vxbDmaBufLib.h>
|
||||
#include <hwif/util/vxbParamSys.h>
|
||||
|
||||
#endif /*VXBUS*/
|
||||
/* This structure is used to hold basic default WLAN configuration parameters
|
||||
that are used by the device driver on start up. They can be defined by
|
||||
the user through the project facility or by making modifications to this
|
||||
file and using the command line build option */
|
||||
typedef struct dot11_default_config_s
|
||||
{
|
||||
char* ssid; /* Default SSID */
|
||||
UINT32 mode; /* Default Station mode */
|
||||
UINT32 radio; /* Default radio */
|
||||
UINT32 channel; /* Default channel */
|
||||
UINT32 country;
|
||||
|
||||
UINT32 secPol; /* Security Policy : a bitmap of allowed sec. policies */
|
||||
UINT32 authPol; /* Authentication Policy: specifies 802.1X or PSK */
|
||||
UINT32 ciphPol; /* Cipher Policy: Specifies list of allowed ciphers */
|
||||
|
||||
UINT8 preSharedKey[64]; /* If authPol == PSK, then this contains the PSK*/
|
||||
char * rsnPassphrase;
|
||||
} DOT11_DEFAULT_CONFIG;
|
||||
|
||||
#ifndef VXBUS
|
||||
|
||||
typedef struct dot11_bsp_func
|
||||
{
|
||||
/* Connect interrupt handler to vector */
|
||||
void (*sysIntConnect)(int, int, int, STATUS*);
|
||||
/* Disconnect interrupt handler from vector */
|
||||
void (*sysIntDisconnect)(int, int, int, STATUS*);
|
||||
/* System level interrupt enable */
|
||||
void (*sysIntEnable)(INT32, STATUS*);
|
||||
/* System level interrupt disable */
|
||||
void (*sysIntDisable)(INT32, STATUS*);
|
||||
/* Micro second delay */
|
||||
void (*sysUsDelay)(int);
|
||||
/* Cache invalidate function */
|
||||
STATUS (*sysCacheInvalidate)(void*, UINT32);
|
||||
/* Cache flush function */
|
||||
STATUS (*sysCacheFlush)(void*, UINT32);
|
||||
/* Converts bus address to CPU address */
|
||||
UINT32 (*sysPhysToVirt) (UINT32);
|
||||
/* Converts CPU address to bus address */
|
||||
UINT32 (*sysVirtToPhys) (UINT32);
|
||||
/* Write buffer flush function */
|
||||
STATUS (*sysWbufFlush)();
|
||||
/* Memory poll deallocation function */
|
||||
void (*sysDmaMemFree)(UINT32);
|
||||
|
||||
/* SME types declared here so that the configlettes / cmd line can
|
||||
include or exclude them at will */
|
||||
STATUS (*essInit)(DOT11_FW*);
|
||||
STATUS (*ibssInit)(DOT11_FW*);
|
||||
STATUS (*apInit)(DOT11_FW*);
|
||||
STATUS (*rsnInit)(DOT11_FW*);
|
||||
|
||||
|
||||
} DOT11_BSP_FUNC;
|
||||
|
||||
typedef struct dot11_bsp_info
|
||||
{
|
||||
UINT32 magicNum; /* version */
|
||||
UINT32 memBaseAddr; /* Mem base */
|
||||
UINT32 ivec; /* IRQ vector */
|
||||
UINT32 ilevel; /* IRQ level */
|
||||
UINT16 pciVendorId; /* PCI Vendor Id */
|
||||
UINT16 pciSubVendorId; /* PCI Subvendor Id*/
|
||||
UINT16 pciDeviceId; /* PCI Dev ID */
|
||||
UINT16 pciSubDeviceId; /* PCI Sub dev Id */
|
||||
UINT32 dmaBuffAddr; /* DMA buffer addr */
|
||||
UINT32 dmaBufSize; /* dma Buffer Size */
|
||||
UINT32 cacheLineSz; /* cache line size */
|
||||
UINT32 cfgFlag; /* configuration flag */
|
||||
UINT8 pciChipSetRev; /* chipset version */
|
||||
DOT11_BSP_FUNC* binding; /* access function provided by BSP */
|
||||
DOT11_DEFAULT_CONFIG* config; /* Default configuration */
|
||||
} DOT11_BSP_INFO;
|
||||
|
||||
#endif /* VXBUS */
|
||||
#define DOT11_BSP_INFO_VER_0 0x1001
|
||||
|
||||
/*
|
||||
* Supported device and vendor IDs of AR521X devices. Newer chipset
|
||||
* versions or OEM versions will likely need new PCI_DEVICE_ID and/or
|
||||
* PCI_VENDOR_ID entries.
|
||||
*/
|
||||
/* AR5211 */
|
||||
#define AR5211_VENDOR_ID (0x168C)
|
||||
#define AR5211_DEFAULT (0x1112) /* No eeprom HW default */
|
||||
#define AR5311_DEVID (0x0011) /* Final ar5311 devid */
|
||||
#define AR5211_DEVID (0x0012) /* Final ar5211 devid */
|
||||
#define AR5211_LEGACY (0xFF12) /* Original emulation board */
|
||||
#define AR5211_FPGA11B (0xF11B) /* 11b emulation board */
|
||||
#define AR5211_SREV_1_0 (0x40)
|
||||
#define AR5211_SREV_1_1 (0x42)
|
||||
#define AR5211_SREV_REG (0x4020)
|
||||
|
||||
/* AR5212 */
|
||||
#define AR5212_VENDOR_ID (0x168C)
|
||||
#define AR5212_DEFAULT (0x1113) /* No eeprom HW default */
|
||||
#define AR5212_DEVID (0x0013) /* ar5212 devid */
|
||||
#define AR5312_DEVID (0x0030) /* Final ar5312 devid */
|
||||
#define AR5212_SREV_1_0 (0x50)
|
||||
#define AR5212_SREV_1_1 (0x51)
|
||||
#define AR5212_SREV_1_3 (0x53)
|
||||
#define AR5212_SREV_1_4 (0x56)
|
||||
#define AR5212_SREV_REG (0x4020)
|
||||
|
||||
/* AR5212 compatible devid's also attach to 5212 */
|
||||
#define AR5212_DEVID_0014 (0x0014) /* ar5212 forward compatibility id */
|
||||
#define AR5212_DEVID_0015 (0x0015) /* ar5212 forward compatibility id */
|
||||
#define AR5212_DEVID_0016 (0x0016) /* ar5212 forward compatibility id */
|
||||
#define AR5212_DEVID_0017 (0x0017) /* ar5212 forward compatibility id */
|
||||
#define AR5212_DEVID_0018 (0x0018) /* ar5212 forward compatibility id */
|
||||
#define AR5212_DEVID_0019 (0x0019) /* ar5212 forward compatibility id */
|
||||
#define AR5212_DEVID_001A (0x001A) /* ar5212 forward compatibility id */
|
||||
#define AR5212_DEVID_001B (0x001B) /* ar5212 forward compatibility id */
|
||||
|
||||
/* AR5213 */
|
||||
#define AR5213_SREV_1_0 (0x55)
|
||||
#define AR5213_SREV_REG (0x4020)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __INCdot11Bsph */
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
/* dot11HddLib.h - Contains function prototypes for the built-in HDD types*/
|
||||
|
||||
/* Copyright 2004 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
02b,01mar07,spw Remove duplicated vendor / device id definitions
|
||||
02a,25aug04,rb Wind River Wireless Ethernet Driver 2.0 FCS
|
||||
*/
|
||||
|
||||
#ifndef __INCdot11HddLibh
|
||||
#define __INCdot11HddLibh
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/* This is the initialize function for the AR521X driver for Atheros based
|
||||
802.11 A/B/G solutions using the Atheros 5211/5212 MAC */
|
||||
STATUS ar52Initialize ( DOT11_FW * pDot11 );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __INCdot11JddLibh */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,123 @@
|
||||
/* dot11RsnLib.h - Contains definitions for the 802.11 RSN Library */
|
||||
|
||||
/* Copyright 2004 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
02x,02mar10,kr Remove CCI
|
||||
01c,20jan05,rb Implement MIC countermeasures
|
||||
01b,14jan05,rb Added AESKW macros
|
||||
01a,8nov04,rb Initial revision
|
||||
*/
|
||||
|
||||
#ifndef __INCdot11RsnLibh
|
||||
#define __INCdot11RsnLibh
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#include <openssl/sha.h> /* required for HMAC */
|
||||
#include <openssl/md5.h> /* required for HMAC */
|
||||
|
||||
#define DOT11_HMAC_SHA1 1
|
||||
#define DOT11_HMAC_MD5 2
|
||||
|
||||
struct DOT11_HMAC_CTX_ST
|
||||
{
|
||||
union {
|
||||
SHA_CTX sha;
|
||||
MD5_CTX md5;
|
||||
} hash_ctx;
|
||||
int hash_id;
|
||||
int key_len;
|
||||
UINT8 k_ipad[64];
|
||||
UINT8 k_opad[64];
|
||||
};
|
||||
typedef struct DOT11_HMAC_CTX_ST DOT11_HMAC_CTX;
|
||||
|
||||
VOID dot11HmacInit(DOT11_HMAC_CTX* ctx, UINT8* key, UINT32 key_len, int hash_id);
|
||||
VOID dot11HmacUpdate(DOT11_HMAC_CTX* ctx, UINT8* data, UINT32 data_len);
|
||||
VOID dot11HmacFinal(DOT11_HMAC_CTX* ctx, UINT8* digest, UINT32* digest_len);
|
||||
VOID dot11Hmac(UINT8* key, UINT32 key_len, UINT8* data, UINT32 data_len,
|
||||
UINT8* digest, UINT32* digest_len, int hash_id);
|
||||
|
||||
STATUS dot11CryptoAesKeyWrap(UINT8 *key, int keyLength,
|
||||
UINT8 *iv, int ivLength,
|
||||
UINT8 *plainText, int plainTextLength,
|
||||
UINT8 *cipherText, UINT32 *cipherTextLength );
|
||||
|
||||
STATUS dot11CryptoAesKeyUnwrap(UINT8 *key, int keyLength,
|
||||
UINT8 *iv, int ivLength,
|
||||
UINT8 *cipherText, int cipherTextLength,
|
||||
UINT8 *plainText, UINT32 *plainTextLength);
|
||||
|
||||
STATUS dot11CryptoRc4(UINT8* key, int keyLen, int keyStreamOffset,
|
||||
UINT8 *inputData, UINT32 inputLength,
|
||||
UINT8 *outputData, UINT32 *outputDataLen);
|
||||
|
||||
void dot11RandNumInit(void);
|
||||
void dot11RandNum(UINT8 *buffer, UINT32 byteCount);
|
||||
|
||||
/***************************************************************************
|
||||
* DOT11_RSN_IE - Used for 802.11i and WPA IEs
|
||||
****************************************************************************/
|
||||
typedef struct
|
||||
{
|
||||
UINT8 oui[3];
|
||||
UINT8 suiteType;
|
||||
} _WRS_PACK_ALIGN(1) DOT11_RSN_SUITE;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 elementId;
|
||||
UINT8 length;
|
||||
UINT16 version;
|
||||
DOT11_RSN_SUITE grpCipherSuite;
|
||||
|
||||
/* The rest of the fields are variable length and optional, so we'll let
|
||||
them be dynamically generated and not represented in this structure */
|
||||
|
||||
} _WRS_PACK_ALIGN(1) DOT11_RSN_IE;
|
||||
|
||||
#define DOT11_RSN_IE_VERSION 1
|
||||
#define DOT11_RSN_OUI_0 0x00
|
||||
#define DOT11_RSN_OUI_1 0x0f
|
||||
#define DOT11_RSN_OUI_2 0xac
|
||||
|
||||
|
||||
#define DOT11_WPA_IE_VERSION 1
|
||||
#define DOT11_WPA_OUI_0 0x00
|
||||
#define DOT11_WPA_OUI_1 0x50
|
||||
#define DOT11_WPA_OUI_2 0xf2
|
||||
|
||||
/* These are the values from 7.3.2.25.1 of IEEE 802.11i for cipher suites */
|
||||
#define DOT11_RSN_SUITE_GROUP 0
|
||||
#define DOT11_RSN_SUITE_WEP40 1
|
||||
#define DOT11_RSN_SUITE_WEP104 5
|
||||
#define DOT11_RSN_SUITE_TKIP 2
|
||||
#define DOT11_RSN_SUITE_AES 4
|
||||
|
||||
/* These are the values from 7.3.2.25.2 of IEEE 802.11 for auth suites */
|
||||
#define DOT11_RSN_SUITE_8021X 1
|
||||
#define DOT11_RSN_SUITE_PSK 2
|
||||
|
||||
#define DOT11_AUTH_SUITE_TO_AUTHPOL(x) x
|
||||
|
||||
/* This is used in the WPA IE to distinguish which WPA feature is being
|
||||
advertised */
|
||||
#define DOT11_WPA_SUITE_ADVERTISEMENT 1
|
||||
|
||||
#define DOT11_SHA_DIGESTLEN 20 /* Bytes */
|
||||
#define DOT11_PBKDF2_ITERATION 4096
|
||||
#define DOT11_PBKDF2_MINCHAR 32
|
||||
#define DOT11_PBKDF2_MAXCHAR 126
|
||||
|
||||
#define DOT11_AESKW_IV_LEN 8
|
||||
|
||||
#define DOT11_MIC_FAILURE_TIME (sysClkRateGet() * 60)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __INCdot11RsnLibh */
|
||||
@@ -0,0 +1,36 @@
|
||||
/* dot11SmeApLib.h - Contains the main definitions for Ap Mode. */
|
||||
|
||||
/* Copyright 2004 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
02a,25aug04,rb Wind River Wireless Ethernet Driver 2.0 FCS
|
||||
*/
|
||||
|
||||
#ifndef __INCdot11SmeApLibh
|
||||
#define __INCdot11SmeApLibh
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#include "vxWorks.h"
|
||||
|
||||
/* These are the state variables for the ACL */
|
||||
#define DOT11_AP_ACL_DISABLED 0
|
||||
#define DOT11_AP_ACL_ALLOW 1
|
||||
#define DOT11_AP_ACL_DENY 2
|
||||
|
||||
/* Values used for dot11SmeApPsFlush() */
|
||||
#define DOT11_PM_FLUSH TRUE
|
||||
#define DOT11_PM_SINGLE FALSE
|
||||
|
||||
/* Return values from dot11SmeApPsFlush() */
|
||||
#define DOT11_PM_NO_DATA 0
|
||||
#define DOT11_PM_LAST_DATA 1
|
||||
#define DOT11_PM_MORE_DATA 2
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __INCdot11SmeApLibh */
|
||||
@@ -0,0 +1,178 @@
|
||||
/* dot11SmeEssLib.h - Contains the main definitions for Ess Mode. */
|
||||
|
||||
/* Copyright 2004-2006 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
02c,31oct08,mry fix for defect WIND00139450
|
||||
02b,11dec06,tfo Fix various roaming issues.
|
||||
02a,25aug04,rb Wind River Wireless Ethernet Driver 2.0 FCS
|
||||
*/
|
||||
|
||||
#ifndef __INCdot11SmeEssLibh
|
||||
#define __INCdot11SmeEssLibh
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#include "vxWorks.h"
|
||||
|
||||
/**************************************************************************
|
||||
* DOT11_ESS_SM - State machine for the ESS SME
|
||||
***************************************************************************/
|
||||
typedef struct /* DOT11_ESS_SM */
|
||||
{
|
||||
STATUS (*resetReqProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*joinReqProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*bssDiscoveredProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*authSuccessProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*authTimeoutProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*authFailProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*assocSuccessProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*assocFailProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*assocTimeoutProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*deauthProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*disassocProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*lqNoSignalProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*lqProbationProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*lqMakeDoProcess)(DOT11_FW * pDot11);
|
||||
STATUS (*sharedKeyProcess)(DOT11_FW * pDot11);
|
||||
|
||||
SEM_ID smLockSem;
|
||||
MSG_Q_ID eventQueue;
|
||||
int currentState;
|
||||
int stateTaskId;
|
||||
|
||||
} DOT11_ESS_SM;
|
||||
|
||||
#define DOT11_ESS_STATE_TASK_NAME "tEssState%d"
|
||||
#define DOT11_ESS_STATE_TASK_PRI 66
|
||||
#define DOT11_ESS_STATE_TASK_STACK (4 * 1024)
|
||||
#define DOT11_ESS_STATE_MAX_MSG 64
|
||||
#define DOT11_ESS_STATE_TASK_SHUTDOWN_TIME ((sysClkRateGet() / 50) + 2)
|
||||
#define DOT11_ESS_STATE_LOCK_TIME (sysClkRateGet() / 4)
|
||||
|
||||
/*****************************************************************************
|
||||
* DOT11_ESS_EVENTS - Events that drive the ESS state machine
|
||||
*****************************************************************************/
|
||||
|
||||
/* RESET_REQ - can be called from any state. Will bring the device back to the
|
||||
NO_ESS state */
|
||||
#define DOT11_ESS_RESET_REQ 1
|
||||
|
||||
/* JOIN_REQ - called from any state. Used to join a new BSS. Will move the
|
||||
SM to the SEARCHING state */
|
||||
#define DOT11_ESS_JOIN_REQ 2
|
||||
|
||||
/* BSS_DISCOVERED - generated from the SCANNING or LINK_PROB states when a new
|
||||
BSS matching the scanning criteria has been found */
|
||||
#define DOT11_ESS_BSS_DISCOVERED 3
|
||||
|
||||
/* AUTH_SUCCESS - Generated from the AUTHENTICATING state when the
|
||||
authentication was successful */
|
||||
#define DOT11_ESS_AUTH_SUCCESS 4
|
||||
|
||||
/* TIMEOUT - Generated from the AUTHENTICATING or ASSOCIATING states when the
|
||||
station failed to complete assoc or auth in the specified time */
|
||||
#define DOT11_ESS_AUTH_TIMEOUT 5
|
||||
|
||||
/* AUTH_FAIL - Generated by the AUTHENTICATING state when the AP denies the
|
||||
station authentication */
|
||||
#define DOT11_ESS_AUTH_FAIL 6
|
||||
|
||||
/* ASSOC_SUCCESS - Generated by the ASSOCIATING state when the station
|
||||
completes association successfully */
|
||||
#define DOT11_ESS_ASSOC_SUCCESS 7
|
||||
|
||||
/* ASSOC_FAIL - Generated by the ASSOCIATING state when the station is denied
|
||||
association */
|
||||
#define DOT11_ESS_ASSOC_FAIL 8
|
||||
|
||||
/* ASSOC_TIMEOUT - Generated by the ASSOCIATING state when the AP does not
|
||||
respond*/
|
||||
#define DOT11_ESS_ASSOC_TIMEOUT 9
|
||||
|
||||
/* DEAUTH - Generated in response to a user request to de-authenticate the
|
||||
station. If associated, a deassociation occurs before the actual
|
||||
deauthentication packet is sent out. */
|
||||
#define DOT11_ESS_DEAUTH 10
|
||||
|
||||
/* DISASSOC - Generated in response to a user request to disassociate the
|
||||
station. */
|
||||
#define DOT11_ESS_DISASSOC 11
|
||||
|
||||
/* LQ_NO_SIGNAL - Generated in the CONNECTED state when the station has not
|
||||
received a packet (or beacon) from the AP in a set time period. */
|
||||
#define DOT11_ESS_LQ_NO_SIGNAL 12
|
||||
|
||||
/* LQ_PROBATION - Generated in the CONNECTED state when the average signal
|
||||
level drops below a set threshold */
|
||||
#define DOT11_ESS_LQ_PROBATION 13
|
||||
|
||||
/* LQ_MAKE_DO - Generated in the LINK_PROB state when a stronger AP in the ESS
|
||||
cannot be found */
|
||||
#define DOT11_ESS_LQ_MAKE_DO 14
|
||||
|
||||
/* SHUTDOWN - a pseudo-event that shuts down the ESS state machine and frees
|
||||
all resources used by it */
|
||||
#define DOT11_ESS_SHUTDOWN 15
|
||||
|
||||
/* DOT11_ESS_SKA - generated from ATHENTICATING state when shared key
|
||||
is being used. It signifies the receipt of stage 2, and triggers the
|
||||
transmittion of stage 3. */
|
||||
#define DOT11_ESS_SKA 16
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* DOT11_ESS_STATES - Possible states for the ESS SM
|
||||
*****************************************************************************/
|
||||
typedef enum
|
||||
{
|
||||
SME_ESS_NOESS = 0, /* Base initialized state. Not operational */
|
||||
SME_ESS_SCANNING, /* Looking for a specific ESS or any ESS */
|
||||
SME_ESS_AUTHENTICATING,/* Chose an ESS - sent auth seq 1 */
|
||||
SME_ESS_AUTH_SHARED, /* In the middle of a SKA exchange, sent #3 */
|
||||
SME_ESS_ASSOCIATING, /* Authenticated. Send Assoc Req. */
|
||||
SME_ESS_CONNECTED, /* Authenticated and associated. Fully connected*/
|
||||
SME_ESS_LINK_PROB, /* Looking for better AP. Still connectect to old*/
|
||||
SNE_ESS_STATES_MAX
|
||||
} SME_ESS_STATE;
|
||||
|
||||
/*****************************************************************************
|
||||
* DOT11_ESS_SCAN_MESSAGES - Messages passed to the ESS Scan task
|
||||
******************************************************************************/
|
||||
#define DOT11_ESS_SCAN_MAX_MSGS 16
|
||||
#define DOT11_ESS_SCAN_TASK_PRI (DOT11_ESS_STATE_TASK_PRI + 1)
|
||||
#define DOT11_ESS_SCAN_TASK_STACK 4096
|
||||
#define DOT11_ESS_SCAN_TASK_NAME "tDot11Scan%d"
|
||||
#define DOT11_ESS_SCAN_TASK_EXIT_WAIT (sysClkRateGet() / 2)
|
||||
#define DOT11_ESS_SCAN_WAIT (sysClkRateGet() / 4)
|
||||
|
||||
/* This is the amount of time that is required between probation periods.
|
||||
If the device tried to enter probation more frequently than this, the
|
||||
event will be dropped */
|
||||
#define DOT11_ESS_PROBATION_MIN_DELAY (sysClkRateGet() * 30)
|
||||
|
||||
#define DOT11_ESS_PROBATION_RESCAN_WAIT ((sysClkRateGet() / 100) + 1)
|
||||
|
||||
typedef enum
|
||||
{
|
||||
DOT11_ESS_SCAN_START,
|
||||
DOT11_ESS_SCAN_STOP,
|
||||
DOT11_ESS_PROB_START,
|
||||
DOT11_ESS_PROB_STOP,
|
||||
DOT11_ESS_EXIT
|
||||
} DOT11_ESS_SCAN_MESSAGE;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __INCdot11SmeEssLibh */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
/* dot11SmeIbssLib.h - Contains the main definitions for IBSS Mode. */
|
||||
|
||||
/* Copyright 2004 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
02a,25aug04,rb Wind River Wireless Ethernet Driver 2.0 FCS
|
||||
*/
|
||||
|
||||
#ifndef __INCdot11SmeIbssLibh
|
||||
#define __INCdot11SmeIbssLibh
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#include "vxWorks.h"
|
||||
|
||||
/* Wait two ticks for a task to delete itself */
|
||||
#define DOT11_IBSS_TASK_DELETE_TIMEOUT 2
|
||||
|
||||
/***********************************************************************
|
||||
* IBSS STATE TASK - This section contains definitions used by the state
|
||||
* task
|
||||
************************************************************************/
|
||||
|
||||
/* These are the parameters used to set up the stat task */
|
||||
#define DOT11_IBSS_STATE_TASK_NAME "tIbssState%d"
|
||||
#define DOT11_IBSS_STATE_TASK_PRI 166
|
||||
#define DOT11_IBSS_STATE_TASK_STACK 3000
|
||||
#define DOT11_IBSS_STATE_MAX_MSGS 64
|
||||
|
||||
/* States that are possible in the IBSS state machine */
|
||||
typedef enum
|
||||
{
|
||||
DOT11_IBSS_STATE_NOIBSS, /* Initial state */
|
||||
DOT11_IBSS_STATE_SEARCHING, /* Performing a search for the IBSS */
|
||||
DOT11_IBSS_STATE_SYNC,
|
||||
DOT11_IBSS_STATE_CONNECTED /* Connected to an IBSS */
|
||||
} DOT11_IBSS_STATE;
|
||||
|
||||
/* Events that are passed to the event queue thought sme->linkEventNotify() */
|
||||
typedef enum
|
||||
{
|
||||
DOT11_IBSS_EV_RESET,
|
||||
DOT11_IBSS_EV_JOIN_REQ,
|
||||
DOT11_IBSS_EV_SYNC_IBSS,
|
||||
DOT11_IBSS_EV_CREATE_IBSS,
|
||||
DOT11_IBSS_EV_JOIN_IBSS,
|
||||
DOT11_IBSS_EV_SHUTDOWN
|
||||
} DOT11_IBSS_EV;
|
||||
|
||||
#define DOT11_IBSS_BEACON_START_IMMED 0
|
||||
#define DOT11_IBSS_BEACON_START_RESUME -1
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __INCdot11SmeIbssLibh */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
/* dot11SmeLib.h - Contains PRIVATE definitions for intra-SME use */
|
||||
|
||||
/* Copyright 2004 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
02a,25aug04,rb Wind River Wireless Ethernet Driver 2.0 FCS
|
||||
*/
|
||||
|
||||
#ifndef __INCdot11SmeLibh
|
||||
#define __INCdot11SmeLibh
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#include <drv/wlan/dot11Lib.h>
|
||||
|
||||
/* Known station list functions */
|
||||
STATUS dot11KslInit(DOT11_FW * pDot11);
|
||||
|
||||
/* Station Management Entity functions */
|
||||
STATUS dot11SmeEssInit(DOT11_FW * pDot11 );
|
||||
|
||||
STATUS dot11SmeActualRateCalc(DOT11_FW * pDot11, DOT11_RATES * pRates1,
|
||||
DOT11_RATES * pRates2,
|
||||
DOT11_RATES * pRates3,
|
||||
DOT11_RATES * pActualRates);
|
||||
|
||||
STATUS dot11SmeRateSort (DOT11_RATES * pRates );
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __INCdot11SmeLibh */
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
/* dot11SmeLib.h - Contains PRIVATE definitions for intra-SME use */
|
||||
|
||||
/* Copyright 2004, 2007 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
01b,22sep05,rb Fix bad prototype of dot11ChannelSet()
|
||||
01a,12sep05,rb Initial verson
|
||||
*/
|
||||
|
||||
/*
|
||||
DESCRIPTION
|
||||
|
||||
This file contains prototypes for using dot11Test.c. To use this module, include "802.11 command line utilities and test routines" from Workbench
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __INCdot11Testh
|
||||
#define __INCdot11Testh
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#include <drv/wlan/dot11UsrLib.h>
|
||||
|
||||
|
||||
STATUS dot11TestIoctl(int ifNum, int cmd, caddr_t data);
|
||||
|
||||
VOID dot11TestInit(void);
|
||||
STATUS dot11SSIDSet(int ifNum, char * ssid);
|
||||
STATUS dot11SSIDGet(int ifNum);
|
||||
STATUS dot11ModeSet(int ifNum,int mode);
|
||||
STATUS dot11ModeNone(int ifNum);
|
||||
STATUS dot11ModeEss(int ifNum);
|
||||
STATUS dot11ModeIbss(int ifNum);
|
||||
STATUS dot11ModeAp(int ifNum);
|
||||
STATUS dot11PmSet(int ifNum, BOOL pmEnabled);
|
||||
STATUS dot11PmGet(int ifNum);
|
||||
STATUS dot11ChannelSet(int ifNum,int channel);
|
||||
STATUS dot11SecPolSet(int ifNum, int secPol);
|
||||
STATUS dot11AuthPolSet(int ifNum,int authPol);
|
||||
STATUS dot11CipherPolSet(int ifNum, int cipherPol);
|
||||
STATUS dot11PassphraseSet(int ifNum, char * passphrase);
|
||||
STATUS dot11PskSet(int ifNum,UINT8 *psk);
|
||||
STATUS dot11WepSet(int ifNum,int encryptType);
|
||||
STATUS dot11WepDefaultKeySet(int ifNum,int keySlot);
|
||||
STATUS dot11WepSkSet(int ifNum,int authType);
|
||||
STATUS dot11TxPowerScaleSet(int ifNum, UINT32 scale );
|
||||
STATUS dot11WepKeySet(int ifNum,int keySlot, UINT8 * keyData );
|
||||
STATUS dot11RateSet(int ifNum, int numRates, ...);
|
||||
STATUS dot11CtsRtsSet(int ifNum, int rtsThreshold);
|
||||
STATUS dot11FragThreshSet(int ifNum, int fragThresh);
|
||||
STATUS dot11RadioModeSet(int ifNum, int radioMode );
|
||||
STATUS dot11LongRetrySet(int ifNum, int retry);
|
||||
STATUS dot11ShortRetrySet(int ifNum,int retry);
|
||||
STATUS dot11LongRetryGet(int ifNum);
|
||||
STATUS dot11ShortRetryGet(int ifNum);
|
||||
STATUS dot11CountryCodeSet(int ifNum,int cc);
|
||||
STATUS dot11SuppRateGet(int ifNum);
|
||||
STATUS dot11ChannelGet(int ifNum);
|
||||
STATUS dot11AuthTypeSet(int ifNum,int cc);
|
||||
STATUS dot11Stats(int ifNum);
|
||||
STATUS dot11Scan(int ifNum,char * ssid);
|
||||
STATUS dot11ChannelListGet(int ifNum);
|
||||
STATUS dot11BeaconSet(int ifNum,int beaconInterval);
|
||||
STATUS dot11MultiDomainSet(int ifNum,BOOL enable);
|
||||
STATUS dot11SSIDHide(int ifNum,UINT32 ssidFeatures);
|
||||
STATUS dot11ScanTypeSet(int ifNum, UINT32 scanType);
|
||||
STATUS dot11ScanTypeGet(int ifNum);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __INCdot11Testh */
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
/* dot11TimerLib.h - Contains the main definitions for the 802.11 timer fw*/
|
||||
|
||||
/* Copyright 2004 Wind River Systems, Inc. */
|
||||
|
||||
/*
|
||||
Modification History
|
||||
--------------------
|
||||
02c,11oct18,whu Added extern C declaration (VXW6-86818)
|
||||
02b,27feb08,hfc Added entries for vxbus driver
|
||||
02a,25aug04,rb Wind River Wireless Ethernet Driver 2.0 FCS
|
||||
*/
|
||||
|
||||
#include <vxWorks.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
STATUS dot11TimerInit(spinlockIsr_t isrLock);
|
||||
|
||||
STATUS dot11TimerDestroy();
|
||||
int dot11TimerAdd(int delayTicks, FUNCPTR action, int param0, int param1);
|
||||
STATUS dot11TimerDel(int timerId);
|
||||
STATUS dot11TimerShow();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user