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 | |
6b5180a0 | 79 | struct network_info { |
5c23a291 | 80 | s8 rssi; |
fa5e2d15 | 81 | u16 cap_info; |
2a3ff58a | 82 | u8 ssid[MAX_SSID_LEN]; |
a36e89e9 | 83 | u8 ssid_len; |
38d3bb78 | 84 | u8 bssid[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; |
6b5180a0 | 98 | }; |
c5c77ba1 | 99 | |
40d96e1d | 100 | struct connect_resp_info { |
ba7b6ff5 LK |
101 | u16 capability; |
102 | u16 status; | |
103 | u16 assoc_id; | |
104 | u8 *ies; | |
105 | u16 ies_len; | |
40d96e1d | 106 | }; |
c5c77ba1 | 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 | ||
6b5180a0 LK |
123 | s32 wilc_parse_network_info(u8 *msg_buffer, |
124 | struct network_info **ret_network_info); | |
946a9ddb | 125 | s32 wilc_parse_assoc_resp_info(u8 *buffer, u32 buffer_len, |
40d96e1d | 126 | struct connect_resp_info **ret_connect_resp_info); |
cd04d221 GL |
127 | void wilc_scan_complete_received(struct wilc *wilc, u8 *pu8Buffer, |
128 | u32 u32Length); | |
129 | void wilc_network_info_received(struct wilc *wilc, u8 *pu8Buffer, | |
130 | u32 u32Length); | |
131 | void wilc_gnrl_async_info_received(struct wilc *wilc, u8 *pu8Buffer, | |
132 | u32 u32Length); | |
c5c77ba1 | 133 | #endif |