Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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  * File: card.h
 20  *
 21  * Purpose: Provide functions to setup NIC operation mode
 22  *
 23  * Author: Tevin Chen
 24  *
 25  * Date: May 21, 1996
 26  *
 27  */
 28 
 29 
 30 #ifndef __CARD_H__
 31 #define __CARD_H__
 32 
 33 //#if !defined(__DEVICE_H__)
 34 //#include "device.h"
 35 //#endif
 36 #if !defined(__TTYPE_H__)
 37 #include "ttype.h"
 38 #endif
 39 
 40 
 41 
 42 
 43 /*---------------------  Export Definitions -------------------------*/
 44 //
 45 // Loopback mode
 46 //
 47 // LOBYTE is MAC LB mode, HIBYTE is MII LB mode
 48 #define CARD_LB_NONE            MAKEWORD(MAC_LB_NONE, 0)
 49 #define CARD_LB_MAC             MAKEWORD(MAC_LB_INTERNAL, 0)   // PHY must ISO, avoid MAC loopback packet go out
 50 #define CARD_LB_PHY             MAKEWORD(MAC_LB_EXT, 0)
 51 
 52 
 53 #define DEFAULT_MSDU_LIFETIME           512  // ms
 54 #define DEFAULT_MSDU_LIFETIME_RES_64us  8000 // 64us
 55 
 56 #define DEFAULT_MGN_LIFETIME            8    // ms
 57 #define DEFAULT_MGN_LIFETIME_RES_64us   125  // 64us
 58 
 59 #define CB_MAX_CHANNEL_24G      14
 60 #define CB_MAX_CHANNEL_5G       42 //[20050104] add channel9(5045MHz), 41==>42
 61 #define CB_MAX_CHANNEL          (CB_MAX_CHANNEL_24G+CB_MAX_CHANNEL_5G)
 62 
 63 typedef enum _CARD_PHY_TYPE {
 64     PHY_TYPE_AUTO,
 65     PHY_TYPE_11B,
 66     PHY_TYPE_11G,
 67     PHY_TYPE_11A
 68 } CARD_PHY_TYPE, *PCARD_PHY_TYPE;
 69 
 70 typedef enum _CARD_PKT_TYPE {
 71     PKT_TYPE_802_11_BCN,
 72     PKT_TYPE_802_11_MNG,
 73     PKT_TYPE_802_11_DATA,
 74     PKT_TYPE_802_11_ALL
 75 } CARD_PKT_TYPE, *PCARD_PKT_TYPE;
 76 
 77 typedef enum _CARD_STATUS_TYPE {
 78     CARD_STATUS_MEDIA_CONNECT,
 79     CARD_STATUS_MEDIA_DISCONNECT,
 80     CARD_STATUS_PMKID
 81 } CARD_STATUS_TYPE, *PCARD_STATUS_TYPE;
 82 
 83 typedef enum _CARD_OP_MODE {
 84     OP_MODE_INFRASTRUCTURE,
 85     OP_MODE_ADHOC,
 86     OP_MODE_AP,
 87     OP_MODE_UNKNOWN
 88 } CARD_OP_MODE, *PCARD_OP_MODE;
 89 
 90 
 91 
 92 /*---------------------  Export Classes  ----------------------------*/
 93 
 94 /*---------------------  Export Variables  --------------------------*/
 95 
 96 /*---------------------  Export Functions  --------------------------*/
 97 #ifdef __cplusplus
 98 extern "C" {                            /* Assume C declarations for C++ */
 99 #endif /* __cplusplus */
100 
101 BOOL ChannelValid(UINT CountryCode, UINT ChannelIndex);
102 void CARDvSetRSPINF(PVOID pDeviceHandler, CARD_PHY_TYPE ePHYType);
103 void vUpdateIFS(PVOID pDeviceHandler);
104 void CARDvUpdateBasicTopRate(PVOID pDeviceHandler);
105 BOOL CARDbAddBasicRate(PVOID pDeviceHandler, WORD wRateIdx);
106 BOOL CARDbIsOFDMinBasicRate(PVOID pDeviceHandler);
107 void CARDvSetLoopbackMode(DWORD_PTR dwIoBase, WORD wLoopbackMode);
108 BOOL CARDbSoftwareReset(PVOID pDeviceHandler);
109 void CARDvSetFirstNextTBTT(DWORD_PTR dwIoBase, WORD wBeaconInterval);
110 void CARDvUpdateNextTBTT(DWORD_PTR dwIoBase, QWORD qwTSF, WORD wBeaconInterval);
111 BOOL CARDbGetCurrentTSF(DWORD_PTR dwIoBase, PQWORD pqwCurrTSF);
112 QWORD CARDqGetNextTBTT(QWORD qwTSF, WORD wBeaconInterval);
113 QWORD CARDqGetTSFOffset(BYTE byRxRate, QWORD qwTSF1, QWORD qwTSF2);
114 BOOL CARDbSetTxPower(PVOID pDeviceHandler, ULONG ulTxPower);
115 BYTE CARDbyGetPktType(PVOID pDeviceHandler);
116 VOID CARDvSafeResetTx(PVOID pDeviceHandler);
117 VOID CARDvSafeResetRx(PVOID pDeviceHandler);
118 
119 //xxx
120 BOOL CARDbRadioPowerOff(PVOID pDeviceHandler);
121 BOOL CARDbRadioPowerOn(PVOID pDeviceHandler);
122 BOOL CARDbSetChannel(PVOID pDeviceHandler, UINT uConnectionChannel);
123 //BOOL CARDbSendPacket(PVOID pDeviceHandler, PVOID pPacket, CARD_PKT_TYPE ePktType, UINT uLength);
124 BOOL CARDbIsShortPreamble(PVOID pDeviceHandler);
125 BOOL CARDbIsShorSlotTime(PVOID pDeviceHandler);
126 BOOL CARDbSetPhyParameter(PVOID pDeviceHandler, CARD_PHY_TYPE ePHYType, WORD wCapInfo, BYTE byERPField, PVOID pvSupportRateIEs, PVOID pvExtSupportRateIEs);
127 BOOL CARDbUpdateTSF(PVOID pDeviceHandler, BYTE byRxRate, QWORD qwBSSTimestamp, QWORD qwLocalTSF);
128 BOOL CARDbStopTxPacket(PVOID pDeviceHandler, CARD_PKT_TYPE ePktType);
129 BOOL CARDbStartTxPacket(PVOID pDeviceHandler, CARD_PKT_TYPE ePktType);
130 BOOL CARDbSetBeaconPeriod(PVOID pDeviceHandler, WORD wBeaconInterval);
131 BOOL CARDbSetBSSID(PVOID pDeviceHandler, PBYTE pbyBSSID, CARD_OP_MODE eOPMode);
132 
133 BOOL
134 CARDbPowerDown(
135     PVOID   pDeviceHandler
136     );
137 
138 BOOL CARDbSetTxDataRate(
139     PVOID   pDeviceHandler,
140     WORD    wDataRate
141     );
142 
143 
144 BOOL CARDbRemoveKey (PVOID pDeviceHandler, PBYTE pbyBSSID);
145 
146 BOOL
147 CARDbAdd_PMKID_Candidate (
148     IN PVOID            pDeviceHandler,
149     IN PBYTE            pbyBSSID,
150     IN BOOL             bRSNCapExist,
151     IN WORD             wRSNCap
152     );
153 
154 PVOID
155 CARDpGetCurrentAddress (
156     IN PVOID            pDeviceHandler
157     );
158 
159 
160 VOID CARDvInitChannelTable(PVOID pDeviceHandler);
161 BYTE CARDbyGetChannelMapping(PVOID pDeviceHandler, BYTE byChannelNumber, CARD_PHY_TYPE ePhyType);
162 
163 BOOL
164 CARDbStartMeasure (
165     IN PVOID            pDeviceHandler,
166     IN PVOID            pvMeasureEIDs,
167     IN UINT             uNumOfMeasureEIDs
168     );
169 
170 BOOL
171 CARDbChannelSwitch (
172     IN PVOID            pDeviceHandler,
173     IN BYTE             byMode,
174     IN BYTE             byNewChannel,
175     IN BYTE             byCount
176     );
177 
178 BOOL
179 CARDbSetQuiet (
180     IN PVOID            pDeviceHandler,
181     IN BOOL             bResetQuiet,
182     IN BYTE             byQuietCount,
183     IN BYTE             byQuietPeriod,
184     IN WORD             wQuietDuration,
185     IN WORD             wQuietOffset
186     );
187 
188 BOOL
189 CARDbStartQuiet (
190     IN PVOID            pDeviceHandler
191     );
192 
193 VOID
194 CARDvSetCountryInfo (
195     IN PVOID            pDeviceHandler,
196     IN CARD_PHY_TYPE    ePHYType,
197     IN PVOID            pIE
198     );
199 
200 VOID
201 CARDvSetPowerConstraint (
202     IN PVOID            pDeviceHandler,
203     IN BYTE             byChannel,
204     IN I8               byPower
205     );
206 
207 VOID
208 CARDvGetPowerCapability (
209     IN PVOID            pDeviceHandler,
210     OUT PBYTE           pbyMinPower,
211     OUT PBYTE           pbyMaxPower
212     );
213 
214 BYTE
215 CARDbySetSupportChannels (
216     IN PVOID            pDeviceHandler,
217     IN OUT PBYTE        pbyIEs
218     );
219 
220 I8
221 CARDbyGetTransmitPower (
222     IN PVOID            pDeviceHandler
223     );
224 
225 BOOL
226 CARDbChannelGetList (
227     IN  UINT       uCountryCodeIdx,
228     OUT PBYTE      pbyChannelTable
229     );
230 
231 VOID
232 CARDvSetCountryIE(
233     IN PVOID        pDeviceHandler,
234     IN PVOID        pIE
235     );
236 
237 BOOL
238 CARDbGetChannelMapInfo(
239     IN PVOID        pDeviceHandler,
240     IN UINT         uChannelIndex,
241     OUT PBYTE       pbyChannelNumber,
242     OUT PBYTE       pbyMap
243     );
244 
245 VOID
246 CARDvSetChannelMapInfo(
247     IN PVOID        pDeviceHandler,
248     IN UINT         uChannelIndex,
249     IN BYTE         byMap
250     );
251 
252 VOID
253 CARDvClearChannelMapInfo(
254     IN PVOID        pDeviceHandler
255     );
256 
257 BYTE
258 CARDbyAutoChannelSelect(
259     IN PVOID        pDeviceHandler,
260     CARD_PHY_TYPE   ePHYType
261     );
262 
263 BYTE CARDbyGetChannelNumber(PVOID pDeviceHandler, BYTE byChannelIndex);
264 
265 #ifdef __cplusplus
266 }                                       /* End of extern "C" { */
267 #endif /* __cplusplus */
268 
269 
270 #endif // __CARD_H__
271 
272 
273 
274 
  This page was automatically generated by the LXR engine.