⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wlan_defs.h

📁 marvell wifi driver GSPI-8385-LINUX-OMAP1510-5.0.10.p0-144-src.rar
💻 H
📖 第 1 页 / 共 2 页
字号:
#endif /* MULTI_BANDS */

#ifdef WPA
#define KEY_INFO_ENABLED	0x01
#endif /* WPA */

/* For Wireless Extensions */
#define		RF_GET			0
#define		RF_SET			1
#define		OID_MRVL_MFG_COMMAND	1

#define SNR_BEACON		0
#define SNR_RXPD		1
#define NF_BEACON		2
#define NF_RXPD			3

/*
 *            MACRO DEFINITIONS
 */
	
#define CAL_NF(NF)			((s32)(-(s32)(NF)))
#define CAL_RSSI(SNR, NF) 		((s32)((s32)(SNR) + CAL_NF(NF)))
#define SCAN_RSSI(RSSI)			(0x100 - ((u8)(RSSI)))

#define DEFAULT_BCN_AVG_FACTOR		8
#define DEFAULT_DATA_AVG_FACTOR		8
#define AVG_SCALE			100
#define CAL_AVG_SNR_NF(AVG, SNRNF, N)         \
                        (((AVG) == 0) ? ((u16)(SNRNF) * AVG_SCALE) : \
                        ((((int)(AVG) * (N -1)) + ((u16)(SNRNF) * \
                        AVG_SCALE))  / N))

#define WLAN_STATUS_SUCCESS			(0)
#define WLAN_STATUS_FAILURE			(-1)
#define WLAN_STATUS_NOT_ACCEPTED                (-2)

#define B_SUPPORTED_RATES		8
#define G_SUPPORTED_RATES		14

#define	WLAN_SUPPORTED_RATES		14
#define WLAN_MAX_SSID_LENGTH		32

#ifdef	LED_GPIO_CTRL
#define	MAX_LEDS			16
#endif

/*
 *          S_SWAP : To swap 2 unsigned char
 */
#define S_SWAP(a,b) 	do { \
				unsigned char  t = SArr[a]; \
				SArr[a] = SArr[b]; SArr[b] = t; \
			} while(0)

/* SWAP: swap u8 */
#define SWAP_U8(a,b)	{u8 t; t=a; a=b; b=t;}
/* SWAP: swap u8 */
#define SWAP_U16(a,b)	{u16 t; t=a; a=b; b=t;}

#ifdef BIG_ENDIAN
#define wlan_le16_to_cpu(x) le16_to_cpu(x)
#define wlan_le32_to_cpu(x) le32_to_cpu(x)
#define wlan_cpu_to_le16(x) cpu_to_le16(x)
#define wlan_cpu_to_le32(x) cpu_to_le32(x)


#define endian_convert_pLocalTxPD(x);	{	\
		pLocalTxPD->TxStatus = wlan_cpu_to_le32(pLocalTxPD->TxStatus);	\
		pLocalTxPD->TxPacketLength = wlan_cpu_to_le16(pLocalTxPD->TxPacketLength);	\
		pLocalTxPD->TxPacketLocation = wlan_cpu_to_le32(pLocalTxPD->TxPacketLocation);	\
		pLocalTxPD->TxControl = wlan_cpu_to_le32(pLocalTxPD->TxControl);	\
	}

#define endian_convert_RxPD(x); { \
		pRxPD->Status = wlan_le16_to_cpu(pRxPD->Status); \
		pRxPD->PktLen = wlan_le16_to_cpu(pRxPD->PktLen); \
		pRxPD->PktPtr = wlan_le32_to_cpu(pRxPD->PktPtr); \
		pRxPD->NextRxPDPtr = wlan_le32_to_cpu(pRxPD->NextRxPDPtr); \
}

