Commit | Line | Data |
---|---|---|
c5c77ba1 JK |
1 | |
2 | /*! | |
3 | * @file coreconfigurator.h | |
4 | * @brief | |
5 | * @author | |
6 | * @sa coreconfigurator.c | |
7 | * @date 1 Mar 2012 | |
8 | * @version 1.0 | |
9 | */ | |
10 | ||
c5c77ba1 JK |
11 | #ifndef CORECONFIGURATOR_H |
12 | #define CORECONFIGURATOR_H | |
13 | ||
c5c77ba1 | 14 | #include "wilc_wlan_if.h" |
36cca3ba | 15 | |
c5c77ba1 | 16 | #define NUM_BASIC_SWITCHES 45 |
13994d1e | 17 | #define NUM_FHSS_SWITCHES 0 |
c5c77ba1 | 18 | |
13994d1e | 19 | #define NUM_RSSI 5 |
c5c77ba1 JK |
20 | |
21 | #ifdef MAC_802_11N | |
22 | #define NUM_11N_BASIC_SWITCHES 25 | |
23 | #define NUM_11N_HUT_SWITCHES 47 | |
36cca3ba | 24 | #else |
c5c77ba1 JK |
25 | #define NUM_11N_BASIC_SWITCHES 0 |
26 | #define NUM_11N_HUT_SWITCHES 0 | |
36cca3ba | 27 | #endif |
c5c77ba1 | 28 | |
36cca3ba | 29 | #define MAC_HDR_LEN 24 |
c5c77ba1 JK |
30 | #define MAX_SSID_LEN 33 |
31 | #define FCS_LEN 4 | |
32 | #define TIME_STAMP_LEN 8 | |
33 | #define BEACON_INTERVAL_LEN 2 | |
34 | #define CAP_INFO_LEN 2 | |
35 | #define STATUS_CODE_LEN 2 | |
36 | #define AID_LEN 2 | |
37 | #define IE_HDR_LEN 2 | |
38 | ||
c5c77ba1 | 39 | #define SET_CFG 0 |
c5c77ba1 JK |
40 | #define GET_CFG 1 |
41 | ||
13994d1e SK |
42 | #define MAX_STRING_LEN 256 |
43 | #define MAX_SURVEY_RESULT_FRAG_SIZE MAX_STRING_LEN | |
44 | #define SURVEY_RESULT_LENGTH 44 | |
45 | #define MAX_ASSOC_RESP_FRAME_SIZE MAX_STRING_LEN | |
c5c77ba1 | 46 | |
13994d1e SK |
47 | #define MAC_CONNECTED 1 |
48 | #define MAC_DISCONNECTED 0 | |
c5c77ba1 | 49 | |
d85f5326 | 50 | #define MAKE_WORD16(lsb, msb) ((((u16)(msb) << 8) & 0xFF00) | (lsb)) |
4e4467fd | 51 | #define MAKE_WORD32(lsw, msw) ((((u32)(msw) << 16) & 0xFFFF0000) | (lsw)) |
c5c77ba1 | 52 | |
c5c77ba1 | 53 | typedef enum { |
13994d1e SK |
54 | SUCCESSFUL_STATUSCODE = 0, |
55 | UNSPEC_FAIL = 1, | |
56 | UNSUP_CAP = 10, | |
57 | REASOC_NO_ASOC = 11, | |
58 | FAIL_OTHER = 12, | |
59 | UNSUPT_ALG = 13, | |
60 | AUTH_SEQ_FAIL = 14, | |
61 | CHLNG_FAIL = 15, | |
62 | AUTH_TIMEOUT = 16, | |
63 | AP_FULL = 17, | |
64 | UNSUP_RATE = 18, | |
65 | SHORT_PREAMBLE_UNSUP = 19, | |
66 | PBCC_UNSUP = 20, | |
67 | CHANNEL_AGIL_UNSUP = 21, | |
68 | SHORT_SLOT_UNSUP = 25, | |
69 | OFDM_DSSS_UNSUP = 26, | |
c5c77ba1 JK |
70 | CONNECT_STS_FORCE_16_BIT = 0xFFFF |
71 | } tenuConnectSts; | |
72 | ||
e9e0c260 | 73 | struct wid { |
daaf16ba | 74 | u16 id; |
50327db7 | 75 | enum wid_type type; |
2fd3e443 | 76 | s32 size; |
900bb4a6 | 77 | s8 *val; |
e9e0c260 | 78 | }; |
c5c77ba1 JK |
79 | |
80 | typedef struct { | |
63d03e47 GKH |
81 | u8 u8Full; |
82 | u8 u8Index; | |
ca356ada | 83 | s8 as8RSSI[NUM_RSSI]; |
c5c77ba1 | 84 | } tstrRSSI; |
36cca3ba | 85 | |
c5c77ba1 | 86 | typedef struct { |
ca356ada | 87 | s8 s8rssi; |
d85f5326 | 88 | u16 u16CapInfo; |
63d03e47 GKH |
89 | u8 au8ssid[MAX_SSID_LEN]; |
90 | u8 u8SsidLen; | |
91 | u8 au8bssid[6]; | |
d85f5326 | 92 | u16 u16BeaconPeriod; |
63d03e47 GKH |
93 | u8 u8DtimPeriod; |
94 | u8 u8channel; | |
36cca3ba | 95 | unsigned long u32TimeRcvdInScanCached; |
c5c77ba1 | 96 | unsigned long u32TimeRcvdInScan; |
72ed4dc7 | 97 | bool bNewNetwork; |
63d03e47 | 98 | u8 u8Found; |
36cca3ba | 99 | u32 u32Tsf; |
63d03e47 | 100 | u8 *pu8IEs; |
d85f5326 | 101 | u16 u16IEsLen; |
c5c77ba1 JK |
102 | void *pJoinParams; |
103 | tstrRSSI strRssi; | |
36cca3ba | 104 | u64 u64Tsf; |
c5c77ba1 JK |
105 | } tstrNetworkInfo; |
106 | ||
c5c77ba1 | 107 | typedef struct { |
d85f5326 CL |
108 | u16 u16capability; |
109 | u16 u16ConnectStatus; | |
110 | u16 u16AssocID; | |
63d03e47 | 111 | u8 *pu8RespIEs; |
d85f5326 | 112 | u16 u16RespIEsLen; |
c5c77ba1 JK |
113 | } tstrConnectRespInfo; |
114 | ||
c5c77ba1 | 115 | typedef struct { |
63d03e47 GKH |
116 | u8 au8bssid[6]; |
117 | u8 *pu8ReqIEs; | |
c5c77ba1 | 118 | size_t ReqIEsLen; |
63d03e47 | 119 | u8 *pu8RespIEs; |
d85f5326 CL |
120 | u16 u16RespIEsLen; |
121 | u16 u16ConnectStatus; | |
c5c77ba1 JK |
122 | } tstrConnectInfo; |
123 | ||
c5c77ba1 | 124 | typedef struct { |
d85f5326 | 125 | u16 u16reason; |
63d03e47 | 126 | u8 *ie; |
c5c77ba1 JK |
127 | size_t ie_len; |
128 | } tstrDisconnectNotifInfo; | |
129 | ||
e9e0c260 | 130 | s32 send_config_pkt(u8 mode, struct wid *wids, u32 count, u32 drv); |
a1f7f642 | 131 | s32 parse_network_info(u8 *pu8MsgBuffer, tstrNetworkInfo **ppstrNetworkInfo); |
b3ff2910 | 132 | s32 DeallocateNetworkInfo(tstrNetworkInfo *pstrNetworkInfo); |
c5c77ba1 | 133 | |
b3ff2910 JP |
134 | s32 ParseAssocRespInfo(u8 *pu8Buffer, u32 u32BufferLen, |
135 | tstrConnectRespInfo **ppstrConnectRespInfo); | |
136 | s32 DeallocateAssocRespInfo(tstrConnectRespInfo *pstrConnectRespInfo); | |
c5c77ba1 | 137 | |
b3ff2910 | 138 | void NetworkInfoReceived(u8 *pu8Buffer, u32 u32Length); |
4e4467fd CL |
139 | void GnrlAsyncInfoReceived(u8 *pu8Buffer, u32 u32Length); |
140 | void host_int_ScanCompleteReceived(u8 *pu8Buffer, u32 u32Length); | |
c5c77ba1 JK |
141 | |
142 | #endif |