📄 ar6000_drv.h
字号:
/* * Copyright (c) 2004-2006 Atheros Communications Inc. * * Wireless Network driver for Atheros AR6001 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation; * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * * This file contains the definitions for the AR6000 linux driver. * */#ifndef _AR6000_H_#define _AR6000_H_#ifdef __cplusplusextern "C" {#endif#define MAX_AR6000 1#define AR6000_MAX_RX_BUFFERS 16#define AR6000_BUFFER_SIZE 1552#define AR6000_DATA_OFFSET 64#define AR6000_TX_TIMEOUT 10#define AR6000_ETH_ADDR_LEN 6#define AR6000_MAX_ENDPOINTS 4#define MAX_NODE_NUM 15#define MAX_COOKIE_NUM 150struct ar_wep_key { A_UINT8 arKeyIndex; A_UINT8 arKeyLen; A_UINT8 arKey[64];} ;struct ar_node_mapping { A_UINT8 macAddress[6]; A_UINT8 epId; A_UINT8 txPending;};struct ar_cookie { A_UINT32 arc_bp[2]; /* Must be first field */ struct ar_cookie *arc_list_next;};typedef struct ar6_softc { struct net_device *arNetDev; /* net_device pointer */ void *arWmi; int arTxPending[AR6000_MAX_ENDPOINTS]; int arTotalTxDataPending; A_UINT8 arNumDataEndPts; A_BOOL arWmiEnabled; A_BOOL arWmiReady; A_BOOL arConnected; void *arHtcTarget; void *arHifDevice; spinlock_t arLock; struct semaphore arSem; int arRxBuffers[AR6000_MAX_ENDPOINTS]; int arSsidLen; u_char arSsid[32]; A_UINT8 arNetworkType; A_UINT8 arDot11AuthMode; A_UINT8 arAuthMode; A_UINT8 arPairwiseCrypto; A_UINT8 arPairwiseCryptoLen; A_UINT8 arGroupCrypto; A_UINT8 arGroupCryptoLen; A_UINT8 arDefTxKeyIndex; struct ar_wep_key arWepKeyList[WMI_MAX_KEY_INDEX + 1]; A_UINT8 arBssid[6]; A_UINT8 arReqBssid[6]; A_UINT16 arChannelHint; A_UINT16 arBssChannel; A_UINT16 arListenInterval; struct ar6000_version arVersion; A_INT8 arRssi; A_UINT8 arTxPwr; A_BOOL arTxPwrSet; A_INT32 arBitRate; struct net_device_stats arNetStats; struct iw_statistics arIwStats; A_INT8 arNumChannels; A_UINT16 arChannelList[32]; A_UINT32 arRegCode; A_BOOL statsUpdatePending; TARGET_STATS arTargetStats; A_INT8 arMaxRetries; A_UINT8 arPhyCapability; AR6000_WLAN_STATE arWlanState; struct ar_node_mapping arNodeMap[MAX_NODE_NUM]; A_UINT8 arIbssPsEnable; A_UINT8 arNodeNum; A_UINT8 arNexEpId; struct ar_cookie *arCookieList; A_BOOL arConnectPending;} AR_SOFTC_T;struct ar_giwscan_param { char *current_ev; char *end_buf; A_BOOL firstPass;};#define AR6000_STAT_INC(ar, stat) (ar->arNetStats.stat++)#define AR6000_SPIN_LOCK(lock, param) do { \ if (irqs_disabled()) { \ AR_DEBUG_PRINTF("IRQs disabled:AR6000_LOCK\n"); \ } \ spin_lock_bh(lock); \} while (0)#define AR6000_SPIN_UNLOCK(lock, param) do { \ if (irqs_disabled()) { \ AR_DEBUG_PRINTF("IRQs disabled: AR6000_UNLOCK\n"); \ } \ spin_unlock_bh(lock); \} while (0)#ifdef __cplusplus}#endif#endif /* _AR6000_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -