From 6724808ebde89e55a67452d976aa8b0ec6efaa8a Mon Sep 17 00:00:00 2001 From: Alex Gavin Date: Mon, 7 Jul 2025 22:45:05 -0700 Subject: [PATCH] Add some constants for Linux nl80211 Including other constants, add the following enums: - nl80211_commands - nl80211_attrs - nl80211_iftype - nl80211_mesh_setup_params - nl80211_channel_type - nl80211_chan_width - nl80211_bss - nl80211_auth_type - nl80211_scan_flags Includes '#define'ed commands or attrs defined for legacy compatibility but does not include those defined for programs to '#ifdef' To the best of my knowledge, these constants are accurate to the linux-wireless tree at tag 'wireless-next-2025-06-25' available here: https://web.git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/ --- libc-test/build.rs | 30 ++ libc-test/semver/linux.txt | 628 +++++++++++++++++++++++++++++ src/unix/linux_like/linux/mod.rs | 667 +++++++++++++++++++++++++++++++ 3 files changed, 1325 insertions(+) diff --git a/libc-test/build.rs b/libc-test/build.rs index 6738c391b2ad6..1a8eecd9c236e 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -1968,6 +1968,7 @@ fn test_android(target: &str) { "linux/netfilter_ipv6.h", "linux/netfilter_ipv6/ip6_tables.h", "linux/netlink.h", + "linux/nl80211.h", "linux/quota.h", "linux/reboot.h", "linux/seccomp.h", @@ -3868,6 +3869,7 @@ fn test_linux(target: &str) { "linux/netfilter_ipv6.h", "linux/netfilter_ipv6/ip6_tables.h", "linux/netlink.h", + "linux/nl80211.h", "linux/nsfs.h", "linux/openat2.h", // FIXME(linux): some items require Linux >= 5.6: @@ -4197,6 +4199,7 @@ fn test_linux(target: &str) { || name.starts_with("KEXEC_") || name.starts_with("MS_") || name.starts_with("MSG_") + || name.starts_with("NL80211_") || name.starts_with("OPEN_TREE_") || name.starts_with("P_") || name.starts_with("PF_") @@ -4661,6 +4664,33 @@ fn test_linux(target: &str) { // FIXME(linux): Requires >= 6.6 kernel headers. "PROC_EVENT_NONZERO_EXIT" => true, + // FIXME(linux): Requires >= 6.8 kernel headers + "NL80211_CMD_SET_TID_TO_LINK_MAPPING" + | "NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA" + | "NL80211_ATTR_MLO_TTLM_DLINK" + | "NL80211_ATTR_MLO_TTLM_ULINK" + | "NL80211_BSS_USE_FOR" + | "NL80211_BSS_CANNOT_USE_REASONS" + // FIXME(linux): Requires >= 6.9 kernel headers + | "NL80211_ATTR_ASSOC_SPP_AMSDU" + // FIXME(linux): Requires >= 6.11 kernel headers + | "NL80211_ATTR_WIPHY_RADIOS" + | "NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS" + // FIXME(linux): Requires >= 6.13 kernel headers + | "NL80211_ATTR_VIF_RADIO_MASK" + // FIXME(linux): Requires >= 6.14 kernel headers + | "NL80211_ATTR_SUPPORTED_SELECTORS" + | "NL80211_ATTR_MLO_RECONF_REM_LINKS" + | "NL80211_ATTR_EPCS" + // FIXME(linux): Requires >= 6.15 kernel headers + | "NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS" + | "NL80211_ATTR_WIPHY_RADIO_INDEX" + // FIXME(linux): Requires >= 6.16 kernel headers + | "NL80211_MAX_SUPP_SELECTORS" + // FIXME(linux): Requires >= 6.14 kernel headers + | "NL80211_CMD_ASSOC_MLO_RECONF" + | "NL80211_CMD_EPCS_CFG" => true, + _ => false, } }); diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index f88769996e81b..9f8dd597794c9 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -1992,6 +1992,634 @@ NI_NUMERICHOST NI_NUMERICSERV NL0 NL1 +NL80211_ATTR_4ADDR +NL80211_ATTR_ACK +NL80211_ATTR_ACK_SIGNAL +NL80211_ATTR_ACL_POLICY +NL80211_ATTR_ADMITTED_TIME +NL80211_ATTR_AIRTIME_WEIGHT +NL80211_ATTR_AKM_SUITES +NL80211_ATTR_AP_ISOLATE +NL80211_ATTR_AP_SETTINGS_FLAGS +NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS +NL80211_ATTR_ASSOC_SPP_AMSDU +NL80211_ATTR_AUTH_DATA +NL80211_ATTR_AUTH_TYPE +NL80211_ATTR_BANDS +NL80211_ATTR_BEACON_HEAD +NL80211_ATTR_BEACON_INTERVAL +NL80211_ATTR_BEACON_TAIL +NL80211_ATTR_BG_SCAN_PERIOD +NL80211_ATTR_BSS +NL80211_ATTR_BSSID +NL80211_ATTR_BSS_BASIC_RATES +NL80211_ATTR_BSS_CTS_PROT +NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA +NL80211_ATTR_BSS_HT_OPMODE +NL80211_ATTR_BSS_SELECT +NL80211_ATTR_BSS_SHORT_PREAMBLE +NL80211_ATTR_BSS_SHORT_SLOT_TIME +NL80211_ATTR_CENTER_FREQ1 +NL80211_ATTR_CENTER_FREQ1_OFFSET +NL80211_ATTR_CENTER_FREQ2 +NL80211_ATTR_CHANNEL_WIDTH +NL80211_ATTR_CH_SWITCH_BLOCK_TX +NL80211_ATTR_CH_SWITCH_COUNT +NL80211_ATTR_CIPHER_SUITES +NL80211_ATTR_CIPHER_SUITES_PAIRWISE +NL80211_ATTR_CIPHER_SUITE_GROUP +NL80211_ATTR_CNTDWN_OFFS_BEACON +NL80211_ATTR_CNTDWN_OFFS_PRESP +NL80211_ATTR_COALESCE_RULE +NL80211_ATTR_COLOR_CHANGE_COLOR +NL80211_ATTR_COLOR_CHANGE_COUNT +NL80211_ATTR_COLOR_CHANGE_ELEMS +NL80211_ATTR_CONN_FAILED_REASON +NL80211_ATTR_CONTROL_PORT +NL80211_ATTR_CONTROL_PORT_ETHERTYPE +NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT +NL80211_ATTR_CONTROL_PORT_NO_PREAUTH +NL80211_ATTR_CONTROL_PORT_OVER_NL80211 +NL80211_ATTR_COOKIE +NL80211_ATTR_CQM +NL80211_ATTR_CRIT_PROT_ID +NL80211_ATTR_CSA_C_OFFSETS_TX +NL80211_ATTR_CSA_C_OFF_BEACON +NL80211_ATTR_CSA_C_OFF_PRESP +NL80211_ATTR_CSA_IES +NL80211_ATTR_DEVICE_AP_SME +NL80211_ATTR_DFS_REGION +NL80211_ATTR_DISABLE_EHT +NL80211_ATTR_DISABLE_HE +NL80211_ATTR_DISABLE_HT +NL80211_ATTR_DISABLE_VHT +NL80211_ATTR_DISCONNECTED_BY_AP +NL80211_ATTR_DONT_WAIT_FOR_ACK +NL80211_ATTR_DTIM_PERIOD +NL80211_ATTR_DURATION +NL80211_ATTR_EHT_CAPABILITY +NL80211_ATTR_EMA_RNR_ELEMS +NL80211_ATTR_EML_CAPABILITY +NL80211_ATTR_EPCS +NL80211_ATTR_EXTERNAL_AUTH_ACTION +NL80211_ATTR_EXTERNAL_AUTH_SUPPORT +NL80211_ATTR_EXT_CAPA +NL80211_ATTR_EXT_CAPA_MASK +NL80211_ATTR_EXT_FEATURES +NL80211_ATTR_FEATURE_FLAGS +NL80211_ATTR_FILS_CACHE_ID +NL80211_ATTR_FILS_DISCOVERY +NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM +NL80211_ATTR_FILS_ERP_REALM +NL80211_ATTR_FILS_ERP_RRK +NL80211_ATTR_FILS_ERP_USERNAME +NL80211_ATTR_FILS_KEK +NL80211_ATTR_FILS_NONCES +NL80211_ATTR_FRAME +NL80211_ATTR_FRAME_MATCH +NL80211_ATTR_FRAME_TYPE +NL80211_ATTR_FREQ_AFTER +NL80211_ATTR_FREQ_BEFORE +NL80211_ATTR_FREQ_FIXED +NL80211_ATTR_FTM_RESPONDER +NL80211_ATTR_FTM_RESPONDER_STATS +NL80211_ATTR_GENERATION +NL80211_ATTR_HANDLE_DFS +NL80211_ATTR_HE_6GHZ_CAPABILITY +NL80211_ATTR_HE_BSS_COLOR +NL80211_ATTR_HE_CAPABILITY +NL80211_ATTR_HE_OBSS_PD +NL80211_ATTR_HIDDEN_SSID +NL80211_ATTR_HT_CAPABILITY +NL80211_ATTR_HT_CAPABILITY_MASK +NL80211_ATTR_HW_TIMESTAMP_ENABLED +NL80211_ATTR_IE +NL80211_ATTR_IE_ASSOC_RESP +NL80211_ATTR_IE_PROBE_RESP +NL80211_ATTR_IE_RIC +NL80211_ATTR_IFACE_SOCKET_OWNER +NL80211_ATTR_IFINDEX +NL80211_ATTR_IFNAME +NL80211_ATTR_IFTYPE +NL80211_ATTR_IFTYPE_AKM_SUITES +NL80211_ATTR_IFTYPE_EXT_CAPA +NL80211_ATTR_INACTIVITY_TIMEOUT +NL80211_ATTR_INTERFACE_COMBINATIONS +NL80211_ATTR_KEY +NL80211_ATTR_KEYS +NL80211_ATTR_KEY_CIPHER +NL80211_ATTR_KEY_DATA +NL80211_ATTR_KEY_DEFAULT +NL80211_ATTR_KEY_DEFAULT_MGMT +NL80211_ATTR_KEY_DEFAULT_TYPES +NL80211_ATTR_KEY_IDX +NL80211_ATTR_KEY_SEQ +NL80211_ATTR_KEY_TYPE +NL80211_ATTR_LOCAL_MESH_POWER_MODE +NL80211_ATTR_LOCAL_STATE_CHANGE +NL80211_ATTR_MAC +NL80211_ATTR_MAC_ACL_MAX +NL80211_ATTR_MAC_ADDRS +NL80211_ATTR_MAC_HINT +NL80211_ATTR_MAC_MASK +NL80211_ATTR_MAX_AP_ASSOC_STA +NL80211_ATTR_MAX_CRIT_PROT_DURATION +NL80211_ATTR_MAX_CSA_COUNTERS +NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS +NL80211_ATTR_MAX_MATCH_SETS +NL80211_ATTR_MAX_NUM_AKM_SUITES +NL80211_ATTR_MAX_NUM_PMKIDS +NL80211_ATTR_MAX_NUM_SCAN_SSIDS +NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS +NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS +NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION +NL80211_ATTR_MAX_SCAN_IE_LEN +NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL +NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS +NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN +NL80211_ATTR_MBSSID_CONFIG +NL80211_ATTR_MBSSID_ELEMS +NL80211_ATTR_MCAST_RATE +NL80211_ATTR_MDID +NL80211_ATTR_MEASUREMENT_DURATION +NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY +NL80211_ATTR_MESH_CONFIG +NL80211_ATTR_MESH_ID +NL80211_ATTR_MESH_PARAMS +NL80211_ATTR_MESH_PEER_AID +NL80211_ATTR_MESH_SETUP +NL80211_ATTR_MGMT_SUBTYPE +NL80211_ATTR_MLD_ADDR +NL80211_ATTR_MLD_CAPA_AND_OPS +NL80211_ATTR_MLO_LINKS +NL80211_ATTR_MLO_LINK_DISABLED +NL80211_ATTR_MLO_LINK_ID +NL80211_ATTR_MLO_RECONF_REM_LINKS +NL80211_ATTR_MLO_SUPPORT +NL80211_ATTR_MLO_TTLM_DLINK +NL80211_ATTR_MLO_TTLM_ULINK +NL80211_ATTR_MNTR_FLAGS +NL80211_ATTR_MPATH_INFO +NL80211_ATTR_MPATH_NEXT_HOP +NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED +NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR +NL80211_ATTR_MU_MIMO_GROUP_DATA +NL80211_ATTR_NAN_FUNC +NL80211_ATTR_NAN_MASTER_PREF +NL80211_ATTR_NAN_MATCH +NL80211_ATTR_NETNS_FD +NL80211_ATTR_NOACK_MAP +NL80211_ATTR_NSS +NL80211_ATTR_OBSS_COLOR_BITMAP +NL80211_ATTR_OFFCHANNEL_TX_OK +NL80211_ATTR_OPER_CLASS +NL80211_ATTR_OPMODE_NOTIF +NL80211_ATTR_P2P_CTWINDOW +NL80211_ATTR_P2P_OPPPS +NL80211_ATTR_PAD +NL80211_ATTR_PBSS +NL80211_ATTR_PEER_AID +NL80211_ATTR_PEER_MEASUREMENTS +NL80211_ATTR_PID +NL80211_ATTR_PMK +NL80211_ATTR_PMKID +NL80211_ATTR_PMKR0_NAME +NL80211_ATTR_PMKSA_CANDIDATE +NL80211_ATTR_PMK_LIFETIME +NL80211_ATTR_PMK_REAUTH_THRESHOLD +NL80211_ATTR_PORT_AUTHORIZED +NL80211_ATTR_PREV_BSSID +NL80211_ATTR_PRIVACY +NL80211_ATTR_PROBE_RESP +NL80211_ATTR_PROBE_RESP_OFFLOAD +NL80211_ATTR_PROTOCOL_FEATURES +NL80211_ATTR_PS_STATE +NL80211_ATTR_PUNCT_BITMAP +NL80211_ATTR_QOS_MAP +NL80211_ATTR_RADAR_BACKGROUND +NL80211_ATTR_RADAR_EVENT +NL80211_ATTR_REASON_CODE +NL80211_ATTR_RECEIVE_MULTICAST +NL80211_ATTR_RECONNECT_REQUESTED +NL80211_ATTR_REG_ALPHA2 +NL80211_ATTR_REG_INDOOR +NL80211_ATTR_REG_INITIATOR +NL80211_ATTR_REG_RULES +NL80211_ATTR_REG_TYPE +NL80211_ATTR_REKEY_DATA +NL80211_ATTR_REQ_IE +NL80211_ATTR_RESP_IE +NL80211_ATTR_ROAM_SUPPORT +NL80211_ATTR_RXMGMT_FLAGS +NL80211_ATTR_RX_FRAME_TYPES +NL80211_ATTR_RX_HW_TIMESTAMP +NL80211_ATTR_RX_SIGNAL_DBM +NL80211_ATTR_S1G_CAPABILITY +NL80211_ATTR_S1G_CAPABILITY_MASK +NL80211_ATTR_SAE_DATA +NL80211_ATTR_SAE_PASSWORD +NL80211_ATTR_SAE_PWE +NL80211_ATTR_SAR_SPEC +NL80211_ATTR_SCAN_FLAGS +NL80211_ATTR_SCAN_FREQUENCIES +NL80211_ATTR_SCAN_FREQ_KHZ +NL80211_ATTR_SCAN_GENERATION +NL80211_ATTR_SCAN_SSIDS +NL80211_ATTR_SCAN_START_TIME_TSF +NL80211_ATTR_SCAN_START_TIME_TSF_BSSID +NL80211_ATTR_SCAN_SUPP_RATES +NL80211_ATTR_SCHED_SCAN_DELAY +NL80211_ATTR_SCHED_SCAN_INTERVAL +NL80211_ATTR_SCHED_SCAN_MATCH +NL80211_ATTR_SCHED_SCAN_MAX_REQS +NL80211_ATTR_SCHED_SCAN_MULTI +NL80211_ATTR_SCHED_SCAN_PLANS +NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI +NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST +NL80211_ATTR_SMPS_MODE +NL80211_ATTR_SOCKET_OWNER +NL80211_ATTR_SOFTWARE_IFTYPES +NL80211_ATTR_SPLIT_WIPHY_DUMP +NL80211_ATTR_SSID +NL80211_ATTR_STATUS_CODE +NL80211_ATTR_STA_AID +NL80211_ATTR_STA_CAPABILITY +NL80211_ATTR_STA_EXT_CAPABILITY +NL80211_ATTR_STA_FLAGS +NL80211_ATTR_STA_FLAGS2 +NL80211_ATTR_STA_INFO +NL80211_ATTR_STA_LISTEN_INTERVAL +NL80211_ATTR_STA_PLINK_ACTION +NL80211_ATTR_STA_PLINK_STATE +NL80211_ATTR_STA_SUPPORTED_CHANNELS +NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES +NL80211_ATTR_STA_SUPPORTED_RATES +NL80211_ATTR_STA_SUPPORT_P2P_PS +NL80211_ATTR_STA_TX_POWER +NL80211_ATTR_STA_TX_POWER_SETTING +NL80211_ATTR_STA_VLAN +NL80211_ATTR_STA_WME +NL80211_ATTR_SUPPORTED_COMMANDS +NL80211_ATTR_SUPPORTED_IFTYPES +NL80211_ATTR_SUPPORTED_SELECTORS +NL80211_ATTR_SUPPORT_10_MHZ +NL80211_ATTR_SUPPORT_5_MHZ +NL80211_ATTR_SUPPORT_AP_UAPSD +NL80211_ATTR_SUPPORT_IBSS_RSN +NL80211_ATTR_SUPPORT_MESH_AUTH +NL80211_ATTR_SURVEY_INFO +NL80211_ATTR_SURVEY_RADIO_STATS +NL80211_ATTR_TDLS_ACTION +NL80211_ATTR_TDLS_DIALOG_TOKEN +NL80211_ATTR_TDLS_EXTERNAL_SETUP +NL80211_ATTR_TDLS_INITIATOR +NL80211_ATTR_TDLS_OPERATION +NL80211_ATTR_TDLS_PEER_CAPABILITY +NL80211_ATTR_TDLS_SUPPORT +NL80211_ATTR_TD_BITMAP +NL80211_ATTR_TESTDATA +NL80211_ATTR_TID_CONFIG +NL80211_ATTR_TIMED_OUT +NL80211_ATTR_TIMEOUT +NL80211_ATTR_TIMEOUT_REASON +NL80211_ATTR_TSID +NL80211_ATTR_TWT_RESPONDER +NL80211_ATTR_TXQ_LIMIT +NL80211_ATTR_TXQ_MEMORY_LIMIT +NL80211_ATTR_TXQ_QUANTUM +NL80211_ATTR_TXQ_STATS +NL80211_ATTR_TX_FRAME_TYPES +NL80211_ATTR_TX_HW_TIMESTAMP +NL80211_ATTR_TX_NO_CCK_RATE +NL80211_ATTR_TX_RATES +NL80211_ATTR_UNSOL_BCAST_PROBE_RESP +NL80211_ATTR_UNSPEC +NL80211_ATTR_USER_PRIO +NL80211_ATTR_USER_REG_HINT_TYPE +NL80211_ATTR_USE_MFP +NL80211_ATTR_USE_RRM +NL80211_ATTR_VENDOR_DATA +NL80211_ATTR_VENDOR_EVENTS +NL80211_ATTR_VENDOR_ID +NL80211_ATTR_VENDOR_SUBCMD +NL80211_ATTR_VHT_CAPABILITY +NL80211_ATTR_VHT_CAPABILITY_MASK +NL80211_ATTR_VIF_RADIO_MASK +NL80211_ATTR_VLAN_ID +NL80211_ATTR_WANT_1X_4WAY_HS +NL80211_ATTR_WDEV +NL80211_ATTR_WIPHY +NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX +NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX +NL80211_ATTR_WIPHY_ANTENNA_RX +NL80211_ATTR_WIPHY_ANTENNA_TX +NL80211_ATTR_WIPHY_BANDS +NL80211_ATTR_WIPHY_CHANNEL_TYPE +NL80211_ATTR_WIPHY_COVERAGE_CLASS +NL80211_ATTR_WIPHY_DYN_ACK +NL80211_ATTR_WIPHY_EDMG_BW_CONFIG +NL80211_ATTR_WIPHY_EDMG_CHANNELS +NL80211_ATTR_WIPHY_FRAG_THRESHOLD +NL80211_ATTR_WIPHY_FREQ +NL80211_ATTR_WIPHY_FREQ_HINT +NL80211_ATTR_WIPHY_FREQ_OFFSET +NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS +NL80211_ATTR_WIPHY_NAME +NL80211_ATTR_WIPHY_RADIOS +NL80211_ATTR_WIPHY_RADIO_INDEX +NL80211_ATTR_WIPHY_RETRY_LONG +NL80211_ATTR_WIPHY_RETRY_SHORT +NL80211_ATTR_WIPHY_RTS_THRESHOLD +NL80211_ATTR_WIPHY_SELF_MANAGED_REG +NL80211_ATTR_WIPHY_TXQ_PARAMS +NL80211_ATTR_WIPHY_TX_POWER_LEVEL +NL80211_ATTR_WIPHY_TX_POWER_SETTING +NL80211_ATTR_WOWLAN_TRIGGERS +NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED +NL80211_ATTR_WPA_VERSIONS +NL80211_AUTHTYPE_FILS_PK +NL80211_AUTHTYPE_FILS_SK +NL80211_AUTHTYPE_FILS_SK_PFS +NL80211_AUTHTYPE_FT +NL80211_AUTHTYPE_NETWORK_EAP +NL80211_AUTHTYPE_OPEN_SYSTEM +NL80211_AUTHTYPE_SAE +NL80211_AUTHTYPE_SHARED_KEY +NL80211_BSS_BEACON_IES +NL80211_BSS_BEACON_INTERVAL +NL80211_BSS_BEACON_TSF +NL80211_BSS_BSSID +NL80211_BSS_CANNOT_USE_REASONS +NL80211_BSS_CAPABILITY +NL80211_BSS_CHAIN_SIGNAL +NL80211_BSS_CHAN_WIDTH +NL80211_BSS_FREQUENCY +NL80211_BSS_FREQUENCY_OFFSET +NL80211_BSS_INFORMATION_ELEMENTS +NL80211_BSS_LAST_SEEN_BOOTTIME +NL80211_BSS_MLD_ADDR +NL80211_BSS_MLO_LINK_ID +NL80211_BSS_PAD +NL80211_BSS_PARENT_BSSID +NL80211_BSS_PARENT_TSF +NL80211_BSS_PRESP_DATA +NL80211_BSS_SEEN_MS_AGO +NL80211_BSS_SIGNAL_MBM +NL80211_BSS_SIGNAL_UNSPEC +NL80211_BSS_STATUS +NL80211_BSS_TSF +NL80211_BSS_USE_FOR +NL80211_CHAN_HT20 +NL80211_CHAN_HT40MINUS +NL80211_CHAN_HT40PLUS +NL80211_CHAN_NO_HT +NL80211_CHAN_WIDTH_1 +NL80211_CHAN_WIDTH_10 +NL80211_CHAN_WIDTH_16 +NL80211_CHAN_WIDTH_160 +NL80211_CHAN_WIDTH_2 +NL80211_CHAN_WIDTH_20 +NL80211_CHAN_WIDTH_20_NOHT +NL80211_CHAN_WIDTH_320 +NL80211_CHAN_WIDTH_4 +NL80211_CHAN_WIDTH_40 +NL80211_CHAN_WIDTH_5 +NL80211_CHAN_WIDTH_8 +NL80211_CHAN_WIDTH_80 +NL80211_CHAN_WIDTH_80P80 +NL80211_CMD_ABORT_SCAN +NL80211_CMD_ACTION +NL80211_CMD_ACTION_TX_STATUS +NL80211_CMD_ADD_LINK +NL80211_CMD_ADD_LINK_STA +NL80211_CMD_ADD_NAN_FUNCTION +NL80211_CMD_ADD_TX_TS +NL80211_CMD_ASSOCIATE +NL80211_CMD_ASSOC_COMEBACK +NL80211_CMD_ASSOC_MLO_RECONF +NL80211_CMD_AUTHENTICATE +NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL +NL80211_CMD_CHANGE_NAN_CONFIG +NL80211_CMD_CHANNEL_SWITCH +NL80211_CMD_CH_SWITCH_NOTIFY +NL80211_CMD_CH_SWITCH_STARTED_NOTIFY +NL80211_CMD_COLOR_CHANGE_ABORTED +NL80211_CMD_COLOR_CHANGE_COMPLETED +NL80211_CMD_COLOR_CHANGE_REQUEST +NL80211_CMD_COLOR_CHANGE_STARTED +NL80211_CMD_CONNECT +NL80211_CMD_CONN_FAILED +NL80211_CMD_CONTROL_PORT_FRAME +NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS +NL80211_CMD_CRIT_PROTOCOL_START +NL80211_CMD_CRIT_PROTOCOL_STOP +NL80211_CMD_DEAUTHENTICATE +NL80211_CMD_DEL_BEACON +NL80211_CMD_DEL_INTERFACE +NL80211_CMD_DEL_KEY +NL80211_CMD_DEL_MPATH +NL80211_CMD_DEL_NAN_FUNCTION +NL80211_CMD_DEL_PMK +NL80211_CMD_DEL_PMKSA +NL80211_CMD_DEL_STATION +NL80211_CMD_DEL_TX_TS +NL80211_CMD_DEL_WIPHY +NL80211_CMD_DISASSOCIATE +NL80211_CMD_DISCONNECT +NL80211_CMD_EPCS_CFG +NL80211_CMD_EXTERNAL_AUTH +NL80211_CMD_FLUSH_PMKSA +NL80211_CMD_FRAME +NL80211_CMD_FRAME_TX_STATUS +NL80211_CMD_FRAME_WAIT_CANCEL +NL80211_CMD_FT_EVENT +NL80211_CMD_GET_BEACON +NL80211_CMD_GET_COALESCE +NL80211_CMD_GET_FTM_RESPONDER_STATS +NL80211_CMD_GET_INTERFACE +NL80211_CMD_GET_KEY +NL80211_CMD_GET_MESH_CONFIG +NL80211_CMD_GET_MESH_PARAMS +NL80211_CMD_GET_MPATH +NL80211_CMD_GET_MPP +NL80211_CMD_GET_POWER_SAVE +NL80211_CMD_GET_PROTOCOL_FEATURES +NL80211_CMD_GET_REG +NL80211_CMD_GET_SCAN +NL80211_CMD_GET_STATION +NL80211_CMD_GET_SURVEY +NL80211_CMD_GET_WIPHY +NL80211_CMD_GET_WOWLAN +NL80211_CMD_JOIN_IBSS +NL80211_CMD_JOIN_MESH +NL80211_CMD_JOIN_OCB +NL80211_CMD_LEAVE_IBSS +NL80211_CMD_LEAVE_MESH +NL80211_CMD_LEAVE_OCB +NL80211_CMD_LINKS_REMOVED +NL80211_CMD_MICHAEL_MIC_FAILURE +NL80211_CMD_MODIFY_LINK_STA +NL80211_CMD_NAN_MATCH +NL80211_CMD_NEW_BEACON +NL80211_CMD_NEW_INTERFACE +NL80211_CMD_NEW_KEY +NL80211_CMD_NEW_MPATH +NL80211_CMD_NEW_PEER_CANDIDATE +NL80211_CMD_NEW_SCAN_RESULTS +NL80211_CMD_NEW_STATION +NL80211_CMD_NEW_SURVEY_RESULTS +NL80211_CMD_NEW_WIPHY +NL80211_CMD_NOTIFY_CQM +NL80211_CMD_NOTIFY_RADAR +NL80211_CMD_OBSS_COLOR_COLLISION +NL80211_CMD_PEER_MEASUREMENT_COMPLETE +NL80211_CMD_PEER_MEASUREMENT_RESULT +NL80211_CMD_PEER_MEASUREMENT_START +NL80211_CMD_PMKSA_CANDIDATE +NL80211_CMD_PORT_AUTHORIZED +NL80211_CMD_PROBE_CLIENT +NL80211_CMD_PROBE_MESH_LINK +NL80211_CMD_RADAR_DETECT +NL80211_CMD_REGISTER_ACTION +NL80211_CMD_REGISTER_BEACONS +NL80211_CMD_REGISTER_FRAME +NL80211_CMD_REG_BEACON_HINT +NL80211_CMD_REG_CHANGE +NL80211_CMD_RELOAD_REGDB +NL80211_CMD_REMAIN_ON_CHANNEL +NL80211_CMD_REMOVE_LINK +NL80211_CMD_REMOVE_LINK_STA +NL80211_CMD_REQ_SET_REG +NL80211_CMD_ROAM +NL80211_CMD_SCAN_ABORTED +NL80211_CMD_SCHED_SCAN_RESULTS +NL80211_CMD_SCHED_SCAN_STOPPED +NL80211_CMD_SET_BEACON +NL80211_CMD_SET_BSS +NL80211_CMD_SET_CHANNEL +NL80211_CMD_SET_COALESCE +NL80211_CMD_SET_CQM +NL80211_CMD_SET_FILS_AAD +NL80211_CMD_SET_HW_TIMESTAMP +NL80211_CMD_SET_INTERFACE +NL80211_CMD_SET_KEY +NL80211_CMD_SET_MAC_ACL +NL80211_CMD_SET_MCAST_RATE +NL80211_CMD_SET_MESH_CONFIG +NL80211_CMD_SET_MESH_PARAMS +NL80211_CMD_SET_MGMT_EXTRA_IE +NL80211_CMD_SET_MPATH +NL80211_CMD_SET_MULTICAST_TO_UNICAST +NL80211_CMD_SET_NOACK_MAP +NL80211_CMD_SET_PMK +NL80211_CMD_SET_PMKSA +NL80211_CMD_SET_POWER_SAVE +NL80211_CMD_SET_QOS_MAP +NL80211_CMD_SET_REG +NL80211_CMD_SET_REKEY_OFFLOAD +NL80211_CMD_SET_SAR_SPECS +NL80211_CMD_SET_STATION +NL80211_CMD_SET_TID_CONFIG +NL80211_CMD_SET_TID_TO_LINK_MAPPING +NL80211_CMD_SET_TX_BITRATE_MASK +NL80211_CMD_SET_WDS_PEER +NL80211_CMD_SET_WIPHY +NL80211_CMD_SET_WIPHY_NETNS +NL80211_CMD_SET_WOWLAN +NL80211_CMD_START_AP +NL80211_CMD_START_NAN +NL80211_CMD_START_P2P_DEVICE +NL80211_CMD_START_SCHED_SCAN +NL80211_CMD_STA_OPMODE_CHANGED +NL80211_CMD_STOP_AP +NL80211_CMD_STOP_NAN +NL80211_CMD_STOP_P2P_DEVICE +NL80211_CMD_STOP_SCHED_SCAN +NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH +NL80211_CMD_TDLS_CHANNEL_SWITCH +NL80211_CMD_TDLS_MGMT +NL80211_CMD_TDLS_OPER +NL80211_CMD_TESTMODE +NL80211_CMD_TRIGGER_SCAN +NL80211_CMD_UNEXPECTED_4ADDR_FRAME +NL80211_CMD_UNEXPECTED_FRAME +NL80211_CMD_UNPROT_BEACON +NL80211_CMD_UNPROT_DEAUTHENTICATE +NL80211_CMD_UNPROT_DISASSOCIATE +NL80211_CMD_UNSPEC +NL80211_CMD_UPDATE_CONNECT_PARAMS +NL80211_CMD_UPDATE_FT_IES +NL80211_CMD_UPDATE_OWE_INFO +NL80211_CMD_VENDOR +NL80211_CMD_WIPHY_REG_CHANGE +NL80211_CQM_TXE_MAX_INTVL +NL80211_EDMG_BW_CONFIG_MAX +NL80211_EDMG_BW_CONFIG_MIN +NL80211_EDMG_CHANNELS_MAX +NL80211_EDMG_CHANNELS_MIN +NL80211_EHT_MAX_CAPABILITY_LEN +NL80211_EHT_MIN_CAPABILITY_LEN +NL80211_GENL_NAME +NL80211_HE_MAX_CAPABILITY_LEN +NL80211_HE_MIN_CAPABILITY_LEN +NL80211_HT_CAPABILITY_LEN +NL80211_IFTYPE_ADHOC +NL80211_IFTYPE_AP +NL80211_IFTYPE_AP_VLAN +NL80211_IFTYPE_MESH_POINT +NL80211_IFTYPE_MONITOR +NL80211_IFTYPE_NAN +NL80211_IFTYPE_OCB +NL80211_IFTYPE_P2P_CLIENT +NL80211_IFTYPE_P2P_DEVICE +NL80211_IFTYPE_P2P_GO +NL80211_IFTYPE_STATION +NL80211_IFTYPE_UNSPECIFIED +NL80211_IFTYPE_WDS +NL80211_MAX_NR_AKM_SUITES +NL80211_MAX_NR_CIPHER_SUITES +NL80211_MAX_SUPP_HT_RATES +NL80211_MAX_SUPP_RATES +NL80211_MAX_SUPP_REG_RULES +NL80211_MAX_SUPP_SELECTORS +NL80211_MESH_SETUP_AUTH_PROTOCOL +NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC +NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL +NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC +NL80211_MESH_SETUP_IE +NL80211_MESH_SETUP_USERSPACE_AMPE +NL80211_MESH_SETUP_USERSPACE_AUTH +NL80211_MESH_SETUP_USERSPACE_MPM +NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE +NL80211_MIN_REMAIN_ON_CHANNEL_TIME +NL80211_MULTICAST_GROUP_CONFIG +NL80211_MULTICAST_GROUP_MLME +NL80211_MULTICAST_GROUP_NAN +NL80211_MULTICAST_GROUP_REG +NL80211_MULTICAST_GROUP_SCAN +NL80211_MULTICAST_GROUP_TESTMODE +NL80211_MULTICAST_GROUP_VENDOR +NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP +NL80211_SCAN_FLAG_AP +NL80211_SCAN_FLAG_COLOCATED_6GHZ +NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME +NL80211_SCAN_FLAG_FLUSH +NL80211_SCAN_FLAG_FREQ_KHZ +NL80211_SCAN_FLAG_HIGH_ACCURACY +NL80211_SCAN_FLAG_LOW_POWER +NL80211_SCAN_FLAG_LOW_PRIORITY +NL80211_SCAN_FLAG_LOW_SPAN +NL80211_SCAN_FLAG_MIN_PREQ_CONTENT +NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION +NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE +NL80211_SCAN_FLAG_RANDOM_ADDR +NL80211_SCAN_FLAG_RANDOM_SN +NL80211_SCAN_RSSI_THOLD_OFF +NL80211_TKIP_DATA_OFFSET_ENCR_KEY +NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY +NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY +NL80211_VHT_CAPABILITY_LEN +NL80211_WIPHY_NAME_MAXLEN NLA_ALIGN NLA_ALIGNTO NLA_F_NESTED diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index 436244b0ecf6d..008fb8b8e3e0d 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -3552,6 +3552,673 @@ pub const CTRL_ATTR_MCAST_GRP_UNSPEC: c_int = 0; pub const CTRL_ATTR_MCAST_GRP_NAME: c_int = 1; pub const CTRL_ATTR_MCAST_GRP_ID: c_int = 2; +// uapi/linux/nl80211.h +// https://github.com/torvalds/linux/blob/master/include/uapi/linux/nl80211.h +// Changes to nl80211 come through the Linux wireless trees available here: +// https://web.git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git/ +// https://web.git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git/ +pub const NL80211_GENL_NAME: &str = "nl80211"; + +pub const NL80211_MULTICAST_GROUP_CONFIG: &str = "config"; +pub const NL80211_MULTICAST_GROUP_SCAN: &str = "scan"; +pub const NL80211_MULTICAST_GROUP_REG: &str = "regulatory"; +pub const NL80211_MULTICAST_GROUP_MLME: &str = "mlme"; +pub const NL80211_MULTICAST_GROUP_VENDOR: &str = "vendor"; +pub const NL80211_MULTICAST_GROUP_NAN: &str = "nan"; +pub const NL80211_MULTICAST_GROUP_TESTMODE: &str = "testmode"; + +pub const NL80211_EDMG_BW_CONFIG_MIN: c_int = 4; +pub const NL80211_EDMG_BW_CONFIG_MAX: c_int = 15; +pub const NL80211_EDMG_CHANNELS_MIN: c_int = 1; +pub const NL80211_EDMG_CHANNELS_MAX: c_int = 0x3c; + +// enum nl80211_commands +pub const NL80211_CMD_UNSPEC: c_int = 0; +pub const NL80211_CMD_GET_WIPHY: c_int = 1; +pub const NL80211_CMD_SET_WIPHY: c_int = 2; +pub const NL80211_CMD_NEW_WIPHY: c_int = 3; +pub const NL80211_CMD_DEL_WIPHY: c_int = 4; +pub const NL80211_CMD_GET_INTERFACE: c_int = 5; +pub const NL80211_CMD_SET_INTERFACE: c_int = 6; +pub const NL80211_CMD_NEW_INTERFACE: c_int = 7; +pub const NL80211_CMD_DEL_INTERFACE: c_int = 8; +pub const NL80211_CMD_GET_KEY: c_int = 9; +pub const NL80211_CMD_SET_KEY: c_int = 10; +pub const NL80211_CMD_NEW_KEY: c_int = 11; +pub const NL80211_CMD_DEL_KEY: c_int = 12; +pub const NL80211_CMD_GET_BEACON: c_int = 13; +pub const NL80211_CMD_SET_BEACON: c_int = 14; +pub const NL80211_CMD_START_AP: c_int = 15; +pub const NL80211_CMD_NEW_BEACON: c_int = NL80211_CMD_START_AP; +pub const NL80211_CMD_STOP_AP: c_int = 16; +pub const NL80211_CMD_DEL_BEACON: c_int = NL80211_CMD_STOP_AP; +pub const NL80211_CMD_GET_STATION: c_int = 17; +pub const NL80211_CMD_SET_STATION: c_int = 18; +pub const NL80211_CMD_NEW_STATION: c_int = 19; +pub const NL80211_CMD_DEL_STATION: c_int = 20; +pub const NL80211_CMD_GET_MPATH: c_int = 21; +pub const NL80211_CMD_SET_MPATH: c_int = 22; +pub const NL80211_CMD_NEW_MPATH: c_int = 23; +pub const NL80211_CMD_DEL_MPATH: c_int = 24; +pub const NL80211_CMD_SET_BSS: c_int = 25; +pub const NL80211_CMD_SET_REG: c_int = 26; +pub const NL80211_CMD_REQ_SET_REG: c_int = 27; +pub const NL80211_CMD_GET_MESH_CONFIG: c_int = 28; +pub const NL80211_CMD_SET_MESH_CONFIG: c_int = 29; +pub const NL80211_CMD_SET_MGMT_EXTRA_IE: c_int = 30; /* RESERVED; NOT USED */ +pub const NL80211_CMD_GET_REG: c_int = 31; +pub const NL80211_CMD_GET_SCAN: c_int = 32; +pub const NL80211_CMD_TRIGGER_SCAN: c_int = 33; +pub const NL80211_CMD_NEW_SCAN_RESULTS: c_int = 34; +pub const NL80211_CMD_SCAN_ABORTED: c_int = 35; +pub const NL80211_CMD_REG_CHANGE: c_int = 36; +pub const NL80211_CMD_AUTHENTICATE: c_int = 37; +pub const NL80211_CMD_ASSOCIATE: c_int = 38; +pub const NL80211_CMD_DEAUTHENTICATE: c_int = 39; +pub const NL80211_CMD_DISASSOCIATE: c_int = 40; +pub const NL80211_CMD_MICHAEL_MIC_FAILURE: c_int = 41; +pub const NL80211_CMD_REG_BEACON_HINT: c_int = 42; +pub const NL80211_CMD_JOIN_IBSS: c_int = 43; +pub const NL80211_CMD_LEAVE_IBSS: c_int = 44; +pub const NL80211_CMD_TESTMODE: c_int = 45; +pub const NL80211_CMD_CONNECT: c_int = 46; +pub const NL80211_CMD_ROAM: c_int = 47; +pub const NL80211_CMD_DISCONNECT: c_int = 48; +pub const NL80211_CMD_SET_WIPHY_NETNS: c_int = 49; +pub const NL80211_CMD_GET_SURVEY: c_int = 50; +pub const NL80211_CMD_NEW_SURVEY_RESULTS: c_int = 51; +pub const NL80211_CMD_SET_PMKSA: c_int = 52; +pub const NL80211_CMD_DEL_PMKSA: c_int = 53; +pub const NL80211_CMD_FLUSH_PMKSA: c_int = 54; +pub const NL80211_CMD_REMAIN_ON_CHANNEL: c_int = 55; +pub const NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL: c_int = 56; +pub const NL80211_CMD_SET_TX_BITRATE_MASK: c_int = 57; +pub const NL80211_CMD_REGISTER_FRAME: c_int = 58; +pub const NL80211_CMD_REGISTER_ACTION: c_int = NL80211_CMD_REGISTER_FRAME; +pub const NL80211_CMD_FRAME: c_int = 59; +pub const NL80211_CMD_ACTION: c_int = NL80211_CMD_FRAME; +pub const NL80211_CMD_FRAME_TX_STATUS: c_int = 60; +pub const NL80211_CMD_ACTION_TX_STATUS: c_int = NL80211_CMD_FRAME_TX_STATUS; +pub const NL80211_CMD_SET_POWER_SAVE: c_int = 61; +pub const NL80211_CMD_GET_POWER_SAVE: c_int = 62; +pub const NL80211_CMD_SET_CQM: c_int = 63; +pub const NL80211_CMD_NOTIFY_CQM: c_int = 64; +pub const NL80211_CMD_SET_CHANNEL: c_int = 65; +pub const NL80211_CMD_SET_WDS_PEER: c_int = 66; +pub const NL80211_CMD_FRAME_WAIT_CANCEL: c_int = 67; +pub const NL80211_CMD_JOIN_MESH: c_int = 68; +pub const NL80211_CMD_LEAVE_MESH: c_int = 69; +pub const NL80211_CMD_UNPROT_DEAUTHENTICATE: c_int = 70; +pub const NL80211_CMD_UNPROT_DISASSOCIATE: c_int = 71; +pub const NL80211_CMD_NEW_PEER_CANDIDATE: c_int = 72; +pub const NL80211_CMD_GET_WOWLAN: c_int = 73; +pub const NL80211_CMD_SET_WOWLAN: c_int = 74; +pub const NL80211_CMD_START_SCHED_SCAN: c_int = 75; +pub const NL80211_CMD_STOP_SCHED_SCAN: c_int = 76; +pub const NL80211_CMD_SCHED_SCAN_RESULTS: c_int = 77; +pub const NL80211_CMD_SCHED_SCAN_STOPPED: c_int = 78; +pub const NL80211_CMD_SET_REKEY_OFFLOAD: c_int = 79; +pub const NL80211_CMD_PMKSA_CANDIDATE: c_int = 80; +pub const NL80211_CMD_TDLS_OPER: c_int = 81; +pub const NL80211_CMD_TDLS_MGMT: c_int = 82; +pub const NL80211_CMD_UNEXPECTED_FRAME: c_int = 83; +pub const NL80211_CMD_PROBE_CLIENT: c_int = 84; +pub const NL80211_CMD_REGISTER_BEACONS: c_int = 85; +pub const NL80211_CMD_UNEXPECTED_4ADDR_FRAME: c_int = 86; +pub const NL80211_CMD_SET_NOACK_MAP: c_int = 87; +pub const NL80211_CMD_CH_SWITCH_NOTIFY: c_int = 88; +pub const NL80211_CMD_START_P2P_DEVICE: c_int = 89; +pub const NL80211_CMD_STOP_P2P_DEVICE: c_int = 90; +pub const NL80211_CMD_CONN_FAILED: c_int = 91; +pub const NL80211_CMD_SET_MCAST_RATE: c_int = 92; +pub const NL80211_CMD_SET_MAC_ACL: c_int = 93; +pub const NL80211_CMD_RADAR_DETECT: c_int = 94; +pub const NL80211_CMD_GET_PROTOCOL_FEATURES: c_int = 95; +pub const NL80211_CMD_UPDATE_FT_IES: c_int = 96; +pub const NL80211_CMD_FT_EVENT: c_int = 97; +pub const NL80211_CMD_CRIT_PROTOCOL_START: c_int = 98; +pub const NL80211_CMD_CRIT_PROTOCOL_STOP: c_int = 99; +pub const NL80211_CMD_GET_COALESCE: c_int = 100; +pub const NL80211_CMD_SET_COALESCE: c_int = 101; +pub const NL80211_CMD_CHANNEL_SWITCH: c_int = 102; +pub const NL80211_CMD_VENDOR: c_int = 103; +pub const NL80211_CMD_SET_QOS_MAP: c_int = 104; +pub const NL80211_CMD_ADD_TX_TS: c_int = 105; +pub const NL80211_CMD_DEL_TX_TS: c_int = 106; +pub const NL80211_CMD_GET_MPP: c_int = 107; +pub const NL80211_CMD_JOIN_OCB: c_int = 108; +pub const NL80211_CMD_LEAVE_OCB: c_int = 109; +pub const NL80211_CMD_CH_SWITCH_STARTED_NOTIFY: c_int = 110; +pub const NL80211_CMD_TDLS_CHANNEL_SWITCH: c_int = 111; +pub const NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH: c_int = 112; +pub const NL80211_CMD_WIPHY_REG_CHANGE: c_int = 113; +pub const NL80211_CMD_ABORT_SCAN: c_int = 114; +pub const NL80211_CMD_START_NAN: c_int = 115; +pub const NL80211_CMD_STOP_NAN: c_int = 116; +pub const NL80211_CMD_ADD_NAN_FUNCTION: c_int = 117; +pub const NL80211_CMD_DEL_NAN_FUNCTION: c_int = 118; +pub const NL80211_CMD_CHANGE_NAN_CONFIG: c_int = 119; +pub const NL80211_CMD_NAN_MATCH: c_int = 120; +pub const NL80211_CMD_SET_MULTICAST_TO_UNICAST: c_int = 121; +pub const NL80211_CMD_UPDATE_CONNECT_PARAMS: c_int = 122; +pub const NL80211_CMD_SET_PMK: c_int = 123; +pub const NL80211_CMD_DEL_PMK: c_int = 124; +pub const NL80211_CMD_PORT_AUTHORIZED: c_int = 125; +pub const NL80211_CMD_RELOAD_REGDB: c_int = 126; +pub const NL80211_CMD_EXTERNAL_AUTH: c_int = 127; +pub const NL80211_CMD_STA_OPMODE_CHANGED: c_int = 128; +pub const NL80211_CMD_CONTROL_PORT_FRAME: c_int = 129; +pub const NL80211_CMD_GET_FTM_RESPONDER_STATS: c_int = 130; +pub const NL80211_CMD_PEER_MEASUREMENT_START: c_int = 131; +pub const NL80211_CMD_PEER_MEASUREMENT_RESULT: c_int = 132; +pub const NL80211_CMD_PEER_MEASUREMENT_COMPLETE: c_int = 133; +pub const NL80211_CMD_NOTIFY_RADAR: c_int = 134; +pub const NL80211_CMD_UPDATE_OWE_INFO: c_int = 135; +pub const NL80211_CMD_PROBE_MESH_LINK: c_int = 136; +pub const NL80211_CMD_SET_TID_CONFIG: c_int = 137; +pub const NL80211_CMD_UNPROT_BEACON: c_int = 138; +pub const NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS: c_int = 139; +pub const NL80211_CMD_SET_SAR_SPECS: c_int = 140; +pub const NL80211_CMD_OBSS_COLOR_COLLISION: c_int = 141; +pub const NL80211_CMD_COLOR_CHANGE_REQUEST: c_int = 142; +pub const NL80211_CMD_COLOR_CHANGE_STARTED: c_int = 143; +pub const NL80211_CMD_COLOR_CHANGE_ABORTED: c_int = 144; +pub const NL80211_CMD_COLOR_CHANGE_COMPLETED: c_int = 145; +pub const NL80211_CMD_SET_FILS_AAD: c_int = 146; +pub const NL80211_CMD_ASSOC_COMEBACK: c_int = 147; +pub const NL80211_CMD_ADD_LINK: c_int = 148; +pub const NL80211_CMD_REMOVE_LINK: c_int = 149; +pub const NL80211_CMD_ADD_LINK_STA: c_int = 150; +pub const NL80211_CMD_MODIFY_LINK_STA: c_int = 151; +pub const NL80211_CMD_REMOVE_LINK_STA: c_int = 152; +pub const NL80211_CMD_SET_HW_TIMESTAMP: c_int = 153; +pub const NL80211_CMD_LINKS_REMOVED: c_int = 154; +pub const NL80211_CMD_SET_TID_TO_LINK_MAPPING: c_int = 155; +pub const NL80211_CMD_ASSOC_MLO_RECONF: c_int = 156; +pub const NL80211_CMD_EPCS_CFG: c_int = 157; + +pub const NL80211_CMD_GET_MESH_PARAMS: c_int = NL80211_CMD_GET_MESH_CONFIG; +pub const NL80211_CMD_SET_MESH_PARAMS: c_int = NL80211_CMD_SET_MESH_CONFIG; +pub const NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE: c_int = NL80211_MESH_SETUP_IE; + +// enum nl80211_attrs +pub const NL80211_ATTR_UNSPEC: c_int = 0; +pub const NL80211_ATTR_WIPHY: c_int = 1; +pub const NL80211_ATTR_WIPHY_NAME: c_int = 2; +pub const NL80211_ATTR_IFINDEX: c_int = 3; +pub const NL80211_ATTR_IFNAME: c_int = 4; +pub const NL80211_ATTR_IFTYPE: c_int = 5; +pub const NL80211_ATTR_MAC: c_int = 6; +pub const NL80211_ATTR_KEY_DATA: c_int = 7; +pub const NL80211_ATTR_KEY_IDX: c_int = 8; +pub const NL80211_ATTR_KEY_CIPHER: c_int = 9; +pub const NL80211_ATTR_KEY_SEQ: c_int = 10; +pub const NL80211_ATTR_KEY_DEFAULT: c_int = 11; +pub const NL80211_ATTR_BEACON_INTERVAL: c_int = 12; +pub const NL80211_ATTR_DTIM_PERIOD: c_int = 13; +pub const NL80211_ATTR_BEACON_HEAD: c_int = 14; +pub const NL80211_ATTR_BEACON_TAIL: c_int = 15; +pub const NL80211_ATTR_STA_AID: c_int = 16; +pub const NL80211_ATTR_STA_FLAGS: c_int = 17; +pub const NL80211_ATTR_STA_LISTEN_INTERVAL: c_int = 18; +pub const NL80211_ATTR_STA_SUPPORTED_RATES: c_int = 19; +pub const NL80211_ATTR_STA_VLAN: c_int = 20; +pub const NL80211_ATTR_STA_INFO: c_int = 21; +pub const NL80211_ATTR_WIPHY_BANDS: c_int = 22; +pub const NL80211_ATTR_MNTR_FLAGS: c_int = 23; +pub const NL80211_ATTR_MESH_ID: c_int = 24; +pub const NL80211_ATTR_STA_PLINK_ACTION: c_int = 25; +pub const NL80211_ATTR_MPATH_NEXT_HOP: c_int = 26; +pub const NL80211_ATTR_MPATH_INFO: c_int = 27; +pub const NL80211_ATTR_BSS_CTS_PROT: c_int = 28; +pub const NL80211_ATTR_BSS_SHORT_PREAMBLE: c_int = 29; +pub const NL80211_ATTR_BSS_SHORT_SLOT_TIME: c_int = 30; +pub const NL80211_ATTR_HT_CAPABILITY: c_int = 31; +pub const NL80211_ATTR_SUPPORTED_IFTYPES: c_int = 32; +pub const NL80211_ATTR_REG_ALPHA2: c_int = 33; +pub const NL80211_ATTR_REG_RULES: c_int = 34; +pub const NL80211_ATTR_MESH_CONFIG: c_int = 35; +pub const NL80211_ATTR_BSS_BASIC_RATES: c_int = 36; +pub const NL80211_ATTR_WIPHY_TXQ_PARAMS: c_int = 37; +pub const NL80211_ATTR_WIPHY_FREQ: c_int = 38; +pub const NL80211_ATTR_WIPHY_CHANNEL_TYPE: c_int = 39; +pub const NL80211_ATTR_KEY_DEFAULT_MGMT: c_int = 40; +pub const NL80211_ATTR_MGMT_SUBTYPE: c_int = 41; +pub const NL80211_ATTR_IE: c_int = 42; +pub const NL80211_ATTR_MAX_NUM_SCAN_SSIDS: c_int = 43; +pub const NL80211_ATTR_SCAN_FREQUENCIES: c_int = 44; +pub const NL80211_ATTR_SCAN_SSIDS: c_int = 45; +pub const NL80211_ATTR_GENERATION: c_int = 46; +pub const NL80211_ATTR_BSS: c_int = 47; +pub const NL80211_ATTR_REG_INITIATOR: c_int = 48; +pub const NL80211_ATTR_REG_TYPE: c_int = 49; +pub const NL80211_ATTR_SUPPORTED_COMMANDS: c_int = 50; +pub const NL80211_ATTR_FRAME: c_int = 51; +pub const NL80211_ATTR_SSID: c_int = 52; +pub const NL80211_ATTR_AUTH_TYPE: c_int = 53; +pub const NL80211_ATTR_REASON_CODE: c_int = 54; +pub const NL80211_ATTR_KEY_TYPE: c_int = 55; +pub const NL80211_ATTR_MAX_SCAN_IE_LEN: c_int = 56; +pub const NL80211_ATTR_CIPHER_SUITES: c_int = 57; +pub const NL80211_ATTR_FREQ_BEFORE: c_int = 58; +pub const NL80211_ATTR_FREQ_AFTER: c_int = 59; +pub const NL80211_ATTR_FREQ_FIXED: c_int = 60; +pub const NL80211_ATTR_WIPHY_RETRY_SHORT: c_int = 61; +pub const NL80211_ATTR_WIPHY_RETRY_LONG: c_int = 62; +pub const NL80211_ATTR_WIPHY_FRAG_THRESHOLD: c_int = 63; +pub const NL80211_ATTR_WIPHY_RTS_THRESHOLD: c_int = 64; +pub const NL80211_ATTR_TIMED_OUT: c_int = 65; +pub const NL80211_ATTR_USE_MFP: c_int = 66; +pub const NL80211_ATTR_STA_FLAGS2: c_int = 67; +pub const NL80211_ATTR_CONTROL_PORT: c_int = 68; +pub const NL80211_ATTR_TESTDATA: c_int = 69; +pub const NL80211_ATTR_PRIVACY: c_int = 70; +pub const NL80211_ATTR_DISCONNECTED_BY_AP: c_int = 71; +pub const NL80211_ATTR_STATUS_CODE: c_int = 72; +pub const NL80211_ATTR_CIPHER_SUITES_PAIRWISE: c_int = 73; +pub const NL80211_ATTR_CIPHER_SUITE_GROUP: c_int = 74; +pub const NL80211_ATTR_WPA_VERSIONS: c_int = 75; +pub const NL80211_ATTR_AKM_SUITES: c_int = 76; +pub const NL80211_ATTR_REQ_IE: c_int = 77; +pub const NL80211_ATTR_RESP_IE: c_int = 78; +pub const NL80211_ATTR_PREV_BSSID: c_int = 79; +pub const NL80211_ATTR_KEY: c_int = 80; +pub const NL80211_ATTR_KEYS: c_int = 81; +pub const NL80211_ATTR_PID: c_int = 82; +pub const NL80211_ATTR_4ADDR: c_int = 83; +pub const NL80211_ATTR_SURVEY_INFO: c_int = 84; +pub const NL80211_ATTR_PMKID: c_int = 85; +pub const NL80211_ATTR_MAX_NUM_PMKIDS: c_int = 86; +pub const NL80211_ATTR_DURATION: c_int = 87; +pub const NL80211_ATTR_COOKIE: c_int = 88; +pub const NL80211_ATTR_WIPHY_COVERAGE_CLASS: c_int = 89; +pub const NL80211_ATTR_TX_RATES: c_int = 90; +pub const NL80211_ATTR_FRAME_MATCH: c_int = 91; +pub const NL80211_ATTR_ACK: c_int = 92; +pub const NL80211_ATTR_PS_STATE: c_int = 93; +pub const NL80211_ATTR_CQM: c_int = 94; +pub const NL80211_ATTR_LOCAL_STATE_CHANGE: c_int = 95; +pub const NL80211_ATTR_AP_ISOLATE: c_int = 96; +pub const NL80211_ATTR_WIPHY_TX_POWER_SETTING: c_int = 97; +pub const NL80211_ATTR_WIPHY_TX_POWER_LEVEL: c_int = 98; +pub const NL80211_ATTR_TX_FRAME_TYPES: c_int = 99; +pub const NL80211_ATTR_RX_FRAME_TYPES: c_int = 100; +pub const NL80211_ATTR_FRAME_TYPE: c_int = 101; +pub const NL80211_ATTR_CONTROL_PORT_ETHERTYPE: c_int = 102; +pub const NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: c_int = 103; +pub const NL80211_ATTR_SUPPORT_IBSS_RSN: c_int = 104; +pub const NL80211_ATTR_WIPHY_ANTENNA_TX: c_int = 105; +pub const NL80211_ATTR_WIPHY_ANTENNA_RX: c_int = 106; +pub const NL80211_ATTR_MCAST_RATE: c_int = 107; +pub const NL80211_ATTR_OFFCHANNEL_TX_OK: c_int = 108; +pub const NL80211_ATTR_BSS_HT_OPMODE: c_int = 109; +pub const NL80211_ATTR_KEY_DEFAULT_TYPES: c_int = 110; +pub const NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION: c_int = 111; +pub const NL80211_ATTR_MESH_SETUP: c_int = 112; +pub const NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX: c_int = 113; +pub const NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX: c_int = 114; +pub const NL80211_ATTR_SUPPORT_MESH_AUTH: c_int = 115; +pub const NL80211_ATTR_STA_PLINK_STATE: c_int = 116; +pub const NL80211_ATTR_WOWLAN_TRIGGERS: c_int = 117; +pub const NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED: c_int = 118; +pub const NL80211_ATTR_SCHED_SCAN_INTERVAL: c_int = 119; +pub const NL80211_ATTR_INTERFACE_COMBINATIONS: c_int = 120; +pub const NL80211_ATTR_SOFTWARE_IFTYPES: c_int = 121; +pub const NL80211_ATTR_REKEY_DATA: c_int = 122; +pub const NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS: c_int = 123; +pub const NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN: c_int = 124; +pub const NL80211_ATTR_SCAN_SUPP_RATES: c_int = 125; +pub const NL80211_ATTR_HIDDEN_SSID: c_int = 126; +pub const NL80211_ATTR_IE_PROBE_RESP: c_int = 127; +pub const NL80211_ATTR_IE_ASSOC_RESP: c_int = 128; +pub const NL80211_ATTR_STA_WME: c_int = 129; +pub const NL80211_ATTR_SUPPORT_AP_UAPSD: c_int = 130; +pub const NL80211_ATTR_ROAM_SUPPORT: c_int = 131; +pub const NL80211_ATTR_SCHED_SCAN_MATCH: c_int = 132; +pub const NL80211_ATTR_MAX_MATCH_SETS: c_int = 133; +pub const NL80211_ATTR_PMKSA_CANDIDATE: c_int = 134; +pub const NL80211_ATTR_TX_NO_CCK_RATE: c_int = 135; +pub const NL80211_ATTR_TDLS_ACTION: c_int = 136; +pub const NL80211_ATTR_TDLS_DIALOG_TOKEN: c_int = 137; +pub const NL80211_ATTR_TDLS_OPERATION: c_int = 138; +pub const NL80211_ATTR_TDLS_SUPPORT: c_int = 139; +pub const NL80211_ATTR_TDLS_EXTERNAL_SETUP: c_int = 140; +pub const NL80211_ATTR_DEVICE_AP_SME: c_int = 141; +pub const NL80211_ATTR_DONT_WAIT_FOR_ACK: c_int = 142; +pub const NL80211_ATTR_FEATURE_FLAGS: c_int = 143; +pub const NL80211_ATTR_PROBE_RESP_OFFLOAD: c_int = 144; +pub const NL80211_ATTR_PROBE_RESP: c_int = 145; +pub const NL80211_ATTR_DFS_REGION: c_int = 146; +pub const NL80211_ATTR_DISABLE_HT: c_int = 147; +pub const NL80211_ATTR_HT_CAPABILITY_MASK: c_int = 148; +pub const NL80211_ATTR_NOACK_MAP: c_int = 149; +pub const NL80211_ATTR_INACTIVITY_TIMEOUT: c_int = 150; +pub const NL80211_ATTR_RX_SIGNAL_DBM: c_int = 151; +pub const NL80211_ATTR_BG_SCAN_PERIOD: c_int = 152; +pub const NL80211_ATTR_WDEV: c_int = 153; +pub const NL80211_ATTR_USER_REG_HINT_TYPE: c_int = 154; +pub const NL80211_ATTR_CONN_FAILED_REASON: c_int = 155; +pub const NL80211_ATTR_AUTH_DATA: c_int = 156; +pub const NL80211_ATTR_VHT_CAPABILITY: c_int = 157; +pub const NL80211_ATTR_SCAN_FLAGS: c_int = 158; +pub const NL80211_ATTR_CHANNEL_WIDTH: c_int = 159; +pub const NL80211_ATTR_CENTER_FREQ1: c_int = 160; +pub const NL80211_ATTR_CENTER_FREQ2: c_int = 161; +pub const NL80211_ATTR_P2P_CTWINDOW: c_int = 162; +pub const NL80211_ATTR_P2P_OPPPS: c_int = 163; +pub const NL80211_ATTR_LOCAL_MESH_POWER_MODE: c_int = 164; +pub const NL80211_ATTR_ACL_POLICY: c_int = 165; +pub const NL80211_ATTR_MAC_ADDRS: c_int = 166; +pub const NL80211_ATTR_MAC_ACL_MAX: c_int = 167; +pub const NL80211_ATTR_RADAR_EVENT: c_int = 168; +pub const NL80211_ATTR_EXT_CAPA: c_int = 169; +pub const NL80211_ATTR_EXT_CAPA_MASK: c_int = 170; +pub const NL80211_ATTR_STA_CAPABILITY: c_int = 171; +pub const NL80211_ATTR_STA_EXT_CAPABILITY: c_int = 172; +pub const NL80211_ATTR_PROTOCOL_FEATURES: c_int = 173; +pub const NL80211_ATTR_SPLIT_WIPHY_DUMP: c_int = 174; +pub const NL80211_ATTR_DISABLE_VHT: c_int = 175; +pub const NL80211_ATTR_VHT_CAPABILITY_MASK: c_int = 176; +pub const NL80211_ATTR_MDID: c_int = 177; +pub const NL80211_ATTR_IE_RIC: c_int = 178; +pub const NL80211_ATTR_CRIT_PROT_ID: c_int = 179; +pub const NL80211_ATTR_MAX_CRIT_PROT_DURATION: c_int = 180; +pub const NL80211_ATTR_PEER_AID: c_int = 181; +pub const NL80211_ATTR_COALESCE_RULE: c_int = 182; +pub const NL80211_ATTR_CH_SWITCH_COUNT: c_int = 183; +pub const NL80211_ATTR_CH_SWITCH_BLOCK_TX: c_int = 184; +pub const NL80211_ATTR_CSA_IES: c_int = 185; +pub const NL80211_ATTR_CNTDWN_OFFS_BEACON: c_int = 186; +pub const NL80211_ATTR_CNTDWN_OFFS_PRESP: c_int = 187; +pub const NL80211_ATTR_RXMGMT_FLAGS: c_int = 188; +pub const NL80211_ATTR_STA_SUPPORTED_CHANNELS: c_int = 189; +pub const NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: c_int = 190; +pub const NL80211_ATTR_HANDLE_DFS: c_int = 191; +pub const NL80211_ATTR_SUPPORT_5_MHZ: c_int = 192; +pub const NL80211_ATTR_SUPPORT_10_MHZ: c_int = 193; +pub const NL80211_ATTR_OPMODE_NOTIF: c_int = 194; +pub const NL80211_ATTR_VENDOR_ID: c_int = 195; +pub const NL80211_ATTR_VENDOR_SUBCMD: c_int = 196; +pub const NL80211_ATTR_VENDOR_DATA: c_int = 197; +pub const NL80211_ATTR_VENDOR_EVENTS: c_int = 198; +pub const NL80211_ATTR_QOS_MAP: c_int = 199; +pub const NL80211_ATTR_MAC_HINT: c_int = 200; +pub const NL80211_ATTR_WIPHY_FREQ_HINT: c_int = 201; +pub const NL80211_ATTR_MAX_AP_ASSOC_STA: c_int = 202; +pub const NL80211_ATTR_TDLS_PEER_CAPABILITY: c_int = 203; +pub const NL80211_ATTR_SOCKET_OWNER: c_int = 204; +pub const NL80211_ATTR_CSA_C_OFFSETS_TX: c_int = 205; +pub const NL80211_ATTR_MAX_CSA_COUNTERS: c_int = 206; +pub const NL80211_ATTR_TDLS_INITIATOR: c_int = 207; +pub const NL80211_ATTR_USE_RRM: c_int = 208; +pub const NL80211_ATTR_WIPHY_DYN_ACK: c_int = 209; +pub const NL80211_ATTR_TSID: c_int = 210; +pub const NL80211_ATTR_USER_PRIO: c_int = 211; +pub const NL80211_ATTR_ADMITTED_TIME: c_int = 212; +pub const NL80211_ATTR_SMPS_MODE: c_int = 213; +pub const NL80211_ATTR_OPER_CLASS: c_int = 214; +pub const NL80211_ATTR_MAC_MASK: c_int = 215; +pub const NL80211_ATTR_WIPHY_SELF_MANAGED_REG: c_int = 216; +pub const NL80211_ATTR_EXT_FEATURES: c_int = 217; +pub const NL80211_ATTR_SURVEY_RADIO_STATS: c_int = 218; +pub const NL80211_ATTR_NETNS_FD: c_int = 219; +pub const NL80211_ATTR_SCHED_SCAN_DELAY: c_int = 220; +pub const NL80211_ATTR_REG_INDOOR: c_int = 221; +pub const NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS: c_int = 222; +pub const NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL: c_int = 223; +pub const NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS: c_int = 224; +pub const NL80211_ATTR_SCHED_SCAN_PLANS: c_int = 225; +pub const NL80211_ATTR_PBSS: c_int = 226; +pub const NL80211_ATTR_BSS_SELECT: c_int = 227; +pub const NL80211_ATTR_STA_SUPPORT_P2P_PS: c_int = 228; +pub const NL80211_ATTR_PAD: c_int = 229; +pub const NL80211_ATTR_IFTYPE_EXT_CAPA: c_int = 230; +pub const NL80211_ATTR_MU_MIMO_GROUP_DATA: c_int = 231; +pub const NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR: c_int = 232; +pub const NL80211_ATTR_SCAN_START_TIME_TSF: c_int = 233; +pub const NL80211_ATTR_SCAN_START_TIME_TSF_BSSID: c_int = 234; +pub const NL80211_ATTR_MEASUREMENT_DURATION: c_int = 235; +pub const NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY: c_int = 236; +pub const NL80211_ATTR_MESH_PEER_AID: c_int = 237; +pub const NL80211_ATTR_NAN_MASTER_PREF: c_int = 238; +pub const NL80211_ATTR_BANDS: c_int = 239; +pub const NL80211_ATTR_NAN_FUNC: c_int = 240; +pub const NL80211_ATTR_NAN_MATCH: c_int = 241; +pub const NL80211_ATTR_FILS_KEK: c_int = 242; +pub const NL80211_ATTR_FILS_NONCES: c_int = 243; +pub const NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED: c_int = 244; +pub const NL80211_ATTR_BSSID: c_int = 245; +pub const NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI: c_int = 246; +pub const NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST: c_int = 247; +pub const NL80211_ATTR_TIMEOUT_REASON: c_int = 248; +pub const NL80211_ATTR_FILS_ERP_USERNAME: c_int = 249; +pub const NL80211_ATTR_FILS_ERP_REALM: c_int = 250; +pub const NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM: c_int = 251; +pub const NL80211_ATTR_FILS_ERP_RRK: c_int = 252; +pub const NL80211_ATTR_FILS_CACHE_ID: c_int = 253; +pub const NL80211_ATTR_PMK: c_int = 254; +pub const NL80211_ATTR_SCHED_SCAN_MULTI: c_int = 255; +pub const NL80211_ATTR_SCHED_SCAN_MAX_REQS: c_int = 256; +pub const NL80211_ATTR_WANT_1X_4WAY_HS: c_int = 257; +pub const NL80211_ATTR_PMKR0_NAME: c_int = 258; +pub const NL80211_ATTR_PORT_AUTHORIZED: c_int = 259; +pub const NL80211_ATTR_EXTERNAL_AUTH_ACTION: c_int = 260; +pub const NL80211_ATTR_EXTERNAL_AUTH_SUPPORT: c_int = 261; +pub const NL80211_ATTR_NSS: c_int = 262; +pub const NL80211_ATTR_ACK_SIGNAL: c_int = 263; +pub const NL80211_ATTR_CONTROL_PORT_OVER_NL80211: c_int = 264; +pub const NL80211_ATTR_TXQ_STATS: c_int = 265; +pub const NL80211_ATTR_TXQ_LIMIT: c_int = 266; +pub const NL80211_ATTR_TXQ_MEMORY_LIMIT: c_int = 267; +pub const NL80211_ATTR_TXQ_QUANTUM: c_int = 268; +pub const NL80211_ATTR_HE_CAPABILITY: c_int = 269; +pub const NL80211_ATTR_FTM_RESPONDER: c_int = 270; +pub const NL80211_ATTR_FTM_RESPONDER_STATS: c_int = 271; +pub const NL80211_ATTR_TIMEOUT: c_int = 272; +pub const NL80211_ATTR_PEER_MEASUREMENTS: c_int = 273; +pub const NL80211_ATTR_AIRTIME_WEIGHT: c_int = 274; +pub const NL80211_ATTR_STA_TX_POWER_SETTING: c_int = 275; +pub const NL80211_ATTR_STA_TX_POWER: c_int = 276; +pub const NL80211_ATTR_SAE_PASSWORD: c_int = 277; +pub const NL80211_ATTR_TWT_RESPONDER: c_int = 278; +pub const NL80211_ATTR_HE_OBSS_PD: c_int = 279; +pub const NL80211_ATTR_WIPHY_EDMG_CHANNELS: c_int = 280; +pub const NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: c_int = 281; +pub const NL80211_ATTR_VLAN_ID: c_int = 282; +pub const NL80211_ATTR_HE_BSS_COLOR: c_int = 283; +pub const NL80211_ATTR_IFTYPE_AKM_SUITES: c_int = 284; +pub const NL80211_ATTR_TID_CONFIG: c_int = 285; +pub const NL80211_ATTR_CONTROL_PORT_NO_PREAUTH: c_int = 286; +pub const NL80211_ATTR_PMK_LIFETIME: c_int = 287; +pub const NL80211_ATTR_PMK_REAUTH_THRESHOLD: c_int = 288; +pub const NL80211_ATTR_RECEIVE_MULTICAST: c_int = 289; +pub const NL80211_ATTR_WIPHY_FREQ_OFFSET: c_int = 290; +pub const NL80211_ATTR_CENTER_FREQ1_OFFSET: c_int = 291; +pub const NL80211_ATTR_SCAN_FREQ_KHZ: c_int = 292; +pub const NL80211_ATTR_HE_6GHZ_CAPABILITY: c_int = 293; +pub const NL80211_ATTR_FILS_DISCOVERY: c_int = 294; +pub const NL80211_ATTR_UNSOL_BCAST_PROBE_RESP: c_int = 295; +pub const NL80211_ATTR_S1G_CAPABILITY: c_int = 296; +pub const NL80211_ATTR_S1G_CAPABILITY_MASK: c_int = 297; +pub const NL80211_ATTR_SAE_PWE: c_int = 298; +pub const NL80211_ATTR_RECONNECT_REQUESTED: c_int = 299; +pub const NL80211_ATTR_SAR_SPEC: c_int = 300; +pub const NL80211_ATTR_DISABLE_HE: c_int = 301; +pub const NL80211_ATTR_OBSS_COLOR_BITMAP: c_int = 302; +pub const NL80211_ATTR_COLOR_CHANGE_COUNT: c_int = 303; +pub const NL80211_ATTR_COLOR_CHANGE_COLOR: c_int = 304; +pub const NL80211_ATTR_COLOR_CHANGE_ELEMS: c_int = 305; +pub const NL80211_ATTR_MBSSID_CONFIG: c_int = 306; +pub const NL80211_ATTR_MBSSID_ELEMS: c_int = 307; +pub const NL80211_ATTR_RADAR_BACKGROUND: c_int = 308; +pub const NL80211_ATTR_AP_SETTINGS_FLAGS: c_int = 309; +pub const NL80211_ATTR_EHT_CAPABILITY: c_int = 310; +pub const NL80211_ATTR_DISABLE_EHT: c_int = 311; +pub const NL80211_ATTR_MLO_LINKS: c_int = 312; +pub const NL80211_ATTR_MLO_LINK_ID: c_int = 313; +pub const NL80211_ATTR_MLD_ADDR: c_int = 314; +pub const NL80211_ATTR_MLO_SUPPORT: c_int = 315; +pub const NL80211_ATTR_MAX_NUM_AKM_SUITES: c_int = 316; +pub const NL80211_ATTR_EML_CAPABILITY: c_int = 317; +pub const NL80211_ATTR_MLD_CAPA_AND_OPS: c_int = 318; +pub const NL80211_ATTR_TX_HW_TIMESTAMP: c_int = 319; +pub const NL80211_ATTR_RX_HW_TIMESTAMP: c_int = 320; +pub const NL80211_ATTR_TD_BITMAP: c_int = 321; +pub const NL80211_ATTR_PUNCT_BITMAP: c_int = 322; +pub const NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS: c_int = 323; +pub const NL80211_ATTR_HW_TIMESTAMP_ENABLED: c_int = 324; +pub const NL80211_ATTR_EMA_RNR_ELEMS: c_int = 325; +pub const NL80211_ATTR_MLO_LINK_DISABLED: c_int = 326; +pub const NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA: c_int = 327; +pub const NL80211_ATTR_MLO_TTLM_DLINK: c_int = 328; +pub const NL80211_ATTR_MLO_TTLM_ULINK: c_int = 329; +pub const NL80211_ATTR_ASSOC_SPP_AMSDU: c_int = 330; +pub const NL80211_ATTR_WIPHY_RADIOS: c_int = 331; +pub const NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS: c_int = 332; +pub const NL80211_ATTR_VIF_RADIO_MASK: c_int = 333; +pub const NL80211_ATTR_SUPPORTED_SELECTORS: c_int = 334; +pub const NL80211_ATTR_MLO_RECONF_REM_LINKS: c_int = 335; +pub const NL80211_ATTR_EPCS: c_int = 336; +pub const NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS: c_int = 337; +pub const NL80211_ATTR_WIPHY_RADIO_INDEX: c_int = 338; + +pub const NL80211_ATTR_SCAN_GENERATION: c_int = NL80211_ATTR_GENERATION; +pub const NL80211_ATTR_MESH_PARAMS: c_int = NL80211_ATTR_MESH_CONFIG; +pub const NL80211_ATTR_IFACE_SOCKET_OWNER: c_int = NL80211_ATTR_SOCKET_OWNER; +pub const NL80211_ATTR_SAE_DATA: c_int = NL80211_ATTR_AUTH_DATA; +pub const NL80211_ATTR_CSA_C_OFF_BEACON: c_int = NL80211_ATTR_CNTDWN_OFFS_BEACON; +pub const NL80211_ATTR_CSA_C_OFF_PRESP: c_int = NL80211_ATTR_CNTDWN_OFFS_PRESP; + +pub const NL80211_WIPHY_NAME_MAXLEN: c_int = 64; + +pub const NL80211_MAX_SUPP_RATES: c_int = 32; +pub const NL80211_MAX_SUPP_SELECTORS: c_int = 128; +pub const NL80211_MAX_SUPP_HT_RATES: c_int = 77; +pub const NL80211_MAX_SUPP_REG_RULES: c_int = 128; +pub const NL80211_TKIP_DATA_OFFSET_ENCR_KEY: c_int = 0; +pub const NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY: c_int = 16; +pub const NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY: c_int = 24; +pub const NL80211_HT_CAPABILITY_LEN: c_int = 26; +pub const NL80211_VHT_CAPABILITY_LEN: c_int = 12; +pub const NL80211_HE_MIN_CAPABILITY_LEN: c_int = 16; +pub const NL80211_HE_MAX_CAPABILITY_LEN: c_int = 54; +pub const NL80211_MAX_NR_CIPHER_SUITES: c_int = 5; + +pub const NL80211_MAX_NR_AKM_SUITES: c_int = 2; +pub const NL80211_EHT_MIN_CAPABILITY_LEN: c_int = 13; +pub const NL80211_EHT_MAX_CAPABILITY_LEN: c_int = 51; + +pub const NL80211_MIN_REMAIN_ON_CHANNEL_TIME: c_int = 10; + +pub const NL80211_SCAN_RSSI_THOLD_OFF: c_int = -300; + +pub const NL80211_CQM_TXE_MAX_INTVL: c_int = 1800; + +// enum nl80211_iftype +pub const NL80211_IFTYPE_UNSPECIFIED: c_int = 0; +pub const NL80211_IFTYPE_ADHOC: c_int = 1; +pub const NL80211_IFTYPE_STATION: c_int = 2; +pub const NL80211_IFTYPE_AP: c_int = 3; +pub const NL80211_IFTYPE_AP_VLAN: c_int = 4; +pub const NL80211_IFTYPE_WDS: c_int = 5; +pub const NL80211_IFTYPE_MONITOR: c_int = 6; +pub const NL80211_IFTYPE_MESH_POINT: c_int = 7; +pub const NL80211_IFTYPE_P2P_CLIENT: c_int = 8; +pub const NL80211_IFTYPE_P2P_GO: c_int = 9; +pub const NL80211_IFTYPE_P2P_DEVICE: c_int = 10; +pub const NL80211_IFTYPE_OCB: c_int = 11; +pub const NL80211_IFTYPE_NAN: c_int = 12; +pub const NUM_NL80211_IFTYPES: c_int = 13; + +// nl80211_mesh_setup_params +pub const __NL80211_MESH_SETUP_INVALID: c_int = 0; +pub const NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL: c_int = 1; +pub const NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC: c_int = 2; +pub const NL80211_MESH_SETUP_IE: c_int = 3; +pub const NL80211_MESH_SETUP_USERSPACE_AUTH: c_int = 4; +pub const NL80211_MESH_SETUP_USERSPACE_AMPE: c_int = 5; +pub const NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC: c_int = 6; +pub const NL80211_MESH_SETUP_USERSPACE_MPM: c_int = 7; +pub const NL80211_MESH_SETUP_AUTH_PROTOCOL: c_int = 8; + +// enum nl80211_channel_type +pub const NL80211_CHAN_NO_HT: c_int = 0; +pub const NL80211_CHAN_HT20: c_int = 1; +pub const NL80211_CHAN_HT40MINUS: c_int = 2; +pub const NL80211_CHAN_HT40PLUS: c_int = 3; + +// enum nl80211_chan_width +pub const NL80211_CHAN_WIDTH_20_NOHT: c_int = 0; +pub const NL80211_CHAN_WIDTH_20: c_int = 1; +pub const NL80211_CHAN_WIDTH_40: c_int = 2; +pub const NL80211_CHAN_WIDTH_80: c_int = 3; +pub const NL80211_CHAN_WIDTH_80P80: c_int = 4; +pub const NL80211_CHAN_WIDTH_160: c_int = 5; +pub const NL80211_CHAN_WIDTH_5: c_int = 6; +pub const NL80211_CHAN_WIDTH_10: c_int = 7; +pub const NL80211_CHAN_WIDTH_1: c_int = 8; +pub const NL80211_CHAN_WIDTH_2: c_int = 9; +pub const NL80211_CHAN_WIDTH_4: c_int = 10; +pub const NL80211_CHAN_WIDTH_8: c_int = 11; +pub const NL80211_CHAN_WIDTH_16: c_int = 12; +pub const NL80211_CHAN_WIDTH_320: c_int = 13; + +// enum nl80211_bss +pub const __NL80211_BSS_INVALID: c_int = 0; +pub const NL80211_BSS_BSSID: c_int = 1; +pub const NL80211_BSS_FREQUENCY: c_int = 2; +pub const NL80211_BSS_TSF: c_int = 3; +pub const NL80211_BSS_BEACON_INTERVAL: c_int = 4; +pub const NL80211_BSS_CAPABILITY: c_int = 5; +pub const NL80211_BSS_INFORMATION_ELEMENTS: c_int = 6; +pub const NL80211_BSS_SIGNAL_MBM: c_int = 7; +pub const NL80211_BSS_SIGNAL_UNSPEC: c_int = 8; +pub const NL80211_BSS_STATUS: c_int = 9; +pub const NL80211_BSS_SEEN_MS_AGO: c_int = 10; +pub const NL80211_BSS_BEACON_IES: c_int = 11; +pub const NL80211_BSS_CHAN_WIDTH: c_int = 12; +pub const NL80211_BSS_BEACON_TSF: c_int = 13; +pub const NL80211_BSS_PRESP_DATA: c_int = 14; +pub const NL80211_BSS_LAST_SEEN_BOOTTIME: c_int = 15; +pub const NL80211_BSS_PAD: c_int = 16; +pub const NL80211_BSS_PARENT_TSF: c_int = 17; +pub const NL80211_BSS_PARENT_BSSID: c_int = 18; +pub const NL80211_BSS_CHAIN_SIGNAL: c_int = 19; +pub const NL80211_BSS_FREQUENCY_OFFSET: c_int = 20; +pub const NL80211_BSS_MLO_LINK_ID: c_int = 21; +pub const NL80211_BSS_MLD_ADDR: c_int = 22; +pub const NL80211_BSS_USE_FOR: c_int = 23; +pub const NL80211_BSS_CANNOT_USE_REASONS: c_int = 24; + +// enum nl80211_auth_type +// There's a NL80211_AUTHTYPE_AUTOMATIC, but it is only used +// internally within the kernel +pub const NL80211_AUTHTYPE_OPEN_SYSTEM: c_int = 0; +pub const NL80211_AUTHTYPE_SHARED_KEY: c_int = 1; +pub const NL80211_AUTHTYPE_FT: c_int = 2; +pub const NL80211_AUTHTYPE_NETWORK_EAP: c_int = 3; +pub const NL80211_AUTHTYPE_SAE: c_int = 4; +pub const NL80211_AUTHTYPE_FILS_SK: c_int = 5; +pub const NL80211_AUTHTYPE_FILS_SK_PFS: c_int = 6; +pub const NL80211_AUTHTYPE_FILS_PK: c_int = 7; + +// enum nl80211_scan_flags +pub const NL80211_SCAN_FLAG_LOW_PRIORITY: c_int = 1 << 0; +pub const NL80211_SCAN_FLAG_FLUSH: c_int = 1 << 1; +pub const NL80211_SCAN_FLAG_AP: c_int = 1 << 2; +pub const NL80211_SCAN_FLAG_RANDOM_ADDR: c_int = 1 << 3; +pub const NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME: c_int = 1 << 4; +pub const NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP: c_int = 1 << 5; +pub const NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE: c_int = 1 << 6; +pub const NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION: c_int = 1 << 7; +pub const NL80211_SCAN_FLAG_LOW_SPAN: c_int = 1 << 8; +pub const NL80211_SCAN_FLAG_LOW_POWER: c_int = 1 << 9; +pub const NL80211_SCAN_FLAG_HIGH_ACCURACY: c_int = 1 << 10; +pub const NL80211_SCAN_FLAG_RANDOM_SN: c_int = 1 << 11; +pub const NL80211_SCAN_FLAG_MIN_PREQ_CONTENT: c_int = 1 << 12; +pub const NL80211_SCAN_FLAG_FREQ_KHZ: c_int = 1 << 13; +pub const NL80211_SCAN_FLAG_COLOCATED_6GHZ: c_int = 1 << 14; + // linux/if_packet.h pub const PACKET_HOST: c_uchar = 0; pub const PACKET_BROADCAST: c_uchar = 1;