#define endian_convert_GET_LOG(x); { \
		Adapter->LogMsg.mcastrxframe = wlan_le32_to_cpu(Adapter->LogMsg.mcastrxframe); \
		Adapter->LogMsg.failed = wlan_le32_to_cpu(Adapter->LogMsg.failed); \
		Adapter->LogMsg.retry = wlan_le32_to_cpu(Adapter->LogMsg.retry); \
		Adapter->LogMsg.multiretry = wlan_le32_to_cpu(Adapter->LogMsg.multiretry); \
		Adapter->LogMsg.framedup = wlan_le32_to_cpu(Adapter->LogMsg.framedup); \
		Adapter->LogMsg.rtssuccess = wlan_le32_to_cpu(Adapter->LogMsg.rtssuccess); \
		Adapter->LogMsg.rtsfailure = wlan_le32_to_cpu(Adapter->LogMsg.rtsfailure); \
		Adapter->LogMsg.ackfailure = wlan_le32_to_cpu(Adapter->LogMsg.ackfailure); \
		Adapter->LogMsg.rxfrag = wlan_le32_to_cpu(Adapter->LogMsg.rxfrag); \
		Adapter->LogMsg.mcastrxframe = wlan_le32_to_cpu(Adapter->LogMsg.mcastrxframe); \
		Adapter->LogMsg.fcserror = wlan_le32_to_cpu(Adapter->LogMsg.fcserror); \
		Adapter->LogMsg.wepundecryptable = wlan_le32_to_cpu(Adapter->LogMsg.wepundecryptable); \
}

#else /* BIG_ENDIAN */
#define wlan_le16_to_cpu(x) x
#define wlan_le32_to_cpu(x) x
#define wlan_cpu_to_le16(x) x
#define wlan_cpu_to_le32(x) x
#endif /* BIG_ENDIAN */

typedef struct _wlan_private wlan_private;
typedef struct _wlan_adapter wlan_adapter;
typedef struct _HostCmd_DS_COMMAND HostCmd_DS_COMMAND;

extern u32 DSFreqList[15];
extern const char driver_version[];
extern u32	DSFreqList[];
extern u16	RegionCodeToIndex[MRVDRV_MAX_REGION_CODE];

extern u8	WlanDataRates[WLAN_SUPPORTED_RATES];

#ifdef MULTI_BANDS
extern u8	SupportedRates[A_SUPPORTED_RATES];
extern u8	SupportedRates_B[B_SUPPORTED_RATES];
extern u8	SupportedRates_G[G_SUPPORTED_RATES];
extern u8	SupportedRates_A[A_SUPPORTED_RATES];
extern u8	AdhocRates_A[A_SUPPORTED_RATES];
#else
#ifdef G_RATE
extern u8 	SupportedRates[G_SUPPORTED_RATES];
#else
extern u8 	SupportedRates[B_SUPPORTED_RATES];
#endif
#endif

#ifdef ADHOC_GRATE
extern u8 	AdhocRates_G[G_SUPPORTED_RATES];
#else ///ADHOC_GRATE
extern u8 	AdhocRates_G[4];
#endif ///ADHOC_GRATE

extern u8 	AdhocRates_B[4];
extern wlan_private	*wlanpriv;

#ifdef FW_WAKEUP_TIME
extern unsigned long wt_pwrup_sending, wt_pwrup_sent, wt_int, wt_wakeup_event, wt_awake_confirmrsp;
#endif

#ifdef PS_REQUIRED
#ifdef BULVERDE_SDIO
extern int ps_sleep_confirmed;
#endif
#endif 

#ifdef GSPI83xx
extern int g_bus_mode_reg;
extern int g_dummy_clk_ioport;
extern int g_dummy_clk_reg;
#endif /* GSPI83xx */

#ifdef OMAP1510_TIMER_DEBUG
extern unsigned long times[20][10];
extern int tm_ind[10];
#endif /* OMAP1510_TIMER_DEBUG */

#ifdef MANF_CMD_SUPPORT
typedef struct PkHeader //For the mfg command
{
	u16	cmd;
	u16	len;
	u16	seq;
	u16	result;
	u32	MfgCmd;
} PkHeader;

