staging: wilc1000: rename struct tstrDisconnectNotifInfo
[deliverable/linux.git] / drivers / staging / wilc1000 / coreconfigurator.h
CommitLineData
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 53typedef 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 73typedef struct {
63d03e47
GKH
74 u8 u8Full;
75 u8 u8Index;
ca356ada 76 s8 as8RSSI[NUM_RSSI];
c5c77ba1 77} tstrRSSI;
36cca3ba 78
6b5180a0 79struct 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];
4b313e91 85 u16 beacon_period;
df340fdf 86 u8 dtim_period;
405a8c78 87 u8 ch;
264d70f4
LK
88 unsigned long time_scan_cached;
89 unsigned long time_scan;
d4020763 90 bool new_network;
a35d6e2d 91 u8 found;
afb70653 92 u32 tsf_lo;
390b6db0
LK
93 u8 *ies;
94 u16 ies_len;
cb64de7c 95 void *join_params;
f2050a18 96 tstrRSSI str_rssi;
17d2f2b3 97 u64 tsf_hi;
6b5180a0 98};
c5c77ba1 99
40d96e1d 100struct 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
3b0437e1 108struct connect_info {
d4a24e08 109 u8 bssid[6];
4ff48570 110 u8 *req_ies;
4607f9cc 111 size_t req_ies_len;
61e1326f 112 u8 *resp_ies;
3e7477c2 113 u16 resp_ies_len;
134b4cf2 114 u16 status;
3b0437e1 115};
c5c77ba1 116
bb76df5a 117struct disconnect_info {
d85f5326 118 u16 u16reason;
63d03e47 119 u8 *ie;
c5c77ba1 120 size_t ie_len;
bb76df5a 121};
c5c77ba1 122
6b5180a0
LK
123s32 wilc_parse_network_info(u8 *msg_buffer,
124 struct network_info **ret_network_info);
946a9ddb 125s32 wilc_parse_assoc_resp_info(u8 *buffer, u32 buffer_len,
40d96e1d 126 struct connect_resp_info **ret_connect_resp_info);
cd04d221
GL
127void wilc_scan_complete_received(struct wilc *wilc, u8 *pu8Buffer,
128 u32 u32Length);
129void wilc_network_info_received(struct wilc *wilc, u8 *pu8Buffer,
130 u32 u32Length);
131void wilc_gnrl_async_info_received(struct wilc *wilc, u8 *pu8Buffer,
132 u32 u32Length);
c5c77ba1 133#endif
This page took 0.170541 seconds and 5 git commands to generate.