80aba53616
This patch moves #includes from sysdef.h and common.h to the files which actually need them. This makes the dependencies less complex and allows us to move code around much easily. Acked-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
205 lines
5.3 KiB
C
205 lines
5.3 KiB
C
#ifndef __WINBOND_MLME_H
|
|
#define __WINBOND_MLME_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/spinlock.h>
|
|
|
|
#include "mac_structures.h"
|
|
#include "mds_s.h"
|
|
|
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
// Mlme.h
|
|
// Define the related definitions of MLME module
|
|
// history -- 01/14/03' created
|
|
//
|
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
#define AUTH_REJECT_REASON_CHALLENGE_FAIL 1
|
|
|
|
//====== the state of MLME module
|
|
#define INACTIVE 0x0
|
|
#define IDLE_SCAN 0x1
|
|
|
|
//====== the state of MLME/ESS module
|
|
#define STATE_1 0x2
|
|
#define AUTH_REQ 0x3
|
|
#define AUTH_WEP 0x4
|
|
#define STATE_2 0x5
|
|
#define ASSOC_REQ 0x6
|
|
#define STATE_3 0x7
|
|
|
|
//====== the state of MLME/IBSS module
|
|
#define IBSS_JOIN_SYNC 0x8
|
|
#define IBSS_AUTH_REQ 0x9
|
|
#define IBSS_AUTH_CHANLGE 0xa
|
|
#define IBSS_AUTH_WEP 0xb
|
|
#define IBSS_AUTH_IND 0xc
|
|
#define IBSS_STATE_2 0xd
|
|
|
|
|
|
|
|
//=========================================
|
|
//depend on D5C(MAC timing control 03 register): MaxTxMSDULifeTime default 0x80000us
|
|
#define AUTH_FAIL_TIMEOUT 550
|
|
#define ASSOC_FAIL_TIMEOUT 550
|
|
#define REASSOC_FAIL_TIMEOUT 550
|
|
|
|
|
|
|
|
//
|
|
// MLME task global CONSTANTS, STRUCTURE, variables
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////
|
|
// enum_ResultCode --
|
|
// Result code returned from MLME to SME.
|
|
//
|
|
/////////////////////////////////////////////////////////////
|
|
// PD43 20030829 Modifiled
|
|
//#define SUCCESS 0
|
|
#define MLME_SUCCESS 0 //follow spec.
|
|
#define INVALID_PARAMETERS 1 //Not following spec.
|
|
#define NOT_SUPPPORTED 2
|
|
#define TIMEOUT 3
|
|
#define TOO_MANY_SIMULTANEOUS_REQUESTS 4
|
|
#define REFUSED 5
|
|
#define BSS_ALREADY_STARTED_OR_JOINED 6
|
|
#define TRANSMIT_FRAME_FAIL 7
|
|
#define NO_BSS_FOUND 8
|
|
#define RETRY 9
|
|
#define GIVE_UP 10
|
|
|
|
|
|
#define OPEN_AUTH 0
|
|
#define SHARE_AUTH 1
|
|
#define ANY_AUTH 2
|
|
#define WPA_AUTH 3 //for WPA
|
|
#define WPAPSK_AUTH 4
|
|
#define WPANONE_AUTH 5
|
|
///////////////////////////////////////////// added by ws 04/19/04
|
|
#ifdef _WPA2_
|
|
#define WPA2_AUTH 6//for WPA2
|
|
#define WPA2PSK_AUTH 7
|
|
#endif //end def _WPA2_
|
|
|
|
//////////////////////////////////////////////////////////////////
|
|
//define the msg type of MLME module
|
|
//////////////////////////////////////////////////////////////////
|
|
//--------------------------------------------------------
|
|
//from SME
|
|
|
|
#define MLMEMSG_AUTH_REQ 0x0b
|
|
#define MLMEMSG_DEAUTH_REQ 0x0c
|
|
#define MLMEMSG_ASSOC_REQ 0x0d
|
|
#define MLMEMSG_REASSOC_REQ 0x0e
|
|
#define MLMEMSG_DISASSOC_REQ 0x0f
|
|
#define MLMEMSG_START_IBSS_REQ 0x10
|
|
#define MLMEMSG_IBSS_NET_CFM 0x11
|
|
|
|
//from RX :
|
|
#define MLMEMSG_RCV_MLMEFRAME 0x20
|
|
#define MLMEMSG_RCV_ASSOCRSP 0x22
|
|
#define MLMEMSG_RCV_REASSOCRSP 0x24
|
|
#define MLMEMSG_RCV_DISASSOC 0x2b
|
|
#define MLMEMSG_RCV_AUTH 0x2c
|
|
#define MLMEMSG_RCV_DEAUTH 0x2d
|
|
|
|
|
|
//from TX callback
|
|
#define MLMEMSG_TX_CALLBACK 0x40
|
|
#define MLMEMSG_ASSOCREQ_CALLBACK 0x41
|
|
#define MLMEMSG_REASSOCREQ_CALLBACK 0x43
|
|
#define MLMEMSG_DISASSOC_CALLBACK 0x4a
|
|
#define MLMEMSG_AUTH_CALLBACK 0x4c
|
|
#define MLMEMSG_DEAUTH_CALLBACK 0x4d
|
|
|
|
//#define MLMEMSG_JOIN_FAIL 4
|
|
//#define MLMEMSG_AUTHEN_FAIL 18
|
|
#define MLMEMSG_TIMEOUT 0x50
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
//Global data structures
|
|
#define MAX_NUM_TX_MMPDU 2
|
|
#define MAX_MMPDU_SIZE 1512
|
|
#define MAX_NUM_RX_MMPDU 6
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
//MACRO
|
|
#define boMLME_InactiveState(_AA_) (_AA_->wState==INACTIVE)
|
|
#define boMLME_IdleScanState(_BB_) (_BB_->wState==IDLE_SCAN)
|
|
#define boMLME_FoundSTAinfo(_CC_) (_CC_->wState>=IDLE_SCAN)
|
|
|
|
typedef struct _MLME_FRAME
|
|
{
|
|
//NDIS_PACKET MLME_Packet;
|
|
s8 * pMMPDU;
|
|
u16 len;
|
|
u8 DataType;
|
|
u8 IsInUsed;
|
|
|
|
spinlock_t MLMESpinLock;
|
|
|
|
u8 TxMMPDU[MAX_NUM_TX_MMPDU][MAX_MMPDU_SIZE];
|
|
u8 TxMMPDUInUse[ (MAX_NUM_TX_MMPDU+3) & ~0x03 ];
|
|
|
|
u16 wNumTxMMPDU;
|
|
u16 wNumTxMMPDUDiscarded;
|
|
|
|
u8 RxMMPDU[MAX_NUM_RX_MMPDU][MAX_MMPDU_SIZE];
|
|
u8 SaveRxBufSlotInUse[ (MAX_NUM_RX_MMPDU+3) & ~0x03 ];
|
|
|
|
u16 wNumRxMMPDU;
|
|
u16 wNumRxMMPDUDiscarded;
|
|
|
|
u16 wNumRxMMPDUInMLME; // Number of the Rx MMPDU
|
|
u16 reserved_1; // in MLME.
|
|
// excluding the discarded
|
|
} MLME_FRAME, *psMLME_FRAME;
|
|
|
|
typedef struct _AUTHREQ {
|
|
|
|
u8 peerMACaddr[MAC_ADDR_LENGTH];
|
|
u16 wAuthAlgorithm;
|
|
|
|
} MLME_AUTHREQ_PARA, *psMLME_AUTHREQ_PARA;
|
|
|
|
struct _Reason_Code {
|
|
|
|
u8 peerMACaddr[MAC_ADDR_LENGTH];
|
|
u16 wReasonCode;
|
|
};
|
|
typedef struct _Reason_Code MLME_DEAUTHREQ_PARA, *psMLME_DEAUTHREQ_PARA;
|
|
typedef struct _Reason_Code MLME_DISASSOCREQ_PARA, *psMLME_DISASSOCREQ_PARA;
|
|
|
|
typedef struct _ASSOCREQ {
|
|
u8 PeerSTAAddr[MAC_ADDR_LENGTH];
|
|
u16 CapabilityInfo;
|
|
u16 ListenInterval;
|
|
|
|
}__attribute__ ((packed)) MLME_ASSOCREQ_PARA, *psMLME_ASSOCREQ_PARA;
|
|
|
|
typedef struct _REASSOCREQ {
|
|
u8 NewAPAddr[MAC_ADDR_LENGTH];
|
|
u16 CapabilityInfo;
|
|
u16 ListenInterval;
|
|
|
|
}__attribute__ ((packed)) MLME_REASSOCREQ_PARA, *psMLME_REASSOCREQ_PARA;
|
|
|
|
typedef struct _MLMECALLBACK {
|
|
|
|
u8 *psFramePtr;
|
|
u8 bResult;
|
|
|
|
} MLME_TXCALLBACK, *psMLME_TXCALLBACK;
|
|
|
|
typedef struct _RXDATA
|
|
{
|
|
s32 FrameLength;
|
|
u8 __attribute__ ((packed)) *pbFramePtr;
|
|
|
|
}__attribute__ ((packed)) RXDATA, *psRXDATA;
|
|
|
|
#endif
|