original files of m241
This commit is contained in:
@@ -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 */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user