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

📄 802.11.h

📁 wi-fi sources for asus wl138g v2 pci card
💻 H
📖 第 1 页 / 共 3 页
字号:
		uint8 data[1];	} PACKED rep;} PACKED;typedef struct dot11_meas_rep dot11_meas_rep_t;/* length of Measure Report IE data not including variable len */#define DOT11_MNG_IE_MREP_FIXED_LEN	3	/* d11 measurement response IE fixed length */struct dot11_meas_rep_basic {	uint8 channel;	uint8 start_time[8];	uint16 duration;	uint8 map;} PACKED;typedef struct dot11_meas_rep_basic dot11_meas_rep_basic_t;#define DOT11_MEASURE_BASIC_REP_LEN	12	/* d11 measurement basic report length */struct dot11_quiet {	uint8 id;	uint8 len;	uint8 count;	/* TBTTs until beacon interval in quiet starts */	uint8 period;	/* Beacon intervals between periodic quiet periods ? */	uint16 duration;	/* Length of quiet period, in TU's */	uint16 offset;	/* TU's offset from TBTT in Count field */} PACKED;typedef struct dot11_quiet dot11_quiet_t;typedef struct {	uint8 channel;	uint8 map;} chan_map_tuple_t;typedef struct {	uint8 id;	uint8 len;	uint8 eaddr[ETHER_ADDR_LEN];	uint8 interval;	chan_map_tuple_t map[1];} dot11_ibss_dfs_t;/* WME Elements */#define WME_OUI			"\x00\x50\xf2"	/* WME OUI */#define WME_VER			1	/* WME version */#define WME_TYPE		2	/* WME type */#define WME_SUBTYPE_IE		0	/* Information Element */#define WME_SUBTYPE_PARAM_IE	1	/* Parameter Element */#define WME_SUBTYPE_TSPEC	2	/* Traffic Specification *//* WME Access Category Indices (ACIs) */#define AC_BE			0	/* Best Effort */#define AC_BK			1	/* Background */#define AC_VI			2	/* Video */#define AC_VO			3	/* Voice */#define AC_COUNT		4	/* number of ACs */typedef uint8 ac_bitmap_t;	/* AC bitmap of (1 << AC_xx) */#define AC_BITMAP_NONE		0x0	/* No ACs */#define AC_BITMAP_ALL		0xf	/* All ACs */#define AC_BITMAP_TST(ab, ac)	(((ab) & (1 << (ac))) != 0)/* WME Information Element (IE) */struct wme_ie {	uint8 oui[3];	uint8 type;	uint8 subtype;	uint8 version;	uint8 qosinfo;} PACKED;typedef struct wme_ie wme_ie_t;#define WME_IE_LEN 7	/* WME IE length */struct wme_acparam {	uint8	ACI;	uint8	ECW;	uint16  TXOP;		/* stored in network order (ls octet first) */} PACKED;typedef struct wme_acparam wme_acparam_t;/* WME Parameter Element (PE) */struct wme_param_ie {	uint8 oui[3];	uint8 type;	uint8 subtype;	uint8 version;	uint8 qosinfo;	uint8 rsvd;	wme_acparam_t acparam[AC_COUNT];} PACKED;typedef struct wme_param_ie wme_param_ie_t;#define WME_PARAM_IE_LEN            24          /* WME Parameter IE length *//* QoS Info field for IE as sent from AP */#define WME_QI_AP_APSD_MASK         0x80        /* U-APSD Supported mask */#define WME_QI_AP_APSD_SHIFT        7           /* U-APSD Supported shift */#define WME_QI_AP_COUNT_MASK        0x0f        /* Parameter set count mask */#define WME_QI_AP_COUNT_SHIFT       0           /* Parameter set count shift *//* QoS Info field for IE as sent from STA */#define WME_QI_STA_MAXSPLEN_MASK    0x60        /* Max Service Period Length mask */#define WME_QI_STA_MAXSPLEN_SHIFT   5           /* Max Service Period Length shift */#define WME_QI_STA_APSD_ALL_MASK    0xf         /* APSD all AC bits mask */#define WME_QI_STA_APSD_ALL_SHIFT   0           /* APSD all AC bits shift */#define WME_QI_STA_APSD_BE_MASK     0x8         /* APSD AC_BE mask */#define WME_QI_STA_APSD_BE_SHIFT    3           /* APSD AC_BE shift */#define WME_QI_STA_APSD_BK_MASK     0x4         /* APSD AC_BK mask */#define WME_QI_STA_APSD_BK_SHIFT    2           /* APSD AC_BK shift */#define WME_QI_STA_APSD_VI_MASK     0x2         /* APSD AC_VI mask */#define WME_QI_STA_APSD_VI_SHIFT    1           /* APSD AC_VI shift */#define WME_QI_STA_APSD_VO_MASK     0x1         /* APSD AC_VO mask */#define WME_QI_STA_APSD_VO_SHIFT    0           /* APSD AC_VO shift *//* ACI */#define WME_AIFSN_MIN               1           /* WME AIFSN minimum value */#define WME_AIFSN_MAX               15          /* WME AIFSN maximum value */#define WME_AIFSN_MASK              0x0f        /* WME AIFSN mask */#define WME_ACM_MASK                0x10        /* WME ACM mask */#define WME_ACI_MASK                0x60        /* WME ACI mask */#define WME_ACI_SHIFT               5           /* WME ACI shift *//* ECW */#define WME_ECW_MIN                 0           /* cwmin/cwmax exponent minimum value */#define WME_ECW_MAX                 15          /* cwmin/cwmax exponent maximum value */#define WME_ECW2CW(exp)             ((1 << (exp)) - 1)#define WME_ECWMIN_MASK             0x0f        /* cwmin exponent form mask */#define WME_ECWMAX_MASK             0xf0        /* cwmax exponent form mask */#define WME_ECWMAX_SHIFT            4           /* cwmax exponent form shift *//* TXOP */#define WME_TXOP_MIN                0           /* TXOP minimum value */#define WME_TXOP_MAX                65535       /* TXOP maximum value */#define WME_TXOP2USEC(txop)         ((txop) << 5)/* Default EDCF parameters that AP advertises for STA to use; WMM draft Table 12 */#define WME_AC_BE_ACI_STA           0x03	/* STA ACI value for best effort AC */#define WME_AC_BE_ECW_STA           0xA4	/* STA ECW value for best effort AC */#define WME_AC_BE_TXOP_STA          0x0000	/* STA TXOP value for best effort AC */#define WME_AC_BK_ACI_STA           0x27	/* STA ACI value for background AC */#define WME_AC_BK_ECW_STA           0xA4	/* STA ECW value for background AC */#define WME_AC_BK_TXOP_STA          0x0000	/* STA TXOP value for background AC */#define WME_AC_VI_ACI_STA           0x42	/* STA ACI value for video AC */#define WME_AC_VI_ECW_STA           0x43	/* STA ECW value for video AC */#define WME_AC_VI_TXOP_STA          0x005e	/* STA TXOP value for video AC */#define WME_AC_VO_ACI_STA           0x62	/* STA ACI value for audio AC */#define WME_AC_VO_ECW_STA           0x32	/* STA ECW value for audio AC */#define WME_AC_VO_TXOP_STA          0x002f	/* STA TXOP value for audio AC *//* Default EDCF parameters that AP uses; WMM draft Table 14 */#define WME_AC_BE_ACI_AP            0x03	/* AP ACI value for best effort AC */#define WME_AC_BE_ECW_AP            0x64	/* AP ECW value for best effort AC */#define WME_AC_BE_TXOP_AP           0x0000	/* AP TXOP value for best effort AC */#define WME_AC_BK_ACI_AP            0x27	/* AP ACI value for background AC */#define WME_AC_BK_ECW_AP            0xA4	/* AP ECW value for background AC */#define WME_AC_BK_TXOP_AP           0x0000	/* AP TXOP value for background AC */#define WME_AC_VI_ACI_AP            0x41	/* AP ACI value for video AC */#define WME_AC_VI_ECW_AP            0x43	/* AP ECW value for video AC */#define WME_AC_VI_TXOP_AP           0x005e	/* AP TXOP value for video AC */#define WME_AC_VO_ACI_AP            0x61	/* AP ACI value for audio AC */#define WME_AC_VO_ECW_AP            0x32	/* AP ECW value for audio AC */#define WME_AC_VO_TXOP_AP           0x002f	/* AP TXOP value for audio AC */struct dot11_qbss_load_ie {	uint8 id; 			/* 11, DOT11_MNG_QBSS_LOAD_ID */	uint8 length;	uint16 station_count; 		/* total number of STAs associated */	uint8 channel_utilization;	/* % of time, normalized to 255, QAP sensed medium busy */	uint16 aac; 			/* available admission capacity */} PACKED;typedef struct dot11_qbss_load_ie dot11_qbss_load_ie_t;/* surplus_bandwidth *//* Represented as 3 bits of integer, binary point, 13 bits fraction */#define	INTEGER_SHIFT	13	/* integer shift */#define FRACTION_MASK	0x1FFF	/* fraction mask *//* Management Notification Frame */struct dot11_management_notification {	uint8 category;			/* DOT11_ACTION_NOTIFICATION */	uint8 action;	uint8 token;	uint8 status;	uint8 data[1];			/* Elements */} PACKED;#define DOT11_MGMT_NOTIFICATION_LEN 4	/* Fixed length *//* WME Action Codes */#define WME_ADDTS_REQUEST	0	/* WME ADDTS request */#define WME_ADDTS_RESPONSE	1	/* WME ADDTS response */#define WME_DELTS_REQUEST	2	/* WME DELTS request *//* WME Setup Response Status Codes */#define WME_ADMISSION_ACCEPTED	0	/* WME admission accepted */#define WME_INVALID_PARAMETERS	1	/* WME invalide parameters */#define WME_ADMISSION_REFUSED	3	/* WME admission refused *//* Macro to take a pointer to a beacon or probe response * header and return the char* pointer to the SSID info element */#define BCN_PRB_SSID(hdr) ((char*)(hdr) + DOT11_MGMT_HDR_LEN + DOT11_BCN_PRB_LEN)/* Authentication frame payload constants */#define DOT11_OPEN_SYSTEM	0	/* d11 open authentication */#define DOT11_SHARED_KEY	1	/* d11 shared authentication */#define DOT11_CHALLENGE_LEN	128	/* d11 chanllenge text length *//* Frame control macros */#define FC_PVER_MASK		0x3	/* PVER mask */#define FC_PVER_SHIFT		0	/* PVER shift */#define FC_TYPE_MASK		0xC	/* type mask */#define FC_TYPE_SHIFT		2	/* type shift */#define FC_SUBTYPE_MASK		0xF0	/* subtype mask */#define FC_SUBTYPE_SHIFT	4	/* subtype shift */#define FC_TODS			0x100	/* to DS */#define FC_TODS_SHIFT		8	/* to DS shift */#define FC_FROMDS		0x200	/* from DS */#define FC_FROMDS_SHIFT		9	/* from DS shift */#define FC_MOREFRAG		0x400	/* more frag. */#define FC_MOREFRAG_SHIFT	10	/* more frag. shift */#define FC_RETRY		0x800	/* retry */#define FC_RETRY_SHIFT		11	/* retry shift */#define FC_PM			0x1000	/* PM */#define FC_PM_SHIFT		12	/* PM shift */#define FC_MOREDATA		0x2000	/* more data */#define FC_MOREDATA_SHIFT	13	/* more data shift */#define FC_WEP			0x4000	/* WEP */#define FC_WEP_SHIFT		14	/* WEP shift */#define FC_ORDER		0x8000	/* order */#define FC_ORDER_SHIFT		15	/* order shift *//* sequence control macros */#define SEQNUM_SHIFT		4	/* seq. number shift */#define SEQNUM_MAX		0x1000	/* max seqnum + 1 */#define FRAGNUM_MASK		0xF	/* frag. number mask *//* Frame Control type/subtype defs *//* FC Types */#define FC_TYPE_MNG		0	/* management type */#define FC_TYPE_CTL		1	/* control type */#define FC_TYPE_DATA		2	/* data type *//* Management Subtypes */#define FC_SUBTYPE_ASSOC_REQ		0	/* assoc. request */#define FC_SUBTYPE_ASSOC_RESP		1	/* assoc. response */#define FC_SUBTYPE_REASSOC_REQ		2	/* reassoc. request */#define FC_SUBTYPE_REASSOC_RESP		3	/* reassoc. response */#define FC_SUBTYPE_PROBE_REQ		4	/* probe request */#define FC_SUBTYPE_PROBE_RESP		5	/* probe response */#define FC_SUBTYPE_BEACON		8	/* beacon */#define FC_SUBTYPE_ATIM			9	/* ATIM */#define FC_SUBTYPE_DISASSOC		10	/* disassoc. */#define FC_SUBTYPE_AUTH			11	/* authentication */#define FC_SUBTYPE_DEAUTH		12	/* de-authentication */#define FC_SUBTYPE_ACTION		13	/* action *//* Control Subtypes */#define FC_SUBTYPE_BLOCKACK_REQ		8	/* Block Ack Req */#define FC_SUBTYPE_BLOCKACK		9	/* Block Ack */#define FC_SUBTYPE_PS_POLL		10	/* PS poll */#define FC_SUBTYPE_RTS			11	/* RTS */#define FC_SUBTYPE_CTS			12	/* CTS */#define FC_SUBTYPE_ACK			13	/* ACK */#define FC_SUBTYPE_CF_END		14	/* CF-END */#define FC_SUBTYPE_CF_END_ACK		15	/* CF-END ACK *//* Data Subtypes */#define FC_SUBTYPE_DATA			0	/* Data */#define FC_SUBTYPE_DATA_CF_ACK		1	/* Data + CF-ACK */#define FC_SUBTYPE_DATA_CF_POLL		2	/* Data + CF-Poll */#define FC_SUBTYPE_DATA_CF_ACK_POLL	3	/* Data + CF-Ack + CF-Poll */#define FC_SUBTYPE_NULL			4	/* Null */#define FC_SUBTYPE_CF_ACK		5	/* CF-Ack */#define FC_SUBTYPE_CF_POLL		6	/* CF-Poll */#define FC_SUBTYPE_CF_ACK_POLL		7	/* CF-Ack + CF-Poll */#define FC_SUBTYPE_QOS_DATA		8	/* QoS Data */#define FC_SUBTYPE_QOS_DATA_CF_ACK	9	/* QoS Data + CF-Ack */#define FC_SUBTYPE_QOS_DATA_CF_POLL	10	/* QoS Data + CF-Poll */#define FC_SUBTYPE_QOS_DATA_CF_ACK_POLL	11	/* QoS Data + CF-Ack + CF-Poll */#define FC_SUBTYPE_QOS_NULL		12	/* QoS Null */#define FC_SUBTYPE_QOS_CF_POLL		14	/* QoS CF-Poll */#define FC_SUBTYPE_QOS_CF_ACK_POLL	15	/* QoS CF-Ack + CF-Poll *//* Data Subtype Groups */#define FC_SUBTYPE_ANY_QOS(s)		(((s) & 8) != 0)#define FC_SUBTYPE_ANY_NULL(s)		(((s) & 4) != 0)#define FC_SUBTYPE_ANY_CF_POLL(s)	(((s) & 2) != 0)#define FC_SUBTYPE_ANY_CF_ACK(s)	(((s) & 1) != 0)/* Type/Subtype Combos */#define FC_KIND_MASK		(FC_TYPE_MASK | FC_SUBTYPE_MASK)	/* FC kind mask */#define FC_KIND(t, s)	(((t) << FC_TYPE_SHIFT) | ((s) << FC_SUBTYPE_SHIFT))	/* FC kind */#define FC_SUBTYPE(fc)	(((fc) & FC_SUBTYPE_MASK) >> FC_SUBTYPE_SHIFT)	/* Subtype from FC */#define FC_TYPE(fc)	(((fc) & FC_TYPE_MASK) >> FC_TYPE_SHIFT)	/* Type from FC */#define FC_ASSOC_REQ	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_ASSOC_REQ)	/* assoc. request */#define FC_ASSOC_RESP	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_ASSOC_RESP)	/* assoc. response */#define FC_REASSOC_REQ	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_REASSOC_REQ)	/* reassoc. request */#define FC_REASSOC_RESP	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_REASSOC_RESP)	/* reassoc. response */#define FC_PROBE_REQ	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_PROBE_REQ)	/* probe request */#define FC_PROBE_RESP	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_PROBE_RESP)	/* probe response */#define FC_BEACON	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_BEACON)		/* beacon */#define FC_DISASSOC	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_DISASSOC)	/* disassoc */#define FC_AUTH		FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_AUTH)		/* authentication */#define FC_DEAUTH	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_DEAUTH)		/* deauthentication */#define FC_ACTION	FC_KIND(FC_TYPE_MNG, FC_SUBTYPE_ACTION)		/* action */#define FC_BLOCKACK_REQ	FC_KIND(FC_TYPE_CTL, FC_SUBTYPE_BLOCKACK_REQ)	/* Block Ack Req */#define FC_BLOCKACK	FC_KIND(FC_TYPE_CTL, FC_SUBTYPE_BLOCKACK)	/* Block Ack */#define FC_PS_POLL	FC_KIND(FC_TYPE_CTL, FC_SUBTYPE_PS_POLL)	/* PS poll */#define FC_RTS		FC_KIND(FC_TYPE_CTL, FC_SUBTYPE_RTS)		/* RTS */#define FC_CTS		FC_KIND(FC_TYPE_CTL, FC_SUBTYPE_CTS)		/* CTS */#define FC_ACK		FC_KIND(FC_TYPE_CTL, FC_SUBTYPE_ACK)		/* ACK */#define FC_CF_END	FC_KIND(FC_TYPE_CTL, FC_SUBTYPE_CF_END)		/* CF-END */#define FC_CF_END_ACK	FC_KIND(FC_TYPE_CTL, FC_SUBTYPE_CF_END_ACK)	/* CF-END ACK */#define FC_DATA		FC_KIND(FC_TYPE_DATA, FC_SUBTYPE_DATA)		/* data */#define FC_NULL_DATA	FC_KIND(FC_TYPE_DATA, FC_SUBTYPE_NULL)		/* null data */#define FC_DATA_CF_ACK	FC_KIND(FC_TYPE_DATA, FC_SUBTYPE_DATA_CF_ACK)	/* data CF ACK */#define FC_QOS_DATA	FC_KIND(FC_TYPE_DATA, FC_SUBTYPE_QOS_DATA)	/* QoS data */#define FC_QOS_NULL	FC_KIND(FC_TYPE_DATA, FC_SUBTYPE_QOS_NULL)	/* QoS null *//* QoS Control Field *//* 802.1D Priority */#define QOS_PRIO_SHIFT		0	/* QoS priority shift */#define QOS_PRIO_MASK		0x0007	/* QoS priority mask */#define QOS_PRIO(qos)		(((qos) & QOS_PRIO_MASK) >> QOS_PRIO_SHIFT)	/* QoS priority *//* Traffic Identifier */#define QOS_TID_SHIFT		0	/* QoS TID shift */#define QOS_TID_MASK		0x000f	/* QoS TID mask */#define QOS_TID(qos)		(((qos) & QOS_TID_MASK) >> QOS_TID_SHIFT)	/* QoS TID *//* End of Service Period (U-APSD) */#define QOS_EOSP_SHIFT		4	/* QoS End of Service Period shift */#define QOS_EOSP_MASK		0x0010	/* QoS End of Service Period mask */#define QOS_EOSP(qos)		(((qos) & QOS_EOSP_MASK) >> QOS_EOSP_SHIFT)	/* Qos EOSP *//* Ack Policy */#define QOS_ACK_NORMAL_ACK	0	/* Normal Ack */#define QOS_ACK_NO_ACK		1	/* No Ack (eg mcast) */#define QOS_ACK_NO_EXP_ACK	2	/* No Explicit Ack */#define QOS_ACK_BLOCK_ACK	3	/* Block Ack */#define QOS_ACK_SHIFT		5	/* QoS ACK shift */#define QOS_ACK_MASK		0x0060	/* QoS ACK mask */#define QOS_ACK(qos)		(((qos) & QOS_ACK_MASK) >> QOS_ACK_SHIFT)	/* QoS ACK */

⌨️ 快捷键说明

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