Initial commit
FossilOrigin-Name: 36003b6ff4f681f6f3bfdb5285843605cabd42e6348f7d688eb6b4948ac1b413
This commit is contained in:
parent
059bbbc13d
commit
4cb75d3c1c
205
src/wtp/dot11.h
205
src/wtp/dot11.h
@ -1,3 +1,18 @@
|
||||
struct dot11_mgmt_head {
|
||||
uint16_t frame_control;
|
||||
uint16_t duration;
|
||||
uint8_t da[6];
|
||||
uint8_t sa[6];
|
||||
uint8_t bssid[6];
|
||||
uint16_t seq_ctrl;
|
||||
};
|
||||
|
||||
#define ETH_ALEN 6
|
||||
/* SA Query Action frame (IEEE 802.11w/D8.0, 7.4.9) */
|
||||
#define WLAN_SA_QUERY_REQUEST 0
|
||||
#define WLAN_SA_QUERY_RESPONSE 1
|
||||
#define WLAN_SA_QUERY_TR_ID_LEN 2
|
||||
|
||||
struct dot11_mgmt {
|
||||
uint16_t frame_control;
|
||||
uint16_t duration;
|
||||
@ -5,6 +20,169 @@ struct dot11_mgmt {
|
||||
uint8_t sa[6];
|
||||
uint8_t bssid[6];
|
||||
uint16_t seq_ctrl;
|
||||
|
||||
|
||||
union {
|
||||
struct {
|
||||
uint8_t timestamp[8];
|
||||
uint16_t beacon_int;
|
||||
uint16_t capab_info;
|
||||
/* followed by some of SSID, Supported rates,
|
||||
* FH Params, DS Params, CF Params, IBSS Params, TIM */
|
||||
uint8_t variable[0];
|
||||
} beacon;
|
||||
struct {
|
||||
uint16_t auth_alg;
|
||||
uint16_t auth_transaction;
|
||||
uint16_t status_code;
|
||||
/* possibly followed by Challenge text */
|
||||
uint8_t variable[0];
|
||||
} auth;
|
||||
struct {
|
||||
uint16_t reason_code;
|
||||
uint8_t variable[0];
|
||||
} deauth;
|
||||
struct {
|
||||
uint16_t capab_info;
|
||||
uint16_t listen_interval;
|
||||
/* followed by SSID and Supported rates */
|
||||
uint8_t variable[0];
|
||||
} assoc_req;
|
||||
struct {
|
||||
uint16_t capab_info;
|
||||
uint16_t status_code;
|
||||
uint16_t aid;
|
||||
/* followed by Supported rates */
|
||||
uint8_t variable[0];
|
||||
} assoc_resp, reassoc_resp;
|
||||
struct {
|
||||
uint16_t capab_info;
|
||||
uint16_t listen_interval;
|
||||
uint8_t current_ap[6];
|
||||
/* followed by SSID and Supported rates */
|
||||
uint8_t variable[0];
|
||||
} reassoc_req;
|
||||
struct {
|
||||
uint16_t reason_code;
|
||||
uint8_t variable[0];
|
||||
} disassoc;
|
||||
struct {
|
||||
/* only variable items: SSID, Supported rates */
|
||||
uint8_t variable[0];
|
||||
} probe_req;
|
||||
struct {
|
||||
uint8_t timestamp[8];
|
||||
uint16_t beacon_int;
|
||||
uint16_t capab_info;
|
||||
/* followed by some of SSID, Supported rates,
|
||||
* FH Params, DS Params, CF Params, IBSS Params */
|
||||
uint8_t variable[0];
|
||||
} probe_resp;
|
||||
struct {
|
||||
uint8_t category;
|
||||
union {
|
||||
struct {
|
||||
uint8_t action_code;
|
||||
uint8_t dialog_token;
|
||||
uint8_t status_code;
|
||||
uint8_t variable[0];
|
||||
} wmm_action;
|
||||
struct{
|
||||
uint8_t action_code;
|
||||
uint8_t element_id;
|
||||
uint8_t length;
|
||||
uint8_t switch_mode;
|
||||
uint8_t new_chan;
|
||||
uint8_t switch_count;
|
||||
} chan_switch;
|
||||
struct {
|
||||
uint8_t action;
|
||||
uint8_t sta_addr[ETH_ALEN];
|
||||
uint8_t target_ap_addr[ETH_ALEN];
|
||||
uint8_t variable[0]; /* FT Request */
|
||||
} ft_action_req;
|
||||
struct {
|
||||
uint8_t action;
|
||||
uint8_t sta_addr[ETH_ALEN];
|
||||
uint8_t target_ap_addr[ETH_ALEN];
|
||||
uint16_t status_code;
|
||||
uint8_t variable[0]; /* FT Request */
|
||||
} ft_action_resp;
|
||||
struct {
|
||||
uint8_t action;
|
||||
uint8_t trans_id[WLAN_SA_QUERY_TR_ID_LEN];
|
||||
} sa_query_req;
|
||||
struct {
|
||||
uint8_t action; /* */
|
||||
uint8_t trans_id[WLAN_SA_QUERY_TR_ID_LEN];
|
||||
} sa_query_resp;
|
||||
struct {
|
||||
uint8_t action;
|
||||
uint8_t dialogtoken;
|
||||
uint8_t variable[0];
|
||||
} wnm_sleep_req;
|
||||
struct {
|
||||
uint8_t action;
|
||||
uint8_t dialogtoken;
|
||||
uint16_t keydata_len;
|
||||
uint8_t variable[0];
|
||||
} wnm_sleep_resp;
|
||||
struct {
|
||||
uint8_t action;
|
||||
uint8_t variable[0];
|
||||
} public_action;
|
||||
struct {
|
||||
uint8_t action; /* 9 */
|
||||
uint8_t oui[3];
|
||||
/* Vendor-specific content */
|
||||
uint8_t variable[0];
|
||||
} vs_public_action;
|
||||
struct {
|
||||
uint8_t action; /* 7 */
|
||||
uint8_t dialog_token;
|
||||
uint8_t req_mode;
|
||||
uint16_t disassoc_timer;
|
||||
uint8_t validity_interval;
|
||||
/* BSS Termination Duration (optional),
|
||||
* Session Information URL (optional),
|
||||
* BSS Transition Candidate List
|
||||
* Entries */
|
||||
uint8_t variable[0];
|
||||
} bss_tm_req;
|
||||
struct {
|
||||
uint8_t action; /* 8 */
|
||||
uint8_t dialog_token;
|
||||
uint8_t status_code;
|
||||
uint8_t bss_termination_delay;
|
||||
/* Target BSSID (optional),
|
||||
* BSS Transition Candidate List
|
||||
* Entries (optional) */
|
||||
uint8_t variable[0];
|
||||
} bss_tm_resp;
|
||||
struct {
|
||||
uint8_t action; /* 6 */
|
||||
uint8_t dialog_token;
|
||||
uint8_t query_reason;
|
||||
/* BSS Transition Candidate List
|
||||
* Entries (optional) */
|
||||
uint8_t variable[0];
|
||||
} bss_tm_query;
|
||||
} u;
|
||||
} action;
|
||||
} u;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -57,3 +235,30 @@ struct dot11_mgmt {
|
||||
#define DOT11_STYPE_QOS_CFPOLL 0x00E0
|
||||
#define DOT11_STYPE_QOS_CFACKPOLL 0x00F0
|
||||
|
||||
|
||||
|
||||
|
||||
/* Information Element IDs */
|
||||
#define WLAN_EID_SSID 0
|
||||
#define WLAN_EID_SUPP_RATES 1
|
||||
#define WLAN_EID_FH_PARAMS 2
|
||||
#define WLAN_EID_DS_PARAMS 3
|
||||
#define WLAN_EID_CF_PARAMS 4
|
||||
#define WLAN_EID_TIM 5
|
||||
#define WLAN_EID_IBSS_PARAMS 6
|
||||
#define WLAN_EID_COUNTRY 7
|
||||
#define WLAN_EID_BSS_LOAD 11
|
||||
#define WLAN_EID_CHALLENGE 16
|
||||
/* EIDs defined by IEEE 802.11h - START */
|
||||
#define WLAN_EID_PWR_CONSTRAINT 32
|
||||
#define WLAN_EID_PWR_CAPABILITY 33
|
||||
#define WLAN_EID_TPC_REQUEST 34
|
||||
#define WLAN_EID_TPC_REPORT 35
|
||||
#define WLAN_EID_SUPPORTED_CHANNELS 36
|
||||
#define WLAN_EID_CHANNEL_SWITCH 37
|
||||
#define WLAN_EID_MEASURE_REQUEST 38
|
||||
#define WLAN_EID_MEASURE_REPORT 39
|
||||
#define WLAN_EID_QUITE 40
|
||||
#define WLAN_EID_IBSS_DFS 41
|
||||
/* EIDs defined by IEEE 802.11h - END */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user