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 | ||
c5c77ba1 | 73 | typedef struct { |
63d03e47 GKH |
74 | u8 u8Full; |
75 | u8 u8Index; | |
ca356ada | 76 | s8 as8RSSI[NUM_RSSI]; |
c5c77ba1 | 77 | } tstrRSSI; |
36cca3ba | 78 | |
c5c77ba1 | 79 | typedef struct { |
ca356ada | 80 | s8 s8rssi; |
d85f5326 | 81 | u16 u16CapInfo; |
63d03e47 GKH |
82 | u8 au8ssid[MAX_SSID_LEN]; |
83 | u8 u8SsidLen; | |
84 | u8 au8bssid[6]; | |
d85f5326 | 85 | u16 u16BeaconPeriod; |
63d03e47 GKH |
86 | u8 u8DtimPeriod; |
87 | u8 u8channel; | |
36cca3ba | 88 | unsigned long u32TimeRcvdInScanCached; |
c5c77ba1 | 89 | unsigned long u32TimeRcvdInScan; |
72ed4dc7 | 90 | bool bNewNetwork; |
63d03e47 | 91 | u8 u8Found; |
36cca3ba | 92 | u32 u32Tsf; |
63d03e47 | 93 | u8 *pu8IEs; |
d85f5326 | 94 | u16 u16IEsLen; |
c5c77ba1 JK |
95 | void *pJoinParams; |
96 | tstrRSSI strRssi; | |
36cca3ba | 97 | u64 u64Tsf; |
c5c77ba1 JK |
98 | } tstrNetworkInfo; |
99 | ||
c5c77ba1 | 100 | typedef struct { |
d85f5326 CL |
101 | u16 u16capability; |
102 | u16 u16ConnectStatus; | |
103 | u16 u16AssocID; | |
63d03e47 | 104 | u8 *pu8RespIEs; |
d85f5326 | 105 | u16 u16RespIEsLen; |
c5c77ba1 JK |
106 | } tstrConnectRespInfo; |
107 | ||
c5c77ba1 | 108 | typedef struct { |
63d03e47 GKH |
109 | u8 au8bssid[6]; |
110 | u8 *pu8ReqIEs; | |
c5c77ba1 | 111 | size_t ReqIEsLen; |
63d03e47 | 112 | u8 *pu8RespIEs; |
d85f5326 CL |
113 | u16 u16RespIEsLen; |
114 | u16 u16ConnectStatus; | |
c5c77ba1 JK |
115 | } tstrConnectInfo; |
116 | ||
c5c77ba1 | 117 | typedef struct { |
d85f5326 | 118 | u16 u16reason; |
63d03e47 | 119 | u8 *ie; |
c5c77ba1 JK |
120 | size_t ie_len; |
121 | } tstrDisconnectNotifInfo; | |
122 | ||
cdd61064 | 123 | s32 wilc_parse_network_info(u8 *msg_buffer, tstrNetworkInfo **ret_network_info); |
0e1af73d | 124 | s32 wilc_dealloc_network_info(tstrNetworkInfo *pstrNetworkInfo); |
c5c77ba1 | 125 | |
0e1af73d | 126 | s32 wilc_parse_assoc_resp_info(u8 *pu8Buffer, u32 u32BufferLen, |
b3ff2910 | 127 | tstrConnectRespInfo **ppstrConnectRespInfo); |
0e1af73d | 128 | s32 wilc_dealloc_assoc_resp_info(tstrConnectRespInfo *pstrConnectRespInfo); |
cd04d221 GL |
129 | void wilc_scan_complete_received(struct wilc *wilc, u8 *pu8Buffer, |
130 | u32 u32Length); | |
131 | void wilc_network_info_received(struct wilc *wilc, u8 *pu8Buffer, | |
132 | u32 u32Length); | |
133 | void wilc_gnrl_async_info_received(struct wilc *wilc, u8 *pu8Buffer, | |
134 | u32 u32Length); | |
c5c77ba1 | 135 | #endif |