1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
/*!
* @file coreconfigurator.h
* @brief
* @author
* @sa coreconfigurator.c
* @date 1 Mar 2012
* @version 1.0
*/
#ifndef CORECONFIGURATOR_H
#define CORECONFIGURATOR_H
#include "wilc_wlan_if.h"
#define NUM_BASIC_SWITCHES 45
#define NUM_FHSS_SWITCHES 0
#define NUM_RSSI 5
#ifdef MAC_802_11N
#define NUM_11N_BASIC_SWITCHES 25
#define NUM_11N_HUT_SWITCHES 47
#else
#define NUM_11N_BASIC_SWITCHES 0
#define NUM_11N_HUT_SWITCHES 0
#endif
#define MAC_HDR_LEN 24
#define MAX_SSID_LEN 33
#define FCS_LEN 4
#define TIME_STAMP_LEN 8
#define BEACON_INTERVAL_LEN 2
#define CAP_INFO_LEN 2
#define STATUS_CODE_LEN 2
#define AID_LEN 2
#define IE_HDR_LEN 2
#define SET_CFG 0
#define GET_CFG 1
#define MAX_STRING_LEN 256
#define MAX_SURVEY_RESULT_FRAG_SIZE MAX_STRING_LEN
#define SURVEY_RESULT_LENGTH 44
#define MAX_ASSOC_RESP_FRAME_SIZE MAX_STRING_LEN
#define MAC_CONNECTED 1
#define MAC_DISCONNECTED 0
#define MAKE_WORD16(lsb, msb) ((((u16)(msb) << 8) & 0xFF00) | (lsb))
#define MAKE_WORD32(lsw, msw) ((((u32)(msw) << 16) & 0xFFFF0000) | (lsw))
typedef enum {
SUCCESSFUL_STATUSCODE = 0,
UNSPEC_FAIL = 1,
UNSUP_CAP = 10,
REASOC_NO_ASOC = 11,
FAIL_OTHER = 12,
UNSUPT_ALG = 13,
AUTH_SEQ_FAIL = 14,
CHLNG_FAIL = 15,
AUTH_TIMEOUT = 16,
AP_FULL = 17,
UNSUP_RATE = 18,
SHORT_PREAMBLE_UNSUP = 19,
PBCC_UNSUP = 20,
CHANNEL_AGIL_UNSUP = 21,
SHORT_SLOT_UNSUP = 25,
OFDM_DSSS_UNSUP = 26,
CONNECT_STS_FORCE_16_BIT = 0xFFFF
} tenuConnectSts;
typedef struct {
u8 u8Full;
u8 u8Index;
s8 as8RSSI[NUM_RSSI];
} tstrRSSI;
struct network_info {
s8 rssi;
u16 cap_info;
u8 ssid[MAX_SSID_LEN];
u8 u8SsidLen;
u8 au8bssid[6];
u16 u16BeaconPeriod;
u8 u8DtimPeriod;
u8 u8channel;
unsigned long u32TimeRcvdInScanCached;
unsigned long u32TimeRcvdInScan;
bool bNewNetwork;
u8 u8Found;
u32 u32Tsf;
u8 *pu8IEs;
u16 u16IEsLen;
void *pJoinParams;
tstrRSSI strRssi;
u64 u64Tsf;
};
struct connect_resp_info {
u16 capability;
u16 status;
u16 assoc_id;
u8 *ies;
u16 ies_len;
};
typedef struct {
u8 au8bssid[6];
u8 *pu8ReqIEs;
size_t ReqIEsLen;
u8 *pu8RespIEs;
u16 u16RespIEsLen;
u16 u16ConnectStatus;
} tstrConnectInfo;
typedef struct {
u16 u16reason;
u8 *ie;
size_t ie_len;
} tstrDisconnectNotifInfo;
s32 wilc_parse_network_info(u8 *msg_buffer,
struct network_info **ret_network_info);
s32 wilc_parse_assoc_resp_info(u8 *buffer, u32 buffer_len,
struct connect_resp_info **ret_connect_resp_info);
void wilc_scan_complete_received(struct wilc *wilc, u8 *pu8Buffer,
u32 u32Length);
void wilc_network_info_received(struct wilc *wilc, u8 *pu8Buffer,
u32 u32Length);
void wilc_gnrl_async_info_received(struct wilc *wilc, u8 *pu8Buffer,
u32 u32Length);
#endif
|