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

📄 aironet.h

📁 Linux下的RT系列无线网卡驱动,可以直接在x86平台上编译
💻 H
字号:
/* ************************************************************************* * Ralink Tech Inc. * 4F, No. 2 Technology 5th Rd. * Science-based Industrial Park * Hsin-chu, Taiwan, R.O.C. * * (c) Copyright 2002-2007, Ralink Technology, Inc. * * This program is free software; you can redistribute it and/or modify  *  * it under the terms of the GNU General Public License as published by  *  * the Free Software Foundation; either version 2 of the License, or     *  * (at your option) any later version.                                   *  *                                                                       *  * This program is distributed in the hope that it will be useful,       *  * but WITHOUT ANY WARRANTY; without even the implied warranty of        *  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *  * GNU General Public License for more details.                          *  *                                                                       *  * You should have received a copy of the GNU General Public License     *  * along with this program; if not, write to the                         *  * Free Software Foundation, Inc.,                                       *  * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *  *                                                                       *  ************************************************************************* 	Module Name:	aironet.h	Abstract:	Revision History:	Who			When			What	--------	----------		----------------------------------------------	Name		Date			Modification logs	Paul Lin	04-06-15		Initial*/#ifndef	__AIRONET_H__#define	__AIRONET_H__// Measurement Type definition#define	MSRN_TYPE_UNUSED				0#define	MSRN_TYPE_CHANNEL_LOAD_REQ		1#define	MSRN_TYPE_NOISE_HIST_REQ		2#define	MSRN_TYPE_BEACON_REQ			3#define	MSRN_TYPE_FRAME_REQ				4// Scan Mode in Beacon Request#define	MSRN_SCAN_MODE_PASSIVE			0#define	MSRN_SCAN_MODE_ACTIVE			1#define	MSRN_SCAN_MODE_BEACON_TABLE		2// PHY type definition for Aironet beacon report, CCX 2 table 36-9#define	PHY_FH							1#define	PHY_DSS							2#define	PHY_UNUSED						3#define	PHY_OFDM						4#define	PHY_HR_DSS						5#define	PHY_ERP							6// RPI table in dBm#define	RPI_0			0			//	Power <= -87#define	RPI_1			1			//	-87 < Power <= -82#define	RPI_2			2			//	-82 < Power <= -77#define	RPI_3			3			//	-77 < Power <= -72#define	RPI_4			4			//	-72 < Power <= -67#define	RPI_5			5			//	-67 < Power <= -62#define	RPI_6			6			//	-62 < Power <= -57#define	RPI_7			7			//	-57 < Power// Cisco Aironet IAPP definetions#define	AIRONET_IAPP_TYPE					0x32#define	AIRONET_IAPP_SUBTYPE_REQUEST		0x01#define	AIRONET_IAPP_SUBTYPE_REPORT			0x81// Measurement Request detail formattypedef	struct	_MEASUREMENT_REQUEST	{	UCHAR	Channel;	UCHAR	ScanMode;			// Use only in beacon request, other requests did not use this field	USHORT	Duration;}	MEASUREMENT_REQUEST, *PMEASUREMENT_REQUEST;// Beacon Measurement Report// All these field might change to UCHAR, because we didn't do anything to these report.// We copy all these beacons and report to CCX 2 AP.typedef	struct	_BEACON_REPORT	{	UCHAR	Channel;	UCHAR	Spare;	USHORT	Duration;	UCHAR	PhyType;			// Definiation is listed above table 36-9	UCHAR	RxPower;	UCHAR	BSSID[6];	UCHAR	ParentTSF[4];	UCHAR	TargetTSF[8];	USHORT	BeaconInterval;		USHORT	CapabilityInfo;}	BEACON_REPORT, *PBEACON_REPORT;// Frame Measurement Report (Optional)typedef	struct	_FRAME_REPORT	{	UCHAR	Channel;	UCHAR	Spare;	USHORT	Duration;	UCHAR	TA;	UCHAR	BSSID[6];	UCHAR	RSSI;	UCHAR	Count;}	FRAME_REPORT, *PFRAME_REPORT;#pragma pack(1)// Channel Load Reporttypedef	struct	_CHANNEL_LOAD_REPORT	{	UCHAR	Channel;	UCHAR	Spare;	USHORT	Duration;	UCHAR	CCABusy;}	CHANNEL_LOAD_REPORT, *PCHANNEL_LOAD_REPORT;#pragma pack()// Nosie Histogram Reporttypedef	struct	_NOISE_HIST_REPORT	{	UCHAR	Channel;	UCHAR	Spare;	USHORT	Duration;	UCHAR	Density[8];}	NOISE_HIST_REPORT, *PNOISE_HIST_REPORT;// Radio Management Capability elementtypedef	struct	_RADIO_MANAGEMENT_CAPABILITY	{	UCHAR	Eid;				// TODO: Why the Eid is 1 byte, not normal 2 bytes???	UCHAR	Length;	UCHAR	AironetOui[3];		// AIronet OUI (00 40 96)	UCHAR	Type;				// Type / Version	USHORT	Status;				// swap16 required}	RADIO_MANAGEMENT_CAPABILITY, *PRADIO_MANAGEMENT_CAPABILITY;// Measurement Mode Bit definitiontypedef	struct	_MEASUREMENT_MODE	{	UCHAR	Rsvd:4;	UCHAR	Report:1;	UCHAR	NotUsed:1;	UCHAR	Enable:1;	UCHAR	Parallel:1;}	MEASUREMENT_MODE, *PMEASUREMENT_MODE;// Measurement Request element, This is little endian modetypedef	struct	_MEASUREMENT_REQUEST_ELEMENT	{	USHORT				Eid;	USHORT				Length;				// swap16 required	USHORT				Token;				// non-zero unique token	UCHAR				Mode;				// Measurement Mode	UCHAR				Type;				// Measurement type}	MEASUREMENT_REQUEST_ELEMENT, *PMEASUREMENT_REQUEST_ELEMENT;// Measurement Report element, This is little endian modetypedef	struct	_MEASUREMENT_REPORT_ELEMENT	{	USHORT				Eid;	USHORT				Length;				// swap16 required	USHORT				Token;				// non-zero unique token	UCHAR				Mode;				// Measurement Mode	UCHAR				Type;				// Measurement type}	MEASUREMENT_REPORT_ELEMENT, *PMEASUREMENT_REPORT_ELEMENT;// Cisco Aironet IAPP Frame Header, Network byte order usedtypedef	struct	_AIRONET_IAPP_HEADER {	UCHAR	CiscoSnapHeader[8];	// 8 bytes Cisco snap header	USHORT	Length;				// IAPP ID & length, remember to swap16 in LE system	UCHAR	Type;				// IAPP type	UCHAR	SubType;			// IAPP subtype	UCHAR	DA[6];				// Destination MAC address	UCHAR	SA[6];				// Source MAC address	USHORT	Token;				// Dialog token, no need to swap16 since it is for yoken usage only}	AIRONET_IAPP_HEADER, *PAIRONET_IAPP_HEADER;// Radio Measurement Request frametypedef	struct	_AIRONET_RM_REQUEST_FRAME	{    AIRONET_IAPP_HEADER	IAPP;			// Common header	UCHAR				Delay;			// Activation Delay	UCHAR				Offset;			// Measurement offset}	AIRONET_RM_REQUEST_FRAME, *PAIRONET_RM_REQUEST_FRAME;// Radio Measurement Report frametypedef	struct	_AIRONET_RM_REPORT_FRAME	{    AIRONET_IAPP_HEADER	IAPP;			// Common header}	AIRONET_RM_REPORT_FRAME, *PAIRONET_RM_REPORT_FRAME;// Saved element request actions which will saved in StaCfg.typedef	struct	_RM_REQUEST_ACTION	{	MEASUREMENT_REQUEST_ELEMENT	ReqElem;		// Saved request element	MEASUREMENT_REQUEST			Measurement;	// Saved measurement within the request element}	RM_REQUEST_ACTION, *PRM_REQUEST_ACTION;// CCX administration controltypedef	union	_CCX_CONTROL	{	struct	{		UINT32		Enable:1;			// Enable CCX2		UINT32		LeapEnable:1;		// Enable LEAP at CCX2		UINT32		RMEnable:1;			// Radio Measurement Enable		UINT32		DCRMEnable:1;		// Non serving channel Radio Measurement enable		UINT32		QOSEnable:1;		// Enable QOS for CCX 2.0 support		UINT32		FastRoamEnable:1;	// Enable fast roaming		UINT32		Rsvd:2;				// Not used		UINT32		dBmToRoam:8;		// the condition to roam when receiving Rssi less than this value. It's negative value.		UINT32		TuLimit:16;			// Limit for different channel scan	}	field;	UINT32			word;}	CCX_CONTROL, *PCCX_CONTROL;#endif	// __AIRONET_H__

⌨️ 快捷键说明

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