* **QOS——AC**
```c
cli
"WMM_AC_STATUS"
"WMM_AC_ADDTS "
supplicant
// wpa_supplicant\ctrl_iface.c
wpa_supplicant\wmm_ac.c wpa_supplicant_ctrl_iface_process
wpa_supplicant\ctrl_iface.c wmm_ac_ctrl_addts(cli-cmd:"WMM_AC_ADDTS ")
wpa_supplicant\wmm_ac.c (sscanf(token, "tsid=%i", ¶ms.tsid) == 1
wpa_supplicant\wmm_ac.c wpas_wmm_ac_addts(wpa_s, ¶ms)
wpa_supplicant\wmm_ac.c wmm_ac_build_addts_req
wpa_supplicant\wmm_ac.c wmm_ac_send_addts_request
wpa_supplicant\driver_i.h wpa_drv_send_action(=driver_nl80211_send_action)
src\drivers\driver_nl80211.c wpa_driver_nl80211_send_action
nl80211_send_frame_cmd or wpa_driver_nl80211_send_mlme
or wpa_driver_nl80211_send_frame
eloop_register_timeout
wpa_supplicant\wmm_ac.c wmm_ac_addts_req_timeout
wpa_supplicant\wmm_ac.c wmm_ac_get_tsid
static const enum wmm_ac up_to_ac[8] = {
WMM_AC_BK,
WMM_AC_BE,
WMM_AC_BE,
WMM_AC_BK,
WMM_AC_VI,
WMM_AC_VI,
WMM_AC_VO,
WMM_AC_VO
};
```
```c
/* management */
#define WLAN_FC_STYPE_ASSOC_REQ 0
#define WLAN_FC_STYPE_ASSOC_RESP 1
#define WLAN_FC_STYPE_REASSOC_REQ 2
#define WLAN_FC_STYPE_REASSOC_RESP 3
#define WLAN_FC_STYPE_PROBE_REQ 4
#define WLAN_FC_STYPE_PROBE_RESP 5
#define WLAN_FC_STYPE_BEACON 8
#define WLAN_FC_STYPE_ATIM 9
#define WLAN_FC_STYPE_DISASSOC 10
#define WLAN_FC_STYPE_AUTH 11
#define WLAN_FC_STYPE_DEAUTH 12
#define WLAN_FC_STYPE_ACTION 13 // !!!!!!!// !!!!!!!// !!!!!!!
/* Action frame categories (IEEE 802.11-2007, 7.3.1.11, Table 7-24) */
#define WLAN_ACTION_SPECTRUM_MGMT 0
#define WLAN_ACTION_QOS 1
#define WLAN_ACTION_DLS 2
#define WLAN_ACTION_BLOCK_ACK 3
#define WLAN_ACTION_PUBLIC 4
#define WLAN_ACTION_RADIO_MEASUREMENT 5
#define WLAN_ACTION_FT 6
#define WLAN_ACTION_HT 7
#define WLAN_ACTION_SA_QUERY 8
#define WLAN_ACTION_PROTECTED_DUAL 9
#define WLAN_ACTION_WNM 10
#define WLAN_ACTION_UNPROTECTED_WNM 11
#define WLAN_ACTION_TDLS 12
#define WLAN_ACTION_SELF_PROTECTED 15
#define WLAN_ACTION_WMM 17 /* WMM Specification 1.1 */ // !!!!!!!// !!!!!!!// !!!!!!!
#define WLAN_ACTION_VENDOR_SPECIFIC 127
```
```c
Action:
wpa_supplicant_event
wpas_event_rx_mgmt_action:EVENT_RX_MGMT——WLAN_ACTION_WMM
wmm_ac_rx_action
wmm_ac_handle_addts_resp
wpa_drv_add_ts
wpa_drv_add_ts
.add_tx_ts = nl80211_add_ts
nl80211_cmd_msg
send_and_recv_msgs
Assoc:
wpa_supplicant_event
wpa_supplicant_event_assoc
wmm_ac_restore_tspecs
wpa_drv_add_ts
wpa_drv_add_ts
.add_tx_ts = nl80211_add_ts
nl80211_cmd_msg
send_and_recv_msgs
```