#define SIOCCFMFG SIOCDEVPRIVATE //For the manfacturing tool
#endif /* MANF_CMD_SUPPORT */

/* Definitions for SNR and NF */
typedef enum _SNRNF_TYPE {
	TYPE_BEACON = 0,
	TYPE_RXPD,
	MAX_TYPE_B
} SNRNF_TYPE;

typedef enum _SNRNF_DATA {
	TYPE_NOAVG = 0,
	TYPE_AVG,
	MAX_TYPE_AVG
} SNRNF_DATA;

typedef enum _WLAN_802_11_AUTH_ALG
{
	AUTH_ALG_OPEN_SYSTEM = 1,
	AUTH_ALG_SHARED_KEY = 2,
	AUTH_ALG_NETWORK_EAP = 8,
} WLAN_802_11_AUTH_ALG;

typedef enum _WLAN_802_1X_AUTH_ALG
{
	WLAN_1X_AUTH_ALG_NONE = 1,
	WLAN_1X_AUTH_ALG_LEAP = 2,
	WLAN_1X_AUTH_ALG_TLS = 4,
	WLAN_1X_AUTH_ALG_TTLS = 8,
	WLAN_1X_AUTH_ALG_MD5 = 16,
} WLAN_802_1X_AUTH_ALG;

typedef enum _WLAN_802_11_ENCRYPTION_MODE
{
	CIPHER_NONE,
	CIPHER_WEP40,
	CIPHER_TKIP,
	CIPHER_CCMP,
	CIPHER_WEP104,
} WLAN_802_11_ENCRYPTION_MODE;

#ifdef PS_REQUIRED	
typedef enum _WLAN_802_11_POWER_MODE
{
	Wlan802_11PowerModeCAM,
	Wlan802_11PowerModeMAX_PSP,
	Wlan802_11PowerModeFast_PSP,
	Wlan802_11PowerModeMax		// not a real mode, defined as 
					//an upper bound
} WLAN_802_11_POWER_MODE, *PWLAN_802_11_POWER_MODE;

typedef enum {
	PS_STATE_FULL_POWER,
	PS_STATE_AWAKE,
#ifdef PS_PRESLEEP
	PS_STATE_PRE_SLEEP,
#endif
	PS_STATE_SLEEP
} PS_STATE;
#endif /* PS_REQUIRED */

/* Command or Data download status */
typedef enum {
	DNLD_RES_RECEIVED,
	DNLD_DATA_SENT,
	DNLD_CMD_SENT
} DNLD_STATE;

/*
 *  Defines the state of the LAN media
 */
typedef enum _WLAN_MEDIA_STATE {
	WlanMediaStateConnected,
	WlanMediaStateDisconnected
} WLAN_MEDIA_STATE, *PWLAN_MEDIA_STATE;

typedef enum _WLAN_802_11_PRIVACY_FILTER {
	Wlan802_11PrivFilterAcceptAll,
	Wlan802_11PrivFilter8021xWEP
} WLAN_802_11_PRIVACY_FILTER, *PWLAN_802_11_PRIVACY_FILTER;

typedef enum {
	MVMS_DAT = 0,
	MVMS_CMD = 1,
	MVMS_TXDONE = 2,
	MVMS_EVENT
} mv_ms_type;

typedef u8 WLAN_802_11_RATES[WLAN_SUPPORTED_RATES] __ATTRIB_PACK__;    // Set of 8 data rates
typedef u8 WLAN_802_11_MAC_ADDRESS[ETH_ALEN] __ATTRIB_PACK__;

/*
 * Hardware status codes (OID_GEN_HARDWARE_STATUS).
 */
typedef enum _WLAN_HARDWARE_STATUS {
	WlanHardwareStatusReady,
	WlanHardwareStatusInitializing,
	WlanHardwareStatusReset,
	WlanHardwareStatusClosing,
	WlanHardwareStatusNotReady
} WLAN_HARDWARE_STATUS, *PWLAN_HARDWARE_STATUS;

