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

📄 ieee80211.h.svn-base

📁 最新之atheros芯片driver source code, 基于linux操作系统,內含atheros芯片HAL全部代码
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
/*- * Copyright (c) 2001 Atsushi Onoe * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products *    derived from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $Id$ */#ifndef _NET80211_IEEE80211_H_#define _NET80211_IEEE80211_H_/* * 802.11 protocol definitions. */#define	IEEE80211_ADDR_LEN		6		/* size of 802.11 address *//* is 802.11 address multicast/broadcast? */#define	IEEE80211_IS_MULTICAST(_a)	(*(_a) & 0x01)/* IEEE 802.11 PLCP header */struct ieee80211_plcp_hdr {	u_int16_t i_sfd;	u_int8_t i_signal;	u_int8_t i_service;	u_int16_t i_length;	u_int16_t i_crc;} __packed;#define IEEE80211_PLCP_SFD      0xF3A0#define IEEE80211_PLCP_SERVICE  0x00/* * generic definitions for IEEE 802.11 frames */struct ieee80211_frame {	u_int8_t i_fc[2];	__le16 i_dur;	u_int8_t i_addr1[IEEE80211_ADDR_LEN];	u_int8_t i_addr2[IEEE80211_ADDR_LEN];	u_int8_t i_addr3[IEEE80211_ADDR_LEN];	u_int8_t i_seq[2];	/* possibly followed by addr4[IEEE80211_ADDR_LEN]; */	/* see below */} __packed;struct ieee80211_qosframe {	u_int8_t i_fc[2];	__le16 i_dur;	u_int8_t i_addr1[IEEE80211_ADDR_LEN];	u_int8_t i_addr2[IEEE80211_ADDR_LEN];	u_int8_t i_addr3[IEEE80211_ADDR_LEN];	u_int8_t i_seq[2];	u_int8_t i_qos[2];	/* possibly followed by addr4[IEEE80211_ADDR_LEN]; */	/* see below */} __packed;struct ieee80211_qoscntl {	u_int8_t i_qos[2];};struct ieee80211_frame_addr4 {	u_int8_t i_fc[2];	__le16 i_dur;	u_int8_t i_addr1[IEEE80211_ADDR_LEN];	u_int8_t i_addr2[IEEE80211_ADDR_LEN];	u_int8_t i_addr3[IEEE80211_ADDR_LEN];	u_int8_t i_seq[2];	u_int8_t i_addr4[IEEE80211_ADDR_LEN];} __packed;struct ieee80211_qosframe_addr4 {	u_int8_t i_fc[2];	__le16 i_dur;	u_int8_t i_addr1[IEEE80211_ADDR_LEN];	u_int8_t i_addr2[IEEE80211_ADDR_LEN];	u_int8_t i_addr3[IEEE80211_ADDR_LEN];	u_int8_t i_seq[2];	u_int8_t i_addr4[IEEE80211_ADDR_LEN];	u_int8_t i_qos[2];} __packed;struct ieee80211_ctlframe_addr2 {	u_int8_t i_fc[2];	__le16 i_aidordur; /* AID or duration */	u_int8_t i_addr1[IEEE80211_ADDR_LEN];	u_int8_t i_addr2[IEEE80211_ADDR_LEN];} __packed;#define	IEEE80211_FC0_VERSION_MASK		0x03#define	IEEE80211_FC0_VERSION_SHIFT		0#define	IEEE80211_FC0_VERSION_0			0x00#define	IEEE80211_FC0_TYPE_MASK			0x0c#define	IEEE80211_FC0_TYPE_SHIFT		2#define	IEEE80211_FC0_TYPE_MGT			0x00#define	IEEE80211_FC0_TYPE_CTL			0x04#define	IEEE80211_FC0_TYPE_DATA			0x08#define	IEEE80211_FC0_SUBTYPE_MASK		0xf0#define	IEEE80211_FC0_SUBTYPE_SHIFT		4/* for TYPE_MGT */#define	IEEE80211_FC0_SUBTYPE_ASSOC_REQ		0x00#define	IEEE80211_FC0_SUBTYPE_ASSOC_RESP	0x10#define	IEEE80211_FC0_SUBTYPE_REASSOC_REQ	0x20#define	IEEE80211_FC0_SUBTYPE_REASSOC_RESP	0x30#define	IEEE80211_FC0_SUBTYPE_PROBE_REQ		0x40#define	IEEE80211_FC0_SUBTYPE_PROBE_RESP	0x50#define	IEEE80211_FC0_SUBTYPE_BEACON		0x80#define	IEEE80211_FC0_SUBTYPE_ATIM		0x90#define	IEEE80211_FC0_SUBTYPE_DISASSOC		0xa0#define	IEEE80211_FC0_SUBTYPE_AUTH		0xb0#define	IEEE80211_FC0_SUBTYPE_DEAUTH		0xc0#define IEEE80211_FC0_SUBTYPE_ACTION		0xd0/* for TYPE_CTL */#define	IEEE80211_FC0_SUBTYPE_PS_POLL		0xa0#define	IEEE80211_FC0_SUBTYPE_RTS		0xb0#define	IEEE80211_FC0_SUBTYPE_CTS		0xc0#define	IEEE80211_FC0_SUBTYPE_ACK		0xd0#define	IEEE80211_FC0_SUBTYPE_CF_END		0xe0#define	IEEE80211_FC0_SUBTYPE_CF_END_ACK	0xf0/* for TYPE_DATA (bit combination) */#define	IEEE80211_FC0_SUBTYPE_DATA		0x00#define	IEEE80211_FC0_SUBTYPE_CF_ACK		0x10#define	IEEE80211_FC0_SUBTYPE_CF_POLL		0x20#define	IEEE80211_FC0_SUBTYPE_CF_ACPL		0x30#define	IEEE80211_FC0_SUBTYPE_NULL		0x40#define	IEEE80211_FC0_SUBTYPE_CFACK		0x50#define	IEEE80211_FC0_SUBTYPE_CFPOLL		0x60#define	IEEE80211_FC0_SUBTYPE_CF_ACK_CF_ACK	0x70#define	IEEE80211_FC0_SUBTYPE_QOS		0x80#define	IEEE80211_FC0_SUBTYPE_QOS_NULL		0xc0#define	IEEE80211_FC1_DIR_MASK			0x03#define	IEEE80211_FC1_DIR_NODS			0x00	/* STA->STA */#define	IEEE80211_FC1_DIR_TODS			0x01	/* STA->AP  */#define	IEEE80211_FC1_DIR_FROMDS		0x02	/* AP ->STA */#define	IEEE80211_FC1_DIR_DSTODS		0x03	/* AP ->AP  */#define	IEEE80211_FC1_MORE_FRAG			0x04#define	IEEE80211_FC1_RETRY			0x08#define	IEEE80211_FC1_PWR_MGT			0x10#define	IEEE80211_FC1_MORE_DATA			0x20#define	IEEE80211_FC1_PROT			0x40#define	IEEE80211_FC1_ORDER			0x80#define	IEEE80211_SEQ_FRAG_MASK			0x000f#define	IEEE80211_SEQ_FRAG_SHIFT		0#define	IEEE80211_SEQ_SEQ_MASK			0xfff0#define	IEEE80211_SEQ_SEQ_SHIFT			4#define	IEEE80211_SEQ_LEQ(a,b)	((int)((a)-(b)) <= 0)#define	IEEE80211_NWID_LEN			32#define	IEEE80211_QOS_TXOP			0x00ff/* bit 8 is reserved */#define	IEEE80211_QOS_ACKPOLICY			0x60#define	IEEE80211_QOS_ACKPOLICY_S		5#define	IEEE80211_QOS_EOSP			0x10#define	IEEE80211_QOS_EOSP_S			4#define	IEEE80211_QOS_TID			0x0f#define IEEE80211_FRM_HAS_BODY(_wh)			\	(((_wh)->i_fc[0] & IEEE80211_FC0_TYPE_MASK) !=	\			IEEE80211_FC0_TYPE_CTL)/* * Country/Region Codes from MS WINNLS.H * Numbering from ISO 3166 * XXX belongs elsewhere */enum CountryCode {	CTRY_ALBANIA              = 8,       /* Albania */	CTRY_ALGERIA              = 12,      /* Algeria */	CTRY_ARGENTINA            = 32,      /* Argentina */	CTRY_ARMENIA              = 51,      /* Armenia */	CTRY_AUSTRALIA            = 36,      /* Australia */	CTRY_AUSTRIA              = 40,      /* Austria */	CTRY_AZERBAIJAN           = 31,      /* Azerbaijan */	CTRY_BAHRAIN              = 48,      /* Bahrain */	CTRY_BELARUS              = 112,     /* Belarus */	CTRY_BELGIUM              = 56,      /* Belgium */	CTRY_BELIZE               = 84,      /* Belize */	CTRY_BOLIVIA              = 68,      /* Bolivia */	CTRY_BRAZIL               = 76,      /* Brazil */	CTRY_BRUNEI_DARUSSALAM    = 96,      /* Brunei Darussalam */	CTRY_BULGARIA             = 100,     /* Bulgaria */	CTRY_CANADA               = 124,     /* Canada */	CTRY_CHILE                = 152,     /* Chile */	CTRY_CHINA                = 156,     /* People's Republic of China */	CTRY_COLOMBIA             = 170,     /* Colombia */	CTRY_COSTA_RICA           = 188,     /* Costa Rica */	CTRY_CROATIA              = 191,     /* Croatia */	CTRY_CYPRUS               = 196,	CTRY_CZECH                = 203,     /* Czech Republic */	CTRY_DENMARK              = 208,     /* Denmark */	CTRY_DOMINICAN_REPUBLIC   = 214,     /* Dominican Republic */	CTRY_ECUADOR              = 218,     /* Ecuador */	CTRY_EGYPT                = 818,     /* Egypt */	CTRY_EL_SALVADOR          = 222,     /* El Salvador */	CTRY_ESTONIA              = 233,     /* Estonia */	CTRY_FAEROE_ISLANDS       = 234,     /* Faeroe Islands */	CTRY_FINLAND              = 246,     /* Finland */	CTRY_FRANCE               = 250,     /* France */	CTRY_FRANCE2              = 255,     /* France2 */	CTRY_GEORGIA              = 268,     /* Georgia */	CTRY_GERMANY              = 276,     /* Germany */	CTRY_GREECE               = 300,     /* Greece */	CTRY_GUATEMALA            = 320,     /* Guatemala */	CTRY_HONDURAS             = 340,     /* Honduras */	CTRY_HONG_KONG            = 344,     /* Hong Kong S.A.R., P.R.C. */	CTRY_HUNGARY              = 348,     /* Hungary */	CTRY_ICELAND              = 352,     /* Iceland */	CTRY_INDIA                = 356,     /* India */	CTRY_INDONESIA            = 360,     /* Indonesia */	CTRY_IRAN                 = 364,     /* Iran */	CTRY_IRAQ                 = 368,     /* Iraq */	CTRY_IRELAND              = 372,     /* Ireland */	CTRY_ISRAEL               = 376,     /* Israel */	CTRY_ITALY                = 380,     /* Italy */	CTRY_JAMAICA              = 388,     /* Jamaica */	CTRY_JAPAN                = 392,     /* Japan */	CTRY_JAPAN1               = 393,     /* Japan (JP1) */	CTRY_JAPAN2               = 394,     /* Japan (JP0) */	CTRY_JAPAN3               = 395,     /* Japan (JP1-1) */	CTRY_JAPAN4               = 396,     /* Japan (JE1) */	CTRY_JAPAN5               = 397,     /* Japan (JE2) */	CTRY_JAPAN6               = 399,	 /* Japan (JP6) */	CTRY_JAPAN7               = 900,	 /* Japan */	CTRY_JAPAN8               = 901,	 /* Japan */	CTRY_JAPAN9               = 902,	 /* Japan */	CTRY_JAPAN10	      = 903,	 /* Japan */	CTRY_JAPAN11	      = 904,	 /* Japan */	CTRY_JAPAN12	      = 905,	 /* Japan */	CTRY_JAPAN13	      = 906,	 /* Japan */	CTRY_JAPAN14	      = 907,	 /* Japan */	CTRY_JAPAN15	      = 908,	 /* Japan */	CTRY_JAPAN16	      = 909,	 /* Japan */	CTRY_JAPAN17	      = 910,	 /* Japan */	CTRY_JAPAN18	      = 911,	 /* Japan */	CTRY_JAPAN19	      = 912,	 /* Japan */	CTRY_JAPAN20	      = 913,	 /* Japan */	CTRY_JAPAN21	      = 914,	 /* Japan */	CTRY_JAPAN22	      = 915,	 /* Japan */	CTRY_JAPAN23	      = 916,	 /* Japan */	CTRY_JAPAN24	      = 917,	 /* Japan */	CTRY_JAPAN25	      = 918,	 /* Japan */	CTRY_JAPAN26	      = 919,	 /* Japan */	CTRY_JAPAN27	      = 920,	 /* Japan */	CTRY_JAPAN28	      = 921,	 /* Japan */	CTRY_JAPAN29	      = 922,	 /* Japan */	CTRY_JAPAN30	      = 923,	 /* Japan */	CTRY_JAPAN31	      = 924,	 /* Japan */	CTRY_JAPAN32	      = 925,	 /* Japan */	CTRY_JAPAN33	      = 926,	 /* Japan */	CTRY_JAPAN34	      = 927,	 /* Japan */	CTRY_JAPAN35	      = 928,	 /* Japan */	CTRY_JAPAN36	      = 929,	 /* Japan */	CTRY_JAPAN37	      = 930,	 /* Japan */	CTRY_JAPAN38	      = 931,	 /* Japan */	CTRY_JAPAN39	      = 932,	 /* Japan */	CTRY_JAPAN40	      = 933,	 /* Japan */	CTRY_JAPAN41	      = 934,	 /* Japan */	CTRY_JAPAN42	      = 935,	 /* Japan */	CTRY_JAPAN43	      = 936,	 /* Japan */	CTRY_JAPAN44	      = 937,	 /* Japan */	CTRY_JAPAN45	      = 938,	 /* Japan */	CTRY_JAPAN46	      = 939,	 /* Japan */	CTRY_JAPAN47	      = 940,	 /* Japan */	CTRY_JAPAN48	      = 941,	 /* Japan */	CTRY_JORDAN               = 400,     /* Jordan */	CTRY_KAZAKHSTAN           = 398,     /* Kazakhstan */	CTRY_KENYA                = 404,     /* Kenya */	CTRY_KOREA_NORTH          = 408,     /* North Korea */	CTRY_KOREA_ROC            = 410,     /* South Korea */	CTRY_KOREA_ROC2           = 411,     /* South Korea */	CTRY_KUWAIT               = 414,     /* Kuwait */	CTRY_LATVIA               = 428,     /* Latvia */	CTRY_LEBANON              = 422,     /* Lebanon */	CTRY_LIBYA                = 434,     /* Libya */	CTRY_LIECHTENSTEIN        = 438,     /* Liechtenstein */	CTRY_LITHUANIA            = 440,     /* Lithuania */	CTRY_LUXEMBOURG           = 442,     /* Luxembourg */	CTRY_MACAU                = 446,     /* Macau */	CTRY_MACEDONIA            = 807,     /* the Former Yugoslav Republic of Macedonia */	CTRY_MALAYSIA             = 458,     /* Malaysia */	CTRY_MEXICO               = 484,     /* Mexico */	CTRY_MONACO               = 492,     /* Principality of Monaco */	CTRY_MOROCCO              = 504,     /* Morocco */	CTRY_NETHERLANDS          = 528,     /* Netherlands */	CTRY_NEW_ZEALAND          = 554,     /* New Zealand */	CTRY_NICARAGUA            = 558,     /* Nicaragua */	CTRY_NORWAY               = 578,     /* Norway */	CTRY_OMAN                 = 512,     /* Oman */	CTRY_PAKISTAN             = 586,     /* Islamic Republic of Pakistan */	CTRY_PANAMA               = 591,     /* Panama */	CTRY_PARAGUAY             = 600,     /* Paraguay */	CTRY_PERU                 = 604,     /* Peru */	CTRY_PHILIPPINES          = 608,     /* Republic of the Philippines */	CTRY_POLAND               = 616,     /* Poland */	CTRY_PORTUGAL             = 620,     /* Portugal */	CTRY_PUERTO_RICO          = 630,     /* Puerto Rico */	CTRY_QATAR                = 634,     /* Qatar */	CTRY_ROMANIA              = 642,     /* Romania */	CTRY_RUSSIA               = 643,     /* Russia */	CTRY_SAUDI_ARABIA         = 682,     /* Saudi Arabia */	CTRY_SINGAPORE            = 702,     /* Singapore */	CTRY_SLOVAKIA             = 703,     /* Slovak Republic */

⌨️ 快捷键说明

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