Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux
[deliverable/linux.git] / drivers / staging / vt6655 / vntwifi.h
CommitLineData
5449c685
FB
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
5449c685 33#include "ttype.h"
5449c685 34#include "80211mgr.h"
5449c685 35#include "card.h"
612822f5 36#include "wpa2.h"
5449c685
FB
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
5449c685
FB
65// Pre-configured Authenticaiton Mode (from XP)
66typedef 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
80typedef 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
95typedef 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
106typedef 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
6b35b7b3 143void
5449c685 144VNTWIFIvSetIBSSParameter (
3a215e0f 145 void *pMgmtHandle,
2986db5f
CC
146 unsigned short wBeaconPeriod,
147 unsigned short wATIMWindow,
b6e95cd5 148 unsigned int uChannel
5449c685
FB
149 );
150
6b35b7b3 151void
5449c685 152VNTWIFIvSetOPMode (
3a215e0f
CC
153 void *pMgmtHandle,
154 WMAC_CONFIG_MODE eOPMode
5449c685
FB
155 );
156
157PWLAN_IE_SSID
158VNTWIFIpGetCurrentSSID(
3a215e0f 159 void *pMgmtHandle
5449c685
FB
160 );
161
b6e95cd5 162unsigned int
5449c685 163VNTWIFIpGetCurrentChannel(
3a215e0f 164 void *pMgmtHandle
5449c685
FB
165 );
166
2986db5f 167unsigned short
5449c685 168VNTWIFIwGetAssocID (
3a215e0f 169 void *pMgmtHandle
5449c685
FB
170 );
171
3fc9b584 172unsigned char
5449c685 173VNTWIFIbyGetMaxSupportRate (
3a215e0f
CC
174 PWLAN_IE_SUPP_RATES pSupportRateIEs,
175 PWLAN_IE_SUPP_RATES pExtSupportRateIEs
5449c685
FB
176 );
177
3fc9b584 178unsigned char
5449c685 179VNTWIFIbyGetACKTxRate (
3fc9b584 180 unsigned char byRxDataRate,
3a215e0f
CC
181 PWLAN_IE_SUPP_RATES pSupportRateIEs,
182 PWLAN_IE_SUPP_RATES pExtSupportRateIEs
5449c685
FB
183 );
184
6b35b7b3 185void
5449c685 186VNTWIFIvSetAuthenticationMode (
3a215e0f
CC
187 void *pMgmtHandle,
188 WMAC_AUTHENTICATION_MODE eAuthMode
5449c685
FB
189 );
190
6b35b7b3 191void
5449c685 192VNTWIFIvSetEncryptionMode (
3a215e0f
CC
193 void *pMgmtHandle,
194 WMAC_ENCRYPTION_MODE eEncryptionMode
5449c685
FB
195 );
196
197
7b6a0013 198bool
5449c685 199VNTWIFIbConfigPhyMode(
3a215e0f
CC
200 void *pMgmtHandle,
201 CARD_PHY_TYPE ePhyType
5449c685
FB
202 );
203
6b35b7b3 204void
5449c685 205VNTWIFIbGetConfigPhyMode(
3a215e0f 206 void *pMgmtHandle,
3cdec554 207 void *pePhyType
5449c685
FB
208 );
209
6b35b7b3 210void
fe4f34bd
CC
211VNTWIFIvQueryBSSList(void *pMgmtHandle, unsigned int *puBSSCount,
212 void **pvFirstBSS);
5449c685 213
6b35b7b3 214void
5449c685 215VNTWIFIvGetNextBSS (
3a215e0f
CC
216 void *pMgmtHandle,
217 void *pvCurrentBSS,
3cdec554 218 void **pvNextBSS
5449c685
FB
219 );
220
221
222
6b35b7b3 223void
5449c685 224VNTWIFIvUpdateNodeTxCounter(
3a215e0f 225 void *pMgmtHandle,
2989e96f 226 unsigned char *pbyDestAddress,
7b6a0013 227 bool bTxOk,
2986db5f 228 unsigned short wRate,
2989e96f 229 unsigned char *pbyTxFailCount
5449c685
FB
230 );
231
232
6b35b7b3 233void
5449c685 234VNTWIFIvGetTxRate(
3a215e0f 235 void *pMgmtHandle,
2989e96f 236 unsigned char *pbyDestAddress,
15df6c2b 237 unsigned short *pwTxDataRate,
2989e96f
CC
238 unsigned char *pbyACKRate,
239 unsigned char *pbyCCKBasicRate,
240 unsigned char *pbyOFDMBasicRate
5449c685
FB
241 );
242/*
7b6a0013 243bool
5449c685 244VNTWIFIbInit(
3a215e0f 245 void *pAdapterHandler,
3cdec554 246 void **pMgmtHandler
5449c685
FB
247 );
248*/
249
3fc9b584 250unsigned char
5449c685 251VNTWIFIbyGetKeyCypher(
3a215e0f 252 void *pMgmtHandle,
7b6a0013 253 bool bGroupKey
5449c685
FB
254 );
255
256
257
258
7b6a0013 259bool
5449c685 260VNTWIFIbSetPMKIDCache (
3a215e0f 261 void *pMgmtObject,
e3fd16d0 262 unsigned long ulCount,
3a215e0f 263 void *pPMKIDInfo
5449c685
FB
264 );
265
7b6a0013 266bool
5449c685 267VNTWIFIbCommandRunning (
3a215e0f 268 void *pMgmtObject
5449c685
FB
269 );
270
2986db5f 271unsigned short
5449c685 272VNTWIFIwGetMaxSupportRate(
3a215e0f 273 void *pMgmtObject
5449c685
FB
274 );
275
276// for 802.11h
6b35b7b3 277void
5449c685 278VNTWIFIvSet11h (
3a215e0f 279 void *pMgmtObject,
7b6a0013 280 bool b11hEnable
5449c685
FB
281 );
282
7b6a0013 283bool
5449c685 284VNTWIFIbMeasureReport(
3a215e0f 285 void *pMgmtObject,
7b6a0013 286 bool bEndOfReport,
3a215e0f 287 void *pvMeasureEID,
3fc9b584
CC
288 unsigned char byReportMode,
289 unsigned char byBasicMap,
290 unsigned char byCCAFraction,
2989e96f 291 unsigned char *pbyRPIs
5449c685
FB
292 );
293
7b6a0013 294bool
5449c685 295VNTWIFIbChannelSwitch(
3a215e0f 296 void *pMgmtObject,
3fc9b584 297 unsigned char byNewChannel
5449c685
FB
298 );
299/*
7b6a0013 300bool
5449c685 301VNTWIFIbRadarPresent(
3a215e0f 302 void *pMgmtObject,
3fc9b584 303 unsigned char byChannel
5449c685
FB
304 );
305*/
306
5449c685 307#endif //__VNTWIFI_H__
This page took 0.369535 seconds and 5 git commands to generate.