30#ifndef _NET80211_IEEE80211_IOCTL_H_
31#define _NET80211_IEEE80211_IOCTL_H_
266#define IEEE80211_MAX_OPT_IE 256
285#define IEEE80211_KEY_DEFAULT 0x80
309#define IEEE80211_MLME_ASSOC 1
310#define IEEE80211_MLME_DISASSOC 2
311#define IEEE80211_MLME_DEAUTH 3
312#define IEEE80211_MLME_AUTHORIZE 4
313#define IEEE80211_MLME_UNAUTHORIZE 5
314#define IEEE80211_MLME_AUTH 6
351#define IEEE80211_MESHRT_FLAGS_DISCOVER 0x01
352#define IEEE80211_MESHRT_FLAGS_VALID 0x02
353#define IEEE80211_MESHRT_FLAGS_PROXY 0x04
354#define IEEE80211_MESHRT_FLAGS_GATE 0x08
391#define IEEE80211_CHANINFO_SIZE(_nchan) \
392 (sizeof(struct ieee80211req_chaninfo) + \
393 (((_nchan)-1) * sizeof(struct ieee80211_channel)))
394#define IEEE80211_CHANINFO_SPACE(_ci) \
395 IEEE80211_CHANINFO_SIZE((_ci)->ic_nchans)
491#define IEEE80211_WMEPARAM_SELF 0x0000
492#define IEEE80211_WMEPARAM_BSS 0x8000
493#define IEEE80211_WMEPARAM_VAL 0x7fff
505#define IEEE80211_MAX_APPIE 1024
513#define IEEE80211_APPIE_WPA \
514 (IEEE80211_FC0_TYPE_MGT | IEEE80211_FC0_SUBTYPE_BEACON | \
515 IEEE80211_FC0_SUBTYPE_PROBE_RESP)
549#define IEEE80211_REGDOMAIN_SIZE(_nchan) \
550 (sizeof(struct ieee80211_regdomain_req) + \
551 (((_nchan)-1) * sizeof(struct ieee80211_channel)))
552#define IEEE80211_REGDOMAIN_SPACE(_req) \
553 IEEE80211_REGDOMAIN_SIZE((_req)->chaninfo.ic_nchans)
567#define IEEE80211_DEVCAPS_SIZE(_nchan) \
568 (sizeof(struct ieee80211_devcaps_req) + \
569 (((_nchan)-1) * sizeof(struct ieee80211_channel)))
570#define IEEE80211_DEVCAPS_SPACE(_dc) \
571 IEEE80211_DEVCAPS_SIZE((_dc)->dc_chaninfo.ic_nchans)
599#define SIOCS80211 _IOW('i', 234, struct ieee80211req)
600#define SIOCG80211 _IOWR('i', 235, struct ieee80211req)
601#define SIOCG80211STATS _IOWR('i', 236, struct ifreq)
603#define IEEE80211_IOC_SSID 1
604#define IEEE80211_IOC_NUMSSIDS 2
605#define IEEE80211_IOC_WEP 3
606#define IEEE80211_WEP_NOSUP -1
607#define IEEE80211_WEP_OFF 0
608#define IEEE80211_WEP_ON 1
609#define IEEE80211_WEP_MIXED 2
610#define IEEE80211_IOC_WEPKEY 4
611#define IEEE80211_IOC_NUMWEPKEYS 5
612#define IEEE80211_IOC_WEPTXKEY 6
613#define IEEE80211_IOC_AUTHMODE 7
614#define IEEE80211_IOC_STATIONNAME 8
615#define IEEE80211_IOC_CHANNEL 9
616#define IEEE80211_IOC_POWERSAVE 10
617#define IEEE80211_POWERSAVE_NOSUP -1
618#define IEEE80211_POWERSAVE_OFF 0
619#define IEEE80211_POWERSAVE_CAM 1
620#define IEEE80211_POWERSAVE_PSP 2
621#define IEEE80211_POWERSAVE_PSP_CAM 3
622#define IEEE80211_POWERSAVE_ON IEEE80211_POWERSAVE_CAM
623#define IEEE80211_IOC_POWERSAVESLEEP 11
624#define IEEE80211_IOC_RTSTHRESHOLD 12
625#define IEEE80211_IOC_PROTMODE 13
626#define IEEE80211_PROTMODE_OFF 0
627#define IEEE80211_PROTMODE_CTS 1
628#define IEEE80211_PROTMODE_RTSCTS 2
629#define IEEE80211_IOC_TXPOWER 14
630#define IEEE80211_IOC_BSSID 15
631#define IEEE80211_IOC_ROAMING 16
632#define IEEE80211_IOC_PRIVACY 17
633#define IEEE80211_IOC_DROPUNENCRYPTED 18
634#define IEEE80211_IOC_WPAKEY 19
635#define IEEE80211_IOC_DELKEY 20
636#define IEEE80211_IOC_MLME 21
640#define IEEE80211_IOC_COUNTERMEASURES 25
641#define IEEE80211_IOC_WPA 26
642#define IEEE80211_IOC_CHANLIST 27
643#define IEEE80211_IOC_WME 28
644#define IEEE80211_IOC_HIDESSID 29
645#define IEEE80211_IOC_APBRIDGE 30
648#define IEEE80211_IOC_WPAIE 39
649#define IEEE80211_IOC_STA_STATS 40
650#define IEEE80211_IOC_MACCMD 41
651#define IEEE80211_IOC_CHANINFO 42
652#define IEEE80211_IOC_TXPOWMAX 43
653#define IEEE80211_IOC_STA_TXPOW 44
655#define IEEE80211_IOC_WME_CWMIN 46
656#define IEEE80211_IOC_WME_CWMAX 47
657#define IEEE80211_IOC_WME_AIFS 48
658#define IEEE80211_IOC_WME_TXOPLIMIT 49
659#define IEEE80211_IOC_WME_ACM 50
660#define IEEE80211_IOC_WME_ACKPOLICY 51
661#define IEEE80211_IOC_DTIM_PERIOD 52
662#define IEEE80211_IOC_BEACON_INTERVAL 53
663#define IEEE80211_IOC_ADDMAC 54
664#define IEEE80211_IOC_DELMAC 55
665#define IEEE80211_IOC_PUREG 56
666#define IEEE80211_IOC_FF 57
667#define IEEE80211_IOC_TURBOP 58
668#define IEEE80211_IOC_BGSCAN 59
669#define IEEE80211_IOC_BGSCAN_IDLE 60
670#define IEEE80211_IOC_BGSCAN_INTERVAL 61
671#define IEEE80211_IOC_SCANVALID 65
673#define IEEE80211_IOC_FRAGTHRESHOLD 73
674#define IEEE80211_IOC_BURST 75
675#define IEEE80211_IOC_SCAN_RESULTS 76
676#define IEEE80211_IOC_BMISSTHRESHOLD 77
677#define IEEE80211_IOC_STA_INFO 78
678#define IEEE80211_IOC_WPAIE2 79
679#define IEEE80211_IOC_CURCHAN 80
680#define IEEE80211_IOC_SHORTGI 81
681#define IEEE80211_IOC_AMPDU 82
682#define IEEE80211_IOC_AMPDU_LIMIT 83
683#define IEEE80211_IOC_AMPDU_DENSITY 84
684#define IEEE80211_IOC_AMSDU 85
685#define IEEE80211_IOC_AMSDU_LIMIT 86
686#define IEEE80211_IOC_PUREN 87
687#define IEEE80211_IOC_DOTH 88
689#define IEEE80211_IOC_HTCOMPAT 92
690#define IEEE80211_IOC_DWDS 93
691#define IEEE80211_IOC_INACTIVITY 94
692#define IEEE80211_IOC_APPIE 95
693#define IEEE80211_IOC_WPS 96
694#define IEEE80211_IOC_TSN 97
695#define IEEE80211_IOC_DEVCAPS 98
696#define IEEE80211_IOC_CHANSWITCH 99
697#define IEEE80211_IOC_DFS 100
698#define IEEE80211_IOC_DOTD 101
699#define IEEE80211_IOC_HTPROTMODE 102
700#define IEEE80211_IOC_SCAN_REQ 103
701#define IEEE80211_IOC_SCAN_CANCEL 104
702#define IEEE80211_IOC_HTCONF 105
703#define IEEE80211_IOC_REGDOMAIN 106
704#define IEEE80211_IOC_ROAM 107
705#define IEEE80211_IOC_TXPARAMS 108
706#define IEEE80211_IOC_STA_VLAN 109
707#define IEEE80211_IOC_SMPS 110
708#define IEEE80211_IOC_RIFS 111
709#define IEEE80211_IOC_GREENFIELD 112
710#define IEEE80211_IOC_STBC 113
711#define IEEE80211_IOC_LDPC 114
712#define IEEE80211_IOC_UAPSD 115
713#define IEEE80211_IOC_UAPSD_INFO 116
716#define IEEE80211_IOC_VHTCONF 130
718#define IEEE80211_IOC_MESH_ID 170
719#define IEEE80211_IOC_MESH_AP 171
720#define IEEE80211_IOC_MESH_FWRD 172
721#define IEEE80211_IOC_MESH_PROTO 173
722#define IEEE80211_IOC_MESH_TTL 174
723#define IEEE80211_IOC_MESH_RTCMD 175
724#define IEEE80211_IOC_MESH_PR_METRIC 176
725#define IEEE80211_IOC_MESH_PR_PATH 177
726#define IEEE80211_IOC_MESH_PR_SIG 178
727#define IEEE80211_IOC_MESH_PR_CC 179
728#define IEEE80211_IOC_MESH_PR_AUTH 180
729#define IEEE80211_IOC_MESH_GATE 181
731#define IEEE80211_IOC_HWMP_ROOTMODE 190
732#define IEEE80211_IOC_HWMP_MAXHOPS 191
733#define IEEE80211_IOC_HWMP_TTL 192
735#define IEEE80211_IOC_TDMA_SLOT 201
736#define IEEE80211_IOC_TDMA_SLOTCNT 202
737#define IEEE80211_IOC_TDMA_SLOTLEN 203
738#define IEEE80211_IOC_TDMA_BINTERVAL 204
740#define IEEE80211_IOC_QUIET 205
741#define IEEE80211_IOC_QUIET_PERIOD 206
742#define IEEE80211_IOC_QUIET_OFFSET 207
743#define IEEE80211_IOC_QUIET_DUR 208
744#define IEEE80211_IOC_QUIET_COUNT 209
746#define IEEE80211_IOC_IC_NAME 210
784#define IEEE80211_IOC_SCAN_NOPICK 0x00001
785#define IEEE80211_IOC_SCAN_ACTIVE 0x00002
786#define IEEE80211_IOC_SCAN_PICK1ST 0x00004
787#define IEEE80211_IOC_SCAN_BGSCAN 0x00008
788#define IEEE80211_IOC_SCAN_ONCE 0x00010
789#define IEEE80211_IOC_SCAN_NOBCAST 0x00020
790#define IEEE80211_IOC_SCAN_NOJOIN 0x00040
791#define IEEE80211_IOC_SCAN_FLUSH 0x10000
792#define IEEE80211_IOC_SCAN_CHECK 0x20000
794#define IEEE80211_IOC_SCAN_DURATION_MIN 1
795#define IEEE80211_IOC_SCAN_DURATION_MAX 0x7fffffff
796#define IEEE80211_IOC_SCAN_FOREVER IEEE80211_IOC_SCAN_DURATION_MAX
800#define IEEE80211_IOC_SCAN_MAX_SSID 3
872#define IEEE80211_CLONE_BSSID 0x0001
873#define IEEE80211_CLONE_NOBEACONS 0x0002
874#define IEEE80211_CLONE_WDSLEGACY 0x0004
875#define IEEE80211_CLONE_MACADDR 0x0008
876#define IEEE80211_CLONE_TDMA 0x0010
#define IEEE80211_RATE_MAXSIZE
#define IEEE80211_TID_SIZE
#define IEEE80211_MODE_MAX
#define IEEE80211_ADDR_LEN
#define IEEE80211_NWID_LEN
#define IEEE80211_KEYBUF_SIZE
#define IEEE80211_MICBUF_SIZE
@ IEEE80211_MACCMD_POLICY
@ IEEE80211_MACCMD_DETACH
@ IEEE80211_MACCMD_POLICY_DENY
@ IEEE80211_MACCMD_POLICY_ALLOW
@ IEEE80211_MACCMD_POLICY_RADIUS
@ IEEE80211_MACCMD_POLICY_OPEN
#define IEEE80211_IOC_SCAN_MAX_SSID
#define IEEE80211_MAX_OPT_IE
@ IEEE80211_HWMP_ROOTMODE_DISABLED
@ IEEE80211_HWMP_ROOTMODE_RANN
@ IEEE80211_HWMP_ROOTMODE_NORMAL
@ IEEE80211_HWMP_ROOTMODE_PROACTIVE
@ IEEE80211_MESH_RTCMD_LIST
@ IEEE80211_MESH_RTCMD_FLUSH
@ IEEE80211_MESH_RTCMD_ADD
@ IEEE80211_MESH_RTCMD_DELETE
struct ieee80211req_maclist __packed
struct ieee80211_channel csa_chan
char icp_parent[IFNAMSIZ]
uint8_t icp_macaddr[IEEE80211_ADDR_LEN]
uint8_t icp_bssid[IEEE80211_ADDR_LEN]
struct ieee80211req_chaninfo dc_chaninfo
uint32_t ns_rx_decryptcrc
uint32_t ns_rx_amsdu_more_end
uint32_t ns_rx_unencrypted
uint32_t ns_rx_amsdu_more
uint32_t ns_tx_deauth_code
uint32_t ns_tx_vlanmismatch
uint32_t ns_tx_assoc_fail
uint32_t ns_tx_disassoc_code
struct ieee80211_regdomain rd
struct ieee80211req_chaninfo chaninfo
struct ieee80211_roamparam params[IEEE80211_MODE_MAX]
uint8_t ssid[IEEE80211_NWID_LEN]
struct ieee80211_scan_req::@12 sr_ssid[IEEE80211_IOC_SCAN_MAX_SSID]
uint32_t is_rx_badversion
uint32_t is_crypto_badcipher
uint32_t is_ampdu_rx_drop
uint32_t is_mesh_fwd_disabled
uint32_t is_ampdu_rexmt_fail
uint32_t is_amsdu_encapfail
uint32_t is_ht_assoc_nohtcap
uint32_t is_rx_decryptcrc
uint32_t is_rx_chanmismatch
uint32_t is_addba_norequest
uint32_t is_tx_noheadroom
uint32_t is_hwmp_wrongseq
uint32_t is_rx_auth_unsupported
uint32_t is_hwmp_rootrann
uint32_t is_rx_assoc_badwpaie
uint32_t is_ampdu_bar_bad
uint32_t is_addba_badpolicy
uint32_t is_crypto_tkipcm
uint32_t is_rx_assoc_notauth
uint32_t is_hwmp_rootreqs
uint32_t is_rx_elem_unknown
uint32_t is_rx_badsubtype
uint32_t is_mesh_notproxy
uint32_t is_rx_ccmpreplay
uint32_t is_crypto_tkipdemic
uint32_t is_rx_badbintval
uint32_t is_ampdu_rx_move
uint32_t is_rx_elem_missing
uint32_t is_tx_fragframes
uint32_t is_ampdu_stop_failed
uint32_t is_amsdu_tooshort
uint32_t is_rx_nocipherctx
uint32_t is_ampdu_bar_move
uint32_t is_rx_ssidmismatch
uint32_t is_ampdu_bar_tx_fail
uint32_t is_rx_mgtdiscard
uint32_t is_mesh_fwd_tooshort
uint32_t is_crypto_setkey_cipher
uint32_t is_tx_unknownmgt
uint32_t is_crypto_nocipher
uint32_t is_ampdu_rx_copy
uint32_t is_mesh_fwd_nopath
uint32_t is_mesh_fwd_nobuf
uint32_t is_ht_assoc_norate
uint32_t is_addba_badtoken
uint32_t is_rx_tkipreplay
uint32_t is_rx_tkipformat
uint32_t is_ampdu_rx_flush
uint32_t is_mesh_rtaddfailed
uint32_t is_crypto_enmicfail
uint32_t is_ampdu_bar_oow
uint32_t is_rx_ccmpformat
uint32_t is_mesh_wrongmesh
uint32_t is_rx_elem_toosmall
uint32_t is_ampdu_bar_tx_retry
uint32_t is_ampdu_rx_reorder
uint32_t is_crypto_setkey_nokey
uint32_t is_rx_auth_countermeasures
uint32_t is_crypto_swfallback
uint8_t is_rx_disassoc_code
uint32_t is_crypto_attachfail
uint32_t is_crypto_delkey
uint32_t is_rx_assoc_norate
uint32_t is_crypto_tkipenmic
uint32_t is_crypto_keyfail
uint32_t is_rx_elem_toobig
uint8_t is_rx_deauth_code
uint32_t is_ht_assoc_downgrade
uint32_t is_rx_ahdemo_mgt
uint32_t is_rx_assoc_capmismatch
uint8_t is_rx_authfail_code
uint32_t is_ibss_capmismatch
uint32_t is_rx_unencrypted
struct ieee80211_txparam params[IEEE80211_MODE_MAX]
struct ieee80211_channel ic_chans[1]
uint8_t idk_macaddr[IEEE80211_ADDR_LEN]
uint8_t ik_macaddr[IEEE80211_ADDR_LEN]
uint8_t ik_keydata[IEEE80211_KEYBUF_SIZE+IEEE80211_MICBUF_SIZE]
uint8_t ml_macaddr[IEEE80211_ADDR_LEN]
uint8_t imr_dest[IEEE80211_ADDR_LEN]
uint8_t imr_nexthop[IEEE80211_ADDR_LEN]
uint8_t im_macaddr[IEEE80211_ADDR_LEN]
uint8_t im_ssid[IEEE80211_NWID_LEN]
uint8_t isr_rates[IEEE80211_RATE_MAXSIZE]
uint8_t isr_bssid[IEEE80211_ADDR_LEN]
struct ieee80211_mimo_info isi_mimo
uint16_t isi_rxseqs[IEEE80211_TID_SIZE]
uint16_t isi_txseqs[IEEE80211_TID_SIZE]
uint8_t isi_macaddr[IEEE80211_ADDR_LEN]
uint8_t isi_rates[IEEE80211_RATE_MAXSIZE]
struct ieee80211req_sta_info info[1]
uint8_t macaddr[IEEE80211_ADDR_LEN]
union ieee80211req_sta_req::@11 is_u
union ieee80211req_sta_stats::@10 is_u
struct ieee80211_nodestats is_stats
uint8_t macaddr[IEEE80211_ADDR_LEN]
uint8_t it_macaddr[IEEE80211_ADDR_LEN]
uint8_t sv_macaddr[IEEE80211_ADDR_LEN]
uint8_t wpa_macaddr[IEEE80211_ADDR_LEN]
uint8_t rsn_ie[IEEE80211_MAX_OPT_IE]
uint8_t wpa_ie[IEEE80211_MAX_OPT_IE]
uint8_t wpa_ie[IEEE80211_MAX_OPT_IE]
uint8_t wpa_macaddr[IEEE80211_ADDR_LEN]