Staging: vt6655: remove OUT definition
[pandora-kernel.git] / drivers / staging / vt6655 / vntwifi.h
1 /*
2  * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3  * All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  *
20  * File: vntwifi.h
21  *
22  * Purpose: export VNT Host WiFi library function
23  *
24  * Author: Yiching Chen
25  *
26  * Date: Jan 7, 2004
27  *
28  */
29
30 #ifndef __VNTWIFI_H__
31 #define __VNTWIFI_H__
32
33 #include "ttype.h"
34 #include "80211mgr.h"
35 #include "card.h"
36 #include "wpa2.h"
37
38 /*---------------------  Export Definitions -------------------------*/
39 #define RATE_1M         0
40 #define RATE_2M         1
41 #define RATE_5M         2
42 #define RATE_11M        3
43 #define RATE_6M         4
44 #define RATE_9M         5
45 #define RATE_12M        6
46 #define RATE_18M        7
47 #define RATE_24M        8
48 #define RATE_36M        9
49 #define RATE_48M       10
50 #define RATE_54M       11
51 #define RATE_AUTO      12
52 #define MAX_RATE       12
53
54 // key CipherSuite
55 #define KEY_CTL_WEP         0x00
56 #define KEY_CTL_NONE        0x01
57 #define KEY_CTL_TKIP        0x02
58 #define KEY_CTL_CCMP        0x03
59 #define KEY_CTL_INVALID     0xFF
60
61 #define CHANNEL_MAX_24G         14
62
63 #define MAX_BSS_NUM             42
64
65 // Pre-configured Authenticaiton Mode (from XP)
66 typedef enum tagWMAC_AUTHENTICATION_MODE {
67
68     WMAC_AUTH_OPEN,
69     WMAC_AUTH_SHAREKEY,
70     WMAC_AUTH_AUTO,
71     WMAC_AUTH_WPA,
72     WMAC_AUTH_WPAPSK,
73     WMAC_AUTH_WPANONE,
74     WMAC_AUTH_WPA2,
75     WMAC_AUTH_WPA2PSK,
76     WMAC_AUTH_MAX       // Not a real mode, defined as upper bound
77
78 } WMAC_AUTHENTICATION_MODE, *PWMAC_AUTHENTICATION_MODE;
79
80 typedef enum tagWMAC_ENCRYPTION_MODE {
81
82     WMAC_ENCRYPTION_WEPEnabled,
83     WMAC_ENCRYPTION_WEPDisabled,
84     WMAC_ENCRYPTION_WEPKeyAbsent,
85     WMAC_ENCRYPTION_WEPNotSupported,
86     WMAC_ENCRYPTION_TKIPEnabled,
87     WMAC_ENCRYPTION_TKIPKeyAbsent,
88     WMAC_ENCRYPTION_AESEnabled,
89     WMAC_ENCRYPTION_AESKeyAbsent
90
91 } WMAC_ENCRYPTION_MODE, *PWMAC_ENCRYPTION_MODE;
92
93 // Pre-configured Mode (from XP)
94
95 typedef enum tagWMAC_CONFIG_MODE {
96
97     WMAC_CONFIG_ESS_STA = 0,
98     WMAC_CONFIG_IBSS_STA,
99     WMAC_CONFIG_AUTO,
100     WMAC_CONFIG_AP
101
102 } WMAC_CONFIG_MODE, *PWMAC_CONFIG_MODE;
103
104
105
106 typedef enum tagWMAC_POWER_MODE {
107
108     WMAC_POWER_CAM,
109     WMAC_POWER_FAST,
110     WMAC_POWER_MAX
111
112 } WMAC_POWER_MODE, *PWMAC_POWER_MODE;
113
114 #define VNTWIFIbIsShortSlotTime(wCapInfo)               \
115         WLAN_GET_CAP_INFO_SHORTSLOTTIME(wCapInfo)       \
116
117 #define VNTWIFIbIsProtectMode(byERP)                    \
118         ((byERP & WLAN_EID_ERP_USE_PROTECTION) != 0)    \
119
120 #define VNTWIFIbIsBarkerMode(byERP)                     \
121         ((byERP & WLAN_EID_ERP_BARKER_MODE) != 0)       \
122
123 #define VNTWIFIbIsShortPreamble(wCapInfo)               \
124         WLAN_GET_CAP_INFO_SHORTPREAMBLE(wCapInfo)       \
125
126 #define VNTWIFIbIsEncryption(wCapInfo)                  \
127         WLAN_GET_CAP_INFO_PRIVACY(wCapInfo)             \
128
129 #define VNTWIFIbIsESS(wCapInfo)                         \
130         WLAN_GET_CAP_INFO_ESS(wCapInfo)                 \
131
132
133 /*---------------------  Export Classes  ----------------------------*/
134
135 /*---------------------  Export Variables  --------------------------*/
136
137
138 /*---------------------  Export Types  ------------------------------*/
139
140
141 /*---------------------  Export Functions  --------------------------*/
142
143 void
144 VNTWIFIvSetIBSSParameter (
145     void *pMgmtHandle,
146     WORD  wBeaconPeriod,
147     WORD  wATIMWindow,
148     UINT  uChannel
149     );
150
151 void
152 VNTWIFIvSetOPMode (
153     void *pMgmtHandle,
154     WMAC_CONFIG_MODE eOPMode
155     );
156
157 PWLAN_IE_SSID
158 VNTWIFIpGetCurrentSSID(
159     void *pMgmtHandle
160     );
161
162 UINT
163 VNTWIFIpGetCurrentChannel(
164     void *pMgmtHandle
165     );
166
167 WORD
168 VNTWIFIwGetAssocID (
169     void *pMgmtHandle
170     );
171
172 BYTE
173 VNTWIFIbyGetMaxSupportRate (
174     PWLAN_IE_SUPP_RATES pSupportRateIEs,
175     PWLAN_IE_SUPP_RATES pExtSupportRateIEs
176     );
177
178 BYTE
179 VNTWIFIbyGetACKTxRate (
180     BYTE byRxDataRate,
181     PWLAN_IE_SUPP_RATES pSupportRateIEs,
182     PWLAN_IE_SUPP_RATES pExtSupportRateIEs
183     );
184
185 void
186 VNTWIFIvSetAuthenticationMode (
187     void *pMgmtHandle,
188     WMAC_AUTHENTICATION_MODE eAuthMode
189     );
190
191 void
192 VNTWIFIvSetEncryptionMode (
193     void *pMgmtHandle,
194     WMAC_ENCRYPTION_MODE eEncryptionMode
195     );
196
197
198 BOOL
199 VNTWIFIbConfigPhyMode(
200     void *pMgmtHandle,
201     CARD_PHY_TYPE ePhyType
202     );
203
204 void
205 VNTWIFIbGetConfigPhyMode(
206     void *pMgmtHandle,
207     void *pePhyType
208     );
209
210 void
211 VNTWIFIvQueryBSSList(
212     void *pMgmtHandle,
213     PUINT   puBSSCount,
214     void **pvFirstBSS
215     );
216
217
218
219
220 void
221 VNTWIFIvGetNextBSS (
222     void *pMgmtHandle,
223     void *pvCurrentBSS,
224     void **pvNextBSS
225     );
226
227
228
229 void
230 VNTWIFIvUpdateNodeTxCounter(
231     void *pMgmtHandle,
232     PBYTE    pbyDestAddress,
233     BOOL     bTxOk,
234     WORD     wRate,
235     PBYTE    pbyTxFailCount
236     );
237
238
239 void
240 VNTWIFIvGetTxRate(
241     void *pMgmtHandle,
242     PBYTE    pbyDestAddress,
243     PWORD   pwTxDataRate,
244     PBYTE   pbyACKRate,
245     PBYTE   pbyCCKBasicRate,
246     PBYTE   pbyOFDMBasicRate
247     );
248 /*
249 BOOL
250 VNTWIFIbInit(
251     void *pAdapterHandler,
252     void **pMgmtHandler
253     );
254 */
255
256 BYTE
257 VNTWIFIbyGetKeyCypher(
258     void *pMgmtHandle,
259     BOOL     bGroupKey
260     );
261
262
263
264
265 BOOL
266 VNTWIFIbSetPMKIDCache (
267     void *pMgmtObject,
268     ULONG ulCount,
269     void *pPMKIDInfo
270     );
271
272 BOOL
273 VNTWIFIbCommandRunning (
274     void *pMgmtObject
275     );
276
277 WORD
278 VNTWIFIwGetMaxSupportRate(
279     void *pMgmtObject
280     );
281
282 // for 802.11h
283 void
284 VNTWIFIvSet11h (
285     void *pMgmtObject,
286     BOOL  b11hEnable
287     );
288
289 BOOL
290 VNTWIFIbMeasureReport(
291     void *pMgmtObject,
292     BOOL  bEndOfReport,
293     void *pvMeasureEID,
294     BYTE  byReportMode,
295     BYTE  byBasicMap,
296     BYTE  byCCAFraction,
297     PBYTE pbyRPIs
298     );
299
300 BOOL
301 VNTWIFIbChannelSwitch(
302     void *pMgmtObject,
303     BYTE  byNewChannel
304     );
305 /*
306 BOOL
307 VNTWIFIbRadarPresent(
308     void *pMgmtObject,
309     BYTE  byChannel
310     );
311 */
312
313 #endif //__VNTWIFI_H__