hfa384x.h

来自「Linux的无线局域网方案是一个Linux设备驱动程序和子系统 一揽子方案的用」· C头文件 代码 · 共 1,540 行 · 第 1/5 页

H
1,540
字号
#define		HFA384x_RID_CCAMODE		((UINT16)0xFDC3)#define		HFA384x_RID_SUPPORTEDDATARATES	((UINT16)0xFDC6)/*--------------------------------------------------------------------Information RID Lengths:  Modem Information   This is the length of JUST the DATA part of the RID (does not   include the len or code fields)--------------------------------------------------------------------*/#define		HFA384x_RID_PHYTYPE_LEN			((UINT16)0)#define		HFA384x_RID_CURRENTCHANNEL_LEN		((UINT16)0)#define		HFA384x_RID_CURRENTPOWERSTATE_LEN	((UINT16)0)#define		HFA384x_RID_CCAMODE_LEN			((UINT16)0)#define		HFA384x_RID_SUPPORTEDDATARATES_LEN	((UINT16)10)/*--------------------------------------------------------------------API ENHANCEMENTS (NOT ALREADY IMPLEMENTED)--------------------------------------------------------------------*/#define		HFA384x_RID_CNFWEPDEFAULTKEYID	((UINT16)0xFC23)#define		HFA384x_RID_CNFWEPDEFAULTKEY0	((UINT16)0xFC24)#define		HFA384x_RID_CNFWEPDEFAULTKEY1	((UINT16)0xFC25)#define		HFA384x_RID_CNFWEPDEFAULTKEY2	((UINT16)0xFC26)#define		HFA384x_RID_CNFWEPDEFAULTKEY3	((UINT16)0xFC27)#define		HFA384x_RID_CNFWEPFLAGS		((UINT16)0xFC28)#define		HFA384x_RID_CNFWEPKEYMAPTABLE	((UINT16)0xFC29)#define		HFA384x_RID_CNFMAXASSOCSTATIONS	((UINT16)0xFC2B)#define		HFA384x_RID_CNFTXCONTROL	((UINT16)0xFC2C)#define		HFA384x_RID_CNFROAMINGMODE	((UINT16)0xFC2D)#define		HFA384x_RID_CNFHOSTAUTH		((UINT16)0xFC2E)#define		HFA384x_RID_CNFRCVCRCERROR	((UINT16)0xFC30)#define		HFA384x_RID_CNFMMLIFE		((UINT16)0xFC31)#define		HFA384x_RID_CNFALTRETRYCNT	((UINT16)0xFC32)#define		HFA384x_RID_CNFAPBCNINT		((UINT16)0xFC33)#define		HFA384x_RID_CNFAPPCFINFO	((UINT16)0xFC34)#define		HFA384x_RID_CNFSTAPCFINFO	((UINT16)0xFC35)#define		HFA384x_RID_CNFPRIORITYQUSAGE	((UINT16)0xFC37)#define		HFA384x_RID_CNFTIMCTRL		((UINT16)0xFC40)#define		HFA384x_RID_CNFTHIRTY2TALLY	((UINT16)0xFC42)#define		HFA384x_RID_CNFENHSECURITY	((UINT16)0xFC43)#define		HFA384x_RID_CNFSHORTPREAMBLE	((UINT16)0xFCB0)#define		HFA384x_RID_CNFEXCLONGPREAMBLE	((UINT16)0xFCB1)#define		HFA384x_RID_CNFAUTHRSPTIMEOUT	((UINT16)0xFCB2)#define		HFA384x_RID_CNFBASICRATES	((UINT16)0xFCB3)#define		HFA384x_RID_CNFSUPPRATES	((UINT16)0xFCB4)#define		HFA384x_RID_SCANREQUEST		((UINT16)0xFCE1)#define		HFA384x_RID_JOINREQUEST		((UINT16)0xFCE2)#define		HFA384x_RID_AUTHENTICATESTA	((UINT16)0xFCE3)#define		HFA384x_RID_CHANNELINFOREQUEST	((UINT16)0xFCE4)#define		HFA384x_RID_SCANRESULTS		((UINT16)0xF101)#define		HFA384x_RID_CHANNELINFORESULTS	((UINT16)0xF102)#define		HFA384x_RID_LINKSTATUS		((UINT16)0xF200)#define		HFA384x_RID_ASSOCIATIONSTATUS	((UINT16)0xF201)#define		HFA384x_RID_AUTHENTICATIONREQ	((UINT16)0xF202)#define		HFA384x_RID_POWERSAVEUSERCNT	((UINT16)0xF203)#define		HFA384x_RID_CNFWEPDEFAULTKEY_LEN	((UINT16)6)#define		HFA384x_RID_CNFWEP128DEFAULTKEY_LEN	((UINT16)14)#define		HFA384x_RID_CNFPRIOQUSAGE_LEN		((UINT16)4)/*--------------------------------------------------------------------PD Record codes--------------------------------------------------------------------*/#define HFA384x_PDR_PCB_PARTNUM		((UINT16)0x0001)#define HFA384x_PDR_PDAVER		((UINT16)0x0002)#define HFA384x_PDR_NIC_SERIAL		((UINT16)0x0003)#define HFA384x_PDR_MKK_MEASUREMENTS	((UINT16)0x0004)#define HFA384x_PDR_NIC_RAMSIZE		((UINT16)0x0005)#define HFA384x_PDR_MFISUPRANGE		((UINT16)0x0006)#define HFA384x_PDR_CFISUPRANGE		((UINT16)0x0007)#define HFA384x_PDR_NICID		((UINT16)0x0008)#define HFA384x_PDR_REFDAC_MEASUREMENTS	((UINT16)0x0010)#define HFA384x_PDR_VGDAC_MEASUREMENTS	((UINT16)0x0020)#define HFA384x_PDR_LEVEL_COMP_MEASUREMENTS	((UINT16)0x0030)#define HFA384x_PDR_MODEM_TRIMDAC_MEASUREMENTS	((UINT16)0x0040)#define HFA384x_PDR_COREGA_HACK		((UINT16)0x00ff)#define HFA384x_PDR_MAC_ADDRESS		((UINT16)0x0101)#define HFA384x_PDR_MKK_CALLNAME	((UINT16)0x0102)#define HFA384x_PDR_REGDOMAIN		((UINT16)0x0103)#define HFA384x_PDR_ALLOWED_CHANNEL	((UINT16)0x0104)#define HFA384x_PDR_DEFAULT_CHANNEL	((UINT16)0x0105)#define HFA384x_PDR_PRIVACY_OPTION	((UINT16)0x0106)#define HFA384x_PDR_TEMPTYPE		((UINT16)0x0107)#define HFA384x_PDR_REFDAC_SETUP	((UINT16)0x0110)#define HFA384x_PDR_VGDAC_SETUP		((UINT16)0x0120)#define HFA384x_PDR_LEVEL_COMP_SETUP	((UINT16)0x0130)#define HFA384x_PDR_TRIMDAC_SETUP	((UINT16)0x0140)#define HFA384x_PDR_IFR_SETTING		((UINT16)0x0200)#define HFA384x_PDR_RFR_SETTING		((UINT16)0x0201)#define HFA384x_PDR_HFA3861_BASELINE	((UINT16)0x0202)#define HFA384x_PDR_HFA3861_SHADOW	((UINT16)0x0203)#define HFA384x_PDR_HFA3861_IFRF	((UINT16)0x0204)#define HFA384x_PDR_HFA3861_CHCALSP	((UINT16)0x0300)#define HFA384x_PDR_HFA3861_CHCALI	((UINT16)0x0301)#define HFA384x_PDR_3842_NIC_CONFIG	((UINT16)0x0400)#define HFA384x_PDR_USB_ID		((UINT16)0x0401)#define HFA384x_PDR_PCI_ID		((UINT16)0x0402)#define HFA384x_PDR_PCI_IFCONF		((UINT16)0x0403)#define HFA384x_PDR_PCI_PMCONF		((UINT16)0x0404)#define HFA384x_PDR_RFENRGY		((UINT16)0x0406)#define HFA384x_PDR_UNKNOWN407		((UINT16)0x0407)#define HFA384x_PDR_UNKNOWN408		((UINT16)0x0408)#define HFA384x_PDR_UNKNOWN409		((UINT16)0x0409)#define HFA384x_PDR_HFA3861_MANF_TESTSP	((UINT16)0x0900)#define HFA384x_PDR_HFA3861_MANF_TESTI	((UINT16)0x0901)#define HFA384x_PDR_END_OF_PDA		((UINT16)0x0000)/*=============================================================*//*------ Macros -----------------------------------------------*//*--- Register ID macros ------------------------*/#define		HFA384x_CMD		HFA384x_CMD_OFF#define		HFA384x_PARAM0		HFA384x_PARAM0_OFF#define		HFA384x_PARAM1		HFA384x_PARAM1_OFF#define		HFA384x_PARAM2		HFA384x_PARAM2_OFF#define		HFA384x_STATUS		HFA384x_STATUS_OFF#define		HFA384x_RESP0		HFA384x_RESP0_OFF#define		HFA384x_RESP1		HFA384x_RESP1_OFF#define		HFA384x_RESP2		HFA384x_RESP2_OFF#define		HFA384x_INFOFID		HFA384x_INFOFID_OFF#define		HFA384x_RXFID		HFA384x_RXFID_OFF#define		HFA384x_ALLOCFID	HFA384x_ALLOCFID_OFF#define		HFA384x_TXCOMPLFID	HFA384x_TXCOMPLFID_OFF#define		HFA384x_SELECT0		HFA384x_SELECT0_OFF#define		HFA384x_OFFSET0		HFA384x_OFFSET0_OFF#define		HFA384x_DATA0		HFA384x_DATA0_OFF#define		HFA384x_SELECT1		HFA384x_SELECT1_OFF#define		HFA384x_OFFSET1		HFA384x_OFFSET1_OFF#define		HFA384x_DATA1		HFA384x_DATA1_OFF#define		HFA384x_EVSTAT		HFA384x_EVSTAT_OFF#define		HFA384x_INTEN		HFA384x_INTEN_OFF#define		HFA384x_EVACK		HFA384x_EVACK_OFF#define		HFA384x_CONTROL		HFA384x_CONTROL_OFF#define		HFA384x_SWSUPPORT0	HFA384x_SWSUPPORT0_OFF#define		HFA384x_SWSUPPORT1	HFA384x_SWSUPPORT1_OFF#define		HFA384x_SWSUPPORT2	HFA384x_SWSUPPORT2_OFF#define		HFA384x_AUXPAGE		HFA384x_AUXPAGE_OFF#define		HFA384x_AUXOFFSET	HFA384x_AUXOFFSET_OFF#define		HFA384x_AUXDATA		HFA384x_AUXDATA_OFF#define		HFA384x_PCICOR		HFA384x_PCICOR_OFF/*--- Register Test/Get/Set Field macros ------------------------*/#define		HFA384x_CMD_ISBUSY(value)		((UINT16)(((UINT16)value) & HFA384x_CMD_BUSY))#define		HFA384x_CMD_AINFO_GET(value)		((UINT16)(((UINT16)(value) & HFA384x_CMD_AINFO) >> 8))#define		HFA384x_CMD_AINFO_SET(value)		((UINT16)((UINT16)(value) << 8))#define		HFA384x_CMD_MACPORT_GET(value)		((UINT16)(HFA384x_CMD_AINFO_GET((UINT16)(value) & HFA384x_CMD_MACPORT)))#define		HFA384x_CMD_MACPORT_SET(value)		((UINT16)HFA384x_CMD_AINFO_SET(value))#define		HFA384x_CMD_ISRECL(value)		((UINT16)(HFA384x_CMD_AINFO_GET((UINT16)(value) & HFA384x_CMD_RECL)))#define		HFA384x_CMD_RECL_SET(value)		((UINT16)HFA384x_CMD_AINFO_SET(value))#define		HFA384x_CMD_QOS_GET(value)		((UINT16((((UINT16)(value))&((UINT16)0x3000)) >> 12))#define		HFA384x_CMD_QOS_SET(value)		((UINT16)((((UINT16)(value)) << 12) & 0x3000))#define		HFA384x_CMD_ISWRITE(value)		((UINT16)(HFA384x_CMD_AINFO_GET((UINT16)(value) & HFA384x_CMD_WRITE)))#define		HFA384x_CMD_WRITE_SET(value)		((UINT16)HFA384x_CMD_AINFO_SET((UINT16)value))#define		HFA384x_CMD_PROGMODE_GET(value)		((UINT16)(HFA384x_CMD_AINFO_GET((UINT16)(value) & HFA384x_CMD_PROGMODE)))#define		HFA384x_CMD_PROGMODE_SET(value)		((UINT16)HFA384x_CMD_AINFO_SET((UINT16)value))#define		HFA384x_CMD_CMDCODE_GET(value)		((UINT16)(((UINT16)(value)) & HFA384x_CMD_CMDCODE))#define		HFA384x_CMD_CMDCODE_SET(value)		((UINT16)(value))#define		HFA384x_STATUS_RESULT_GET(value)	((UINT16)((((UINT16)(value)) & HFA384x_STATUS_RESULT) >> 8))#define		HFA384x_STATUS_RESULT_SET(value)	(((UINT16)(value)) << 8)#define		HFA384x_STATUS_CMDCODE_GET(value)	(((UINT16)(value)) & HFA384x_STATUS_CMDCODE)#define		HFA384x_STATUS_CMDCODE_SET(value)	((UINT16)(value))#define		HFA384x_OFFSET_ISBUSY(value)		((UINT16)(((UINT16)(value)) & HFA384x_OFFSET_BUSY))#define		HFA384x_OFFSET_ISERR(value)		((UINT16)(((UINT16)(value)) & HFA384x_OFFSET_ERR))#define		HFA384x_OFFSET_DATAOFF_GET(value)	((UINT16)(((UINT16)(value)) & HFA384x_OFFSET_DATAOFF))#define		HFA384x_OFFSET_DATAOFF_SET(value)	((UINT16)(value))#define		HFA384x_EVSTAT_ISTICK(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_TICK))#define		HFA384x_EVSTAT_ISWTERR(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_WTERR))#define		HFA384x_EVSTAT_ISINFDROP(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_INFDROP))#define		HFA384x_EVSTAT_ISINFO(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_INFO))#define		HFA384x_EVSTAT_ISDTIM(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_DTIM))#define		HFA384x_EVSTAT_ISCMD(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_CMD))#define		HFA384x_EVSTAT_ISALLOC(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_ALLOC))#define		HFA384x_EVSTAT_ISTXEXC(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_TXEXC))#define		HFA384x_EVSTAT_ISTX(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_TX))#define		HFA384x_EVSTAT_ISRX(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVSTAT_RX))#define		HFA384x_INTEN_ISTICK(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_TICK))#define		HFA384x_INTEN_TICK_SET(value)		((UINT16)(((UINT16)(value)) << 15))#define		HFA384x_INTEN_ISWTERR(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_WTERR))#define		HFA384x_INTEN_WTERR_SET(value)		((UINT16)(((UINT16)(value)) << 14))#define		HFA384x_INTEN_ISINFDROP(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_INFDROP))#define		HFA384x_INTEN_INFDROP_SET(value)	((UINT16)(((UINT16)(value)) << 13))#define		HFA384x_INTEN_ISINFO(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_INFO))#define		HFA384x_INTEN_INFO_SET(value)		((UINT16)(((UINT16)(value)) << 7))#define		HFA384x_INTEN_ISDTIM(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_DTIM))#define		HFA384x_INTEN_DTIM_SET(value)		((UINT16)(((UINT16)(value)) << 5))#define		HFA384x_INTEN_ISCMD(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_CMD))#define		HFA384x_INTEN_CMD_SET(value)		((UINT16)(((UINT16)(value)) << 4))#define		HFA384x_INTEN_ISALLOC(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_ALLOC))#define		HFA384x_INTEN_ALLOC_SET(value)		((UINT16)(((UINT16)(value)) << 3))#define		HFA384x_INTEN_ISTXEXC(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_TXEXC))#define		HFA384x_INTEN_TXEXC_SET(value)		((UINT16)(((UINT16)(value)) << 2))#define		HFA384x_INTEN_ISTX(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_TX))#define		HFA384x_INTEN_TX_SET(value)		((UINT16)(((UINT16)(value)) << 1))#define		HFA384x_INTEN_ISRX(value)		((UINT16)(((UINT16)(value)) & HFA384x_INTEN_RX))#define		HFA384x_INTEN_RX_SET(value)		((UINT16)(((UINT16)(value)) << 0))#define		HFA384x_EVACK_ISTICK(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_TICK))#define		HFA384x_EVACK_TICK_SET(value)		((UINT16)(((UINT16)(value)) << 15))#define		HFA384x_EVACK_ISWTERR(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_WTERR))#define		HFA384x_EVACK_WTERR_SET(value)		((UINT16)(((UINT16)(value)) << 14))#define		HFA384x_EVACK_ISINFDROP(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_INFDROP))#define		HFA384x_EVACK_INFDROP_SET(value)	((UINT16)(((UINT16)(value)) << 13))#define		HFA384x_EVACK_ISINFO(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_INFO))#define		HFA384x_EVACK_INFO_SET(value)		((UINT16)(((UINT16)(value)) << 7))#define		HFA384x_EVACK_ISDTIM(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_DTIM))#define		HFA384x_EVACK_DTIM_SET(value)		((UINT16)(((UINT16)(value)) << 5))#define		HFA384x_EVACK_ISCMD(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_CMD))#define		HFA384x_EVACK_CMD_SET(value)		((UINT16)(((UINT16)(value)) << 4))#define		HFA384x_EVACK_ISALLOC(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_ALLOC))#define		HFA384x_EVACK_ALLOC_SET(value)		((UINT16)(((UINT16)(value)) << 3))#define		HFA384x_EVACK_ISTXEXC(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_TXEXC))#define		HFA384x_EVACK_TXEXC_SET(value)		((UINT16)(((UINT16)(value)) << 2))#define		HFA384x_EVACK_ISTX(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_TX))#define		HFA384x_EVACK_TX_SET(value)		((UINT16)(((UINT16)(value)) << 1))#define		HFA384x_EVACK_ISRX(value)		((UINT16)(((UINT16)(value)) & HFA384x_EVACK_RX))#define		HFA384x_EVACK_RX_SET(value)		((UINT16)(((UINT16)(value)) << 0))#define		HFA384x_CONTROL_AUXEN_SET(value)	((UINT16)(((UINT16)(value)) << 14))#define		HFA384x_CONTROL_AUXEN_GET(value)	((UINT16)(((UINT16)(value)) >> 14))/* Byte Order */#if (WLAN_OS == WLAN_LINUX_KERNEL ||  WLAN_OS == WLAN_LINUX_USER)	#define hfa384x2host_16(n)	(__le16_to_cpu((UINT16)(n)))	#define hfa384x2host_32(n)	(__le32_to_cpu((UINT32)(n)))	#define host2hfa384x_16(n)	(__cpu_to_le16((UINT16)(n)))	#define host2hfa384x_32(n)	(__cpu_to_le32((UINT32)(n)))#else	#error "Unsupported WLAN_OS detected"#endif/* Host Maintained State Info */#define HFA384x_STATE_PREINIT	0#define HFA384x_STATE_INIT	1#define HFA384x_STATE_RUNNING	2/*=============================================================*//*------ Types and their related constants --------------------*//*-------------------------------------------------------------*//* Commonly used basic types */typedef struct hfa384x_bytestr{	UINT16	len			__WLAN_ATTRIB_PACK__;	UINT8	data[0]			__WLAN_ATTRIB_PACK__;} __WLAN_ATTRIB_PACK__ hfa384x_bytestr_t;typedef struct hfa384x_bytestr32{	UINT16	len			__WLAN_ATTRIB_PACK__;	UINT8	data[32]		__WLAN_ATTRIB_PACK__;} __WLAN_ATTRIB_PACK__ hfa384x_bytestr32_t;/*--------------------------------------------------------------------Configuration Record Structures:	Network Parameters, Static Configuration Entities--------------------------------------------------------------------*//* Prototype structure: all configuration record structures start withthese members */typedef struct hfa384x_record {	UINT16	reclen			__WLAN_ATTRIB_PACK__;	UINT16	rid			__WLAN_ATTRIB_PACK__;} __WLAN_ATTRIB_PACK__ hfa384x_rec_t;typedef struct hfa384x_record16{	UINT16	reclen			__WLAN_ATTRIB_PACK__;	UINT16	rid			__WLAN_ATTRIB_PACK__;	UINT16	val			__WLAN_ATTRIB_PACK__;} __WLAN_ATTRIB_PACK__ hfa384x_rec16_t;typedef struct hfa384x_record32{	UINT16	reclen			__WLAN_ATTRIB_PACK__;	UINT16	rid			__WLAN_ATTRIB_PACK__;	UINT32	val			__WLAN_ATTRIB_PACK__;} __WLAN_ATTRIB_PACK__ hfa384x_rec32;/*-- Hardware/Firmware Component Information ----------*/typedef struct hfa384x_compident{	UINT16	id			__WLAN_ATTRIB_PACK__;	UINT16	variant			__WLAN_ATTRIB_PACK__;	UINT16	major			__WLAN_ATTRIB_PACK__;	UINT16	minor			__WLAN_ATTRIB_PACK__;} __WLAN_ATTRIB_PACK__ hfa384x_compident_t;typedef struct hfa384x_caplevel{	UINT16	role			__WLAN_ATTRIB_PACK__;	UINT16	id			__WLAN_ATTRIB_PACK__;	UINT16	variant			__WLAN_ATTRIB_PACK__;	UINT16	bottom			__WLAN_ATTRIB_PACK__;	UINT16	top			__WLAN_ATTRIB_PACK__;} __WLAN_ATTRIB_PACK__ hfa384x_caplevel_t;/*-- Configuration Record: cnfPortType --*/typedef struct hfa384x_cnfPortType{	UINT16	cnfPortType		__WLAN_ATTRIB_PACK__;} __WLAN_ATTRIB_PACK__ hfa384x_cnfPortType_t;

⌨️ 快捷键说明

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