PageRenderTime 39ms CodeModel.GetById 24ms app.highlight 11ms RepoModel.GetById 1ms app.codeStats 0ms

/drivers/staging/vt6655/vntwifi.h

https://bitbucket.org/wisechild/galaxy-nexus
C++ Header | 307 lines | 192 code | 64 blank | 51 comment | 2 complexity | a3b4c2eabc430c2bbb0f176f212562e1 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, AGPL-1.0
  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)
 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
143void
144VNTWIFIvSetIBSSParameter (
145    void *pMgmtHandle,
146    unsigned short wBeaconPeriod,
147    unsigned short wATIMWindow,
148    unsigned int uChannel
149    );
150
151void
152VNTWIFIvSetOPMode (
153    void *pMgmtHandle,
154    WMAC_CONFIG_MODE eOPMode
155    );
156
157PWLAN_IE_SSID
158VNTWIFIpGetCurrentSSID(
159    void *pMgmtHandle
160    );
161
162unsigned int
163VNTWIFIpGetCurrentChannel(
164    void *pMgmtHandle
165    );
166
167unsigned short
168VNTWIFIwGetAssocID (
169    void *pMgmtHandle
170    );
171
172unsigned char
173VNTWIFIbyGetMaxSupportRate (
174    PWLAN_IE_SUPP_RATES pSupportRateIEs,
175    PWLAN_IE_SUPP_RATES pExtSupportRateIEs
176    );
177
178unsigned char
179VNTWIFIbyGetACKTxRate (
180    unsigned char byRxDataRate,
181    PWLAN_IE_SUPP_RATES pSupportRateIEs,
182    PWLAN_IE_SUPP_RATES pExtSupportRateIEs
183    );
184
185void
186VNTWIFIvSetAuthenticationMode (
187    void *pMgmtHandle,
188    WMAC_AUTHENTICATION_MODE eAuthMode
189    );
190
191void
192VNTWIFIvSetEncryptionMode (
193    void *pMgmtHandle,
194    WMAC_ENCRYPTION_MODE eEncryptionMode
195    );
196
197
198bool
199VNTWIFIbConfigPhyMode(
200    void *pMgmtHandle,
201    CARD_PHY_TYPE ePhyType
202    );
203
204void
205VNTWIFIbGetConfigPhyMode(
206    void *pMgmtHandle,
207    void *pePhyType
208    );
209
210void
211VNTWIFIvQueryBSSList(void *pMgmtHandle, unsigned int *puBSSCount,
212		void **pvFirstBSS);
213
214void
215VNTWIFIvGetNextBSS (
216    void *pMgmtHandle,
217    void *pvCurrentBSS,
218    void **pvNextBSS
219    );
220
221
222
223void
224VNTWIFIvUpdateNodeTxCounter(
225    void *pMgmtHandle,
226    unsigned char *pbyDestAddress,
227    bool bTxOk,
228    unsigned short wRate,
229    unsigned char *pbyTxFailCount
230    );
231
232
233void
234VNTWIFIvGetTxRate(
235    void *pMgmtHandle,
236    unsigned char *pbyDestAddress,
237    unsigned short *pwTxDataRate,
238    unsigned char *pbyACKRate,
239    unsigned char *pbyCCKBasicRate,
240    unsigned char *pbyOFDMBasicRate
241    );
242/*
243bool
244VNTWIFIbInit(
245    void *pAdapterHandler,
246    void **pMgmtHandler
247    );
248*/
249
250unsigned char
251VNTWIFIbyGetKeyCypher(
252    void *pMgmtHandle,
253    bool bGroupKey
254    );
255
256
257
258
259bool
260VNTWIFIbSetPMKIDCache (
261    void *pMgmtObject,
262    unsigned long ulCount,
263    void *pPMKIDInfo
264    );
265
266bool
267VNTWIFIbCommandRunning (
268    void *pMgmtObject
269    );
270
271unsigned short
272VNTWIFIwGetMaxSupportRate(
273    void *pMgmtObject
274    );
275
276// for 802.11h
277void
278VNTWIFIvSet11h (
279    void *pMgmtObject,
280    bool b11hEnable
281    );
282
283bool
284VNTWIFIbMeasureReport(
285    void *pMgmtObject,
286    bool bEndOfReport,
287    void *pvMeasureEID,
288    unsigned char byReportMode,
289    unsigned char byBasicMap,
290    unsigned char byCCAFraction,
291    unsigned char *pbyRPIs
292    );
293
294bool
295VNTWIFIbChannelSwitch(
296    void *pMgmtObject,
297    unsigned char byNewChannel
298    );
299/*
300bool
301VNTWIFIbRadarPresent(
302    void *pMgmtObject,
303    unsigned char byChannel
304    );
305*/
306
307#endif //__VNTWIFI_H__