staging: wilc1000: remove commented code
[firefly-linux-kernel-4.4.55.git] / drivers / staging / wilc1000 / coreconfigurator.h
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
11
12 #ifndef CORECONFIGURATOR_H
13 #define CORECONFIGURATOR_H
14
15 #include "wilc_wlan_if.h"
16 /*****************************************************************************/
17 /* Constants                                                                 */
18 /*****************************************************************************/
19 /* Number of WID Options Supported */
20 #define NUM_BASIC_SWITCHES      45
21 #define NUM_FHSS_SWITCHES       0
22
23 #define NUM_RSSI                5
24
25 #ifdef MAC_802_11N
26 #define NUM_11N_BASIC_SWITCHES  25
27 #define NUM_11N_HUT_SWITCHES    47
28 #else /* MAC_802_11N */
29 #define NUM_11N_BASIC_SWITCHES  0
30 #define NUM_11N_HUT_SWITCHES    0
31 #endif /* MAC_802_11N */
32
33 extern u16 g_num_total_switches;
34
35 #define MAC_HDR_LEN             24          /* No Address4 - non-ESS         */
36 #define MAX_SSID_LEN            33
37 #define FCS_LEN                 4
38 #define TIME_STAMP_LEN          8
39 #define BEACON_INTERVAL_LEN     2
40 #define CAP_INFO_LEN            2
41 #define STATUS_CODE_LEN         2
42 #define AID_LEN                 2
43 #define IE_HDR_LEN              2
44
45
46 /* Operating Mode: SET */
47 #define SET_CFG              0
48 /* Operating Mode: GET */
49 #define GET_CFG              1
50
51 #define MAX_PACKET_BUFF_SIZE 1596
52
53 #define MAX_STRING_LEN               256
54 #define MAX_SURVEY_RESULT_FRAG_SIZE  MAX_STRING_LEN
55 #define SURVEY_RESULT_LENGTH         44
56 #define MAX_ASSOC_RESP_FRAME_SIZE    MAX_STRING_LEN
57
58 #define STATUS_MSG_LEN               12
59 #define MAC_CONNECTED                1
60 #define MAC_DISCONNECTED             0
61
62
63
64 /*****************************************************************************/
65 /* Function Macros                                                           */
66 /*****************************************************************************/
67 #define MAKE_WORD16(lsb, msb) ((((u16)(msb) << 8) & 0xFF00) | (lsb))
68 #define MAKE_WORD32(lsw, msw) ((((u32)(msw) << 16) & 0xFFFF0000) | (lsw))
69
70
71 /*****************************************************************************/
72 /* Type Definitions                                                                                                                       */
73 /*****************************************************************************/
74 /* Status Codes for Authentication and Association Frames */
75 typedef enum {
76         SUCCESSFUL_STATUSCODE    = 0,
77         UNSPEC_FAIL              = 1,
78         UNSUP_CAP                = 10,
79         REASOC_NO_ASOC           = 11,
80         FAIL_OTHER               = 12,
81         UNSUPT_ALG               = 13,
82         AUTH_SEQ_FAIL            = 14,
83         CHLNG_FAIL               = 15,
84         AUTH_TIMEOUT             = 16,
85         AP_FULL                  = 17,
86         UNSUP_RATE               = 18,
87         SHORT_PREAMBLE_UNSUP     = 19,
88         PBCC_UNSUP               = 20,
89         CHANNEL_AGIL_UNSUP       = 21,
90         SHORT_SLOT_UNSUP         = 25,
91         OFDM_DSSS_UNSUP          = 26,
92         CONNECT_STS_FORCE_16_BIT = 0xFFFF
93 } tenuConnectSts;
94
95 typedef struct {
96         u16 u16WIDid;
97         tenuWIDtype enuWIDtype;
98         s32 s32ValueSize;
99         s8      *ps8WidVal;
100
101 } tstrWID;
102
103 typedef struct {
104         u8 u8Full;
105         u8 u8Index;
106         s8 as8RSSI[NUM_RSSI];
107 } tstrRSSI;
108 /* This structure is used to support parsing of the received 'N' message */
109 typedef struct {
110         s8 s8rssi;
111         u16 u16CapInfo;
112         u8 au8ssid[MAX_SSID_LEN];
113         u8 u8SsidLen;
114         u8 au8bssid[6];
115         u16 u16BeaconPeriod;
116         u8 u8DtimPeriod;
117         u8 u8channel;
118         unsigned long u32TimeRcvdInScanCached; /* of type unsigned long to be accepted by the linux kernel macro time_after() */
119         unsigned long u32TimeRcvdInScan;
120         bool bNewNetwork;
121 #ifdef AGING_ALG
122         u8 u8Found;
123 #endif
124 #ifdef WILC_P2P
125         u32 u32Tsf; /* time-stamp [Low only 32 bit] */
126 #endif
127         u8 *pu8IEs;
128         u16 u16IEsLen;
129         void *pJoinParams;
130         tstrRSSI strRssi;
131         u64 u64Tsf; /* time-stamp [Low and High 64 bit] */
132 } tstrNetworkInfo;
133
134 /* This structure is used to support parsing of the received Association Response frame */
135 typedef struct {
136         u16 u16capability;
137         u16 u16ConnectStatus;
138         u16 u16AssocID;
139         u8 *pu8RespIEs;
140         u16 u16RespIEsLen;
141 } tstrConnectRespInfo;
142
143
144 typedef struct {
145         u8 au8bssid[6];
146         u8 *pu8ReqIEs;
147         size_t ReqIEsLen;
148         u8 *pu8RespIEs;
149         u16 u16RespIEsLen;
150         u16 u16ConnectStatus;
151 } tstrConnectInfo;
152
153
154
155 typedef struct {
156         u16 u16reason;
157         u8 *ie;
158         size_t ie_len;
159 } tstrDisconnectNotifInfo;
160
161 #ifndef CONNECT_DIRECT
162 typedef struct wid_site_survey_reslts {
163         char SSID[MAX_SSID_LEN];
164         u8 BssType;
165         u8 Channel;
166         u8 SecurityStatus;
167         u8 BSSID[6];
168         char RxPower;
169         u8 Reserved;
170
171 } wid_site_survey_reslts_s;
172 #endif
173
174 extern s32 CoreConfiguratorInit(void);
175 extern s32 CoreConfiguratorDeInit(void);
176
177 extern s32 SendConfigPkt(u8 u8Mode, tstrWID *pstrWIDs,
178                                  u32 u32WIDsCount, bool bRespRequired, u32 drvHandler);
179 extern s32 ParseNetworkInfo(u8 *pu8MsgBuffer, tstrNetworkInfo **ppstrNetworkInfo);
180 extern s32 DeallocateNetworkInfo(tstrNetworkInfo *pstrNetworkInfo);
181
182 extern s32 ParseAssocRespInfo(u8 *pu8Buffer, u32 u32BufferLen,
183                                       tstrConnectRespInfo **ppstrConnectRespInfo);
184 extern s32 DeallocateAssocRespInfo(tstrConnectRespInfo *pstrConnectRespInfo);
185
186 #ifndef CONNECT_DIRECT
187 extern s32 ParseSurveyResults(u8 ppu8RcvdSiteSurveyResults[][MAX_SURVEY_RESULT_FRAG_SIZE],
188                                       wid_site_survey_reslts_s **ppstrSurveyResults, u32 *pu32SurveyResultsCount);
189 extern s32 DeallocateSurveyResults(wid_site_survey_reslts_s *pstrSurveyResults);
190 #endif
191
192 extern s32 SendRawPacket(s8 *pspacket, s32 s32PacketLen);
193 extern void NetworkInfoReceived(u8 *pu8Buffer, u32 u32Length);
194 void GnrlAsyncInfoReceived(u8 *pu8Buffer, u32 u32Length);
195 void host_int_ScanCompleteReceived(u8 *pu8Buffer, u32 u32Length);
196
197 #endif