typedef enum _WLAN_802_11_NETWORK_TYPE {
	Wlan802_11FH,
	Wlan802_11DS,
	Wlan802_11NetworkTypeMax	// not a real type, 
					//defined as an upper bound
} WLAN_802_11_NETWORK_TYPE, *PWLAN_802_11_NETWORK_TYPE
  __ATTRIB_PACK__;

typedef enum _WLAN_802_11_NETWORK_INFRASTRUCTURE {
	Wlan802_11IBSS,
	Wlan802_11Infrastructure,
	Wlan802_11AutoUnknown,
	Wlan802_11InfrastructureMax	// Not a real value, 
					// defined as upper bound
} WLAN_802_11_NETWORK_INFRASTRUCTURE, *PWLAN_802_11_NETWORK_INFRASTRUCTURE;

typedef enum _WLAN_802_11_AUTHENTICATION_MODE {
	Wlan802_11AuthModeOpen = 0x00,
	Wlan802_11AuthModeShared = 0x01,
	Wlan802_11AuthModeNetworkEAP = 0x80,
} WLAN_802_11_AUTHENTICATION_MODE, *PWLAN_802_11_AUTHENTICATION_MODE;

typedef enum _WLAN_802_11_WEP_STATUS
{
	Wlan802_11WEPEnabled,
	Wlan802_11WEPDisabled,
	Wlan802_11WEPKeyAbsent,
	Wlan802_11WEPNotSupported
#ifdef WPA
	,Wlan802_11Encryption2Enabled,
	Wlan802_11Encryption2KeyAbsent,
	Wlan802_11Encryption3Enabled,
	Wlan802_11Encryption3KeyAbsent
#endif
} WLAN_802_11_WEP_STATUS, *PWLAN_802_11_WEP_STATUS
#ifdef WPA
,WLAN_802_11_ENCRYPTION_STATUS, *PWLAN_802_11_ENCRYPTION_STATUS;
#else
;
#endif

typedef enum {
	DesiredBssType_i = 0,
	OpRateSet_i,
	BcnPeriod_i,
	DtimPeriod_i,
	AssocRspTimeOut_i,
	RtsThresh_i,
	ShortRetryLim_i,
	LongRetryLim_i,
	FragThresh_i,
	Dot11D_i,
	Dot11HTPC_i,
	ManufId_i,
	ProdId_i,
	ManufOui_i,
	ManufName_i,
	ManufProdName_i,
	ManufProdVer_i
} SNMP_MIB_INDEX_e;

#ifdef WPA
typedef enum {
	KEY_TYPE_ID_WEP = 0,
	KEY_TYPE_ID_TKIP,
	KEY_TYPE_ID_AES
} KEY_TYPE_ID;

typedef enum {
	KEY_INFO_WEP_DEFAULT_KEY = 0x01
} KEY_INFO_WEP;

typedef enum {
	KEY_INFO_TKIP_MCAST = 0x01,
	KEY_INFO_TKIP_UNICAST = 0x02,
	KEY_INFO_TKIP_ENABLED = 0x04
} KEY_INFO_TKIP;

typedef enum {
	KEY_INFO_AES_MCAST = 0x01,
	KEY_INFO_AES_UNICAST = 0x02,
	KEY_INFO_AES_ENABLED = 0x04
} KEY_INFO_AES;
#endif /* WPA */

typedef enum {
	SNMP_MIB_VALUE_INFRA = 1,
	SNMP_MIB_VALUE_ADHOC
} SNMP_MIB_VALUE_e;

/* Linux Dynamic Power Management,
 *  If the user has enabled the deep sleep, user has the highest privilege.
 *  The Kernel PM takes the next priority
 */
enum {
	DEEP_SLEEP_DISABLED,
	DEEP_SLEEP_ENABLED,
	DEEP_SLEEP_OS_ENABLED,
	DEEP_SLEEP_USER_ENABLED
};
enum {
	PM_DISABLED,
	PM_ENABLED
};
#endif /* _WLAN_DEFS_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -