ENUM NL80211_PEER_MEASUREMENT_FTM_CAPA(9)
π ENUM NL80211_PEER_MEASUREMENT_FTM_CAPA(9) π
okay bestie so this is a page from the Kernel API Manual β like, the actual kernel docs, not a vibe β and it's about enum nl80211_peer_measurement_ftm_capa. That's a whole mouthful, iykyk, but lowkey it's just a big list of "what can this Wi-Fi device actually do when it does FTM ranging" flags and attributes. Think of it as the device's little resume. π
β¨ NAME β¨
enum nl80211_peer_measurement_ftm_capa β FTM capabilities. that's it, that's the whole name. short king. π
πΈ SYNOPSIS πΈ
enum nl80211_peer_measurement_ftm_capa {
__NL80211_PMSR_FTM_CAPA_ATTR_INVALID ,
NL80211_PMSR_FTM_CAPA_ATTR_ASAP ,
NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP ,
NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI ,
NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC ,
NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES ,
NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST ,
NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED ,
NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED ,
NL80211_PMSR_FTM_CAPA_ATTR_6GHZ_SUPPORT ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_TX_LTF_REP ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_RX_LTF_REP ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_TX_STS ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_RX_STS ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_TOTAL_LTF_TX ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_TOTAL_LTF_RX ,
NL80211_PMSR_FTM_CAPA_ATTR_RSTA_SUPPORT ,
NL80211_PMSR_FTM_CAPA_ATTR_ISTA_CAPS ,
NL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPS ,
NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_NTB ,
NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_TB ,
NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_EDCA ,
NL80211_PMSR_FTM_CAPA_ATTR_TYPE_CAPS ,
NL80211_PMSR_FTM_CAPA_ATTR_CONCURRENT_ISTA_RSTA_SUPPORT ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_TX_ANTENNAS ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_RX_ANTENNAS ,
NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_EDCA ,
NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_NTB ,
NL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLES ,
NL80211_PMSR_FTM_CAPA_ATTR_PD_BANDWIDTHS ,
NUM_NL80211_PMSR_FTM_CAPA_ATTR ,
NL80211_PMSR_FTM_CAPA_ATTR_MAX
};
no cap, that's the whole enum. every single member, exactly as written, do not touch. π«Ά
π¦ Constants π¦
bestie. there are so many. buckle up, we're going through all of them, no skipping, I promise. π
__NL80211_PMSR_FTM_CAPA_ATTR_INVALIDβ invalid. that's literally it. the placeholder of the group. πNL80211_PMSR_FTM_CAPA_ATTR_ASAPβ flag attribute indicating ASAP mode is supported.NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAPβ flag attribute indicating non-ASAP mode is supported.NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCIβ flag attribute indicating if LCI data can be requested during the measurement.NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOCβ flag attribute indicating if civic location data can be requested during the measurement.NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLESβu32bitmap attribute of bits fromenum nl80211_preamble.NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHSβ bitmap of values fromenum nl80211_chan_widthindicating the supported channel bandwidths for FTM. β οΈ note that a higher channel bandwidth may be configured to allow for other measurements types with different bandwidth requirement in the same measurement.NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENTβu32attribute indicating the maximum bursts exponent that can be used (if not present anything is valid).NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURSTβu32attribute indicating the maximum FTMs per burst (if not present anything is valid).NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASEDβ flag attribute indicating if trigger based ranging measurement is supported.NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASEDβ flag attribute indicating if non-trigger-based ranging measurement is supported.NL80211_PMSR_FTM_CAPA_ATTR_6GHZ_SUPPORTβ flag attribute indicating if ranging on the 6 GHz band is supported. (6 GHz gang rise up π)NL80211_PMSR_FTM_CAPA_ATTR_MAX_TX_LTF_REPβu32attribute indicating the maximum number of LTF repetitions the device can transmit in the preamble of the ranging NDP (zero means only one LTF, no repetitions).NL80211_PMSR_FTM_CAPA_ATTR_MAX_RX_LTF_REPβu32attribute indicating the maximum number of LTF repetitions the device can receive in the preamble of the ranging NDP (zero means only one LTF, no repetitions).NL80211_PMSR_FTM_CAPA_ATTR_MAX_TX_STSβu32attribute indicating the maximum number of space-time streams supported for ranging NDP TX (zero-based).NL80211_PMSR_FTM_CAPA_ATTR_MAX_RX_STSβu32attribute indicating the maximum number of space-time streams supported for ranging NDP RX (zero-based).NL80211_PMSR_FTM_CAPA_ATTR_MAX_TOTAL_LTF_TXβu32attribute indicating the maximum total number of LTFs the device can transmit. The total number of LTFs is (number of LTF repetitions) * (number of space-time streams). this limits the allowed combinations of LTF repetitions and STS.NL80211_PMSR_FTM_CAPA_ATTR_MAX_TOTAL_LTF_RXβu32attribute indicating the maximum total number of LTFs the device can receive. The total number of LTFs is (number of LTF repetitions) * (number of space-time streams). this limits the allowed combinations of LTF repetitions and STS. (yes it's the RX twin of the one above, they're matching, it's giving twin energy π―)NL80211_PMSR_FTM_CAPA_ATTR_RSTA_SUPPORTβ flag attribute indicating the device supports operating as the RSTA in PMSR FTM request.NL80211_PMSR_FTM_CAPA_ATTR_ISTA_CAPSβ nested attribute containing ISTA (initiator) role capabilities. Uses the same sub-attributes asNL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPS.NL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPSβ nested attribute containing RSTA (responder) role capabilities.NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_NTBβ flag attribute (used insideNL80211_PMSR_FTM_CAPA_ATTR_ISTA_CAPSorNL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPS) indicating NTB ranging support.NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_TBβ flag attribute (used insideNL80211_PMSR_FTM_CAPA_ATTR_ISTA_CAPSorNL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPS) indicating TB ranging support.NL80211_PMSR_FTM_CAPA_ATTR_SUPPORT_EDCAβ flag attribute (used insideNL80211_PMSR_FTM_CAPA_ATTR_ISTA_CAPSorNL80211_PMSR_FTM_CAPA_ATTR_RSTA_CAPS) indicating EDCA based ranging support.NL80211_PMSR_FTM_CAPA_ATTR_TYPE_CAPSβ nested attribute containing ranging type capabilities. Uses sub-attributes fromenum nl80211_peer_measurement_ftm_type_capa. πͺ (nested attrs are so nesting-doll coded fr fr)NL80211_PMSR_FTM_CAPA_ATTR_CONCURRENT_ISTA_RSTA_SUPPORTβ flag attribute indicating that the device can simultaneously act as initiator and responder in a multi-peer measurement request. β οΈ only valid ifNL80211_PMSR_FTM_CAPA_ATTR_RSTA_SUPPORTis set β so check that first, bestie, or it's not valid.NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_TX_ANTENNASβu32attribute indicating the maximum number of transmit antennas supported for EDCA based ranging (0 means unknown).NL80211_PMSR_FTM_CAPA_ATTR_MAX_NUM_RX_ANTENNASβu32attribute indicating the maximum number of receive antennas supported for EDCA based ranging (0 means unknown).NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_EDCAβu32attribute indicating the minimum EDCA ranging interval supported by the device in milli seconds. (0 means unknown). applications can use this value to estimate the burst period to be given in the FTM request for the EDCA based ranging case. If non-zero, this value will be used to validate the burst period in the FTM request.NL80211_PMSR_FTM_CAPA_ATTR_MIN_INTERVAL_NTBβu32attribute indicating the minimum NTB ranging interval supported by the device in milli seconds. (0 means unknown). applications can use this value to estimate the burst period to be given in the FTM request for the NTB ranging case. If non-zero, this value will be used to validate the nominal time in the FTM request. π°οΈNL80211_PMSR_FTM_CAPA_ATTR_PD_PREAMBLESβu32bitmap of values fromenum nl80211_preambleindicating the supported preambles for PD ranging requests. β οΈ only valid ifNL80211_PMSR_FTM_TYPE_CAPA_ATTR_PD_SUPPORTis set.NL80211_PMSR_FTM_CAPA_ATTR_PD_BANDWIDTHSβu32bitmap of values fromenum nl80211_chan_widthindicating the supported channel bandwidths for PD ranging requests. β οΈ only valid ifNL80211_PMSR_FTM_TYPE_CAPA_ATTR_PD_SUPPORTis set.NUM_NL80211_PMSR_FTM_CAPA_ATTRβ internal. π€« (not for you, it's for the kernel, move along)NL80211_PMSR_FTM_CAPA_ATTR_MAXβ highest attribute number. the ceiling. the final boss. π
aaaand that's the full attribute lineup β every single one accounted for, nothing dropped, nothing renamed, nothing merged. β¨
π SEE ALSO π
okay bestie, this is the part where the page goes "and here's literally everyone else in the friend group" π it's a lot of cross-references, so buckle up. Every single one of these lives in Kernel file ./include/uapi/linux/nl80211.h land (or near it), and they're all (9) manual pages β the kernel-API girlies. Go read them, they're iconic π
Kernel file ./include/uapi/linux/nl80211.hβ the mothership file, the source of truth π«ΆStation handling(9)Frame transmission/registration support(9)Virtual interface / concurrency capabilities(9)packet coalesce support(9)WPA/WPA2 EAPOL handshake offload(9)FILS shared key authentication offload(9)SAE authentication offload(9)VLAN offload support for setting group keys and binding STAs to VLANs(9)TID configuration(9)FILS shared key crypto offload(9)Multi-Link Operation(9)OWE DH IE handling offload(9)β offload era fr fr
now the enum/struct avalanche, no cap β¨
enum nl80211_commands(9)enum nl80211_attrs(9)enum nl80211_iftype(9)enum nl80211_sta_flags(9)enum nl80211_sta_p2p_ps_status(9)struct nl80211_sta_flag_update(9)enum nl80211_he_gi(9)enum nl80211_he_ltf(9)enum nl80211_he_ru_alloc(9)enum nl80211_eht_gi(9)enum nl80211_eht_ltf(9)enum nl80211_eht_ru_alloc(9)enum nl80211_rate_info(9)enum nl80211_sta_bss_param(9)enum nl80211_sta_info(9)enum nl80211_tid_stats(9)enum nl80211_txq_stats(9)enum nl80211_mpath_flags(9)enum nl80211_mpath_info(9)enum nl80211_band_iftype_attr(9)enum nl80211_band_attr(9)enum nl80211_nan_phy_cap_attr(9)enum nl80211_wmm_rule(9)enum nl80211_frequency_attr(9)enum nl80211_bitrate_attr(9)
regulatory arc πΈ (yes she has her own whole sub-plot)
enum nl80211_reg_initiator(9)enum nl80211_reg_type(9)enum nl80211_reg_rule_attr(9)enum nl80211_sched_scan_match_attr(9)enum nl80211_reg_rule_flags(9)enum nl80211_dfs_regions(9)enum nl80211_user_reg_hint_type(9)enum nl80211_survey_info(9)enum nl80211_mntr_flags(9)enum nl80211_mesh_power_mode(9)enum nl80211_meshconf_params(9)enum nl80211_mesh_setup_params(9)enum nl80211_txq_attr(9)enum nl80211_channel_type(9)enum nl80211_key_mode(9)enum nl80211_chan_width(9)enum nl80211_bss_scan_width(9)enum nl80211_bss_use_for(9)enum nl80211_bss_cannot_use_reasons(9)enum nl80211_bss(9)enum nl80211_bss_status(9)enum nl80211_auth_type(9)enum nl80211_key_type(9)enum nl80211_mfp(9)enum nl80211_key_default_types(9)enum nl80211_key_attributes(9)enum nl80211_tx_rate_attributes(9)struct nl80211_txrate_vht(9)struct nl80211_txrate_he(9)struct nl80211_txrate_eht(9)β the trilogy ate, ngl π₯
power + CQM + all that good stuff π
enum nl80211_band(9)enum nl80211_ps_state(9)enum nl80211_attr_cqm(9)enum nl80211_cqm_rssi_threshold_event(9)enum nl80211_tx_power_setting(9)enum nl80211_tid_config(9)enum nl80211_packet_pattern_attr(9)struct nl80211_pattern_support(9)enum nl80211_wowlan_triggers(9)TCP connection wakeup(9)struct nl80211_wowlan_tcp_data_seq(9)struct nl80211_wowlan_tcp_data_token(9)struct nl80211_wowlan_tcp_data_token_feature(9)enum nl80211_wowlan_tcp_attrs(9)struct nl80211_coalesce_rule_support(9)enum nl80211_attr_coalesce_rule(9)enum nl80211_coalesce_condition(9)enum nl80211_iface_limit_attrs(9)enum nl80211_if_combination_attrs(9)enum nl80211_plink_state(9)enum nl80211_plink_action(9)enum nl80211_rekey_data(9)enum nl80211_hidden_ssid(9)enum nl80211_sta_wme_attr(9)enum nl80211_pmksa_candidate_attr(9)enum nl80211_tdls_operation(9)enum nl80211_ap_sme_features(9)enum nl80211_feature_flags(9)enum nl80211_ext_feature_index(9)enum nl80211_probe_resp_offload_support_attr(9)enum nl80211_connect_failed_reason(9)enum nl80211_timeout_reason(9)enum nl80211_scan_flags(9)enum nl80211_acl_policy(9)enum nl80211_smps_mode(9)enum nl80211_radar_event(9)enum nl80211_dfs_state(9)enum nl80211_protocol_features(9)enum nl80211_crit_proto_id(9)enum nl80211_rxmgmt_flags(9)struct nl80211_vendor_cmd_info(9)enum nl80211_tdls_peer_capability(9)enum nl80211_sched_scan_plan(9)struct nl80211_bss_select_rssi_adjust(9)enum nl80211_bss_select_attr(9)
NAN gang represent π¦ (neighbor awareness network besties, iykyk)
enum nl80211_nan_function_type(9)enum nl80211_nan_publish_type(9)enum nl80211_nan_func_term_reason(9)enum nl80211_nan_func_attributes(9)enum nl80211_nan_srf_attributes(9)enum nl80211_nan_match_attributes(9)enum nl80211_nan_band_conf_attributes(9)enum nl80211_nan_conf_attributes(9)
and now the actual neighbors of this page β peer measurement / FTM squad π this is the section that's literally about us:
enum nl80211_external_auth_action(9)enum nl80211_ftm_responder_attributes(9)enum nl80211_preamble(9)enum nl80211_peer_measurement_type(9)enum nl80211_peer_measurement_status(9)enum nl80211_peer_measurement_req(9)enum nl80211_peer_measurement_resp(9)enum nl80211_peer_measurement_ftm_req_type(9)enum nl80211_peer_measurement_peer_attrs(9)enum nl80211_peer_measurement_attrs(9)enum nl80211_peer_measurement_ftm_type_capa(9)β hiii that's us πenum nl80211_peer_measurement_ftm_req(9)enum nl80211_peer_measurement_ftm_failure_reasons(9)enum nl80211_peer_measurement_ftm_resp(9)
the finale, aka the last cluster of icons π
enum nl80211_obss_pd_attributes(9)enum nl80211_bss_color_attributes(9)enum nl80211_iftype_akm_attributes(9)enum nl80211_fils_discovery_attributes(9)enum nl80211_unsol_bcast_probe_resp_attributes(9)enum nl80211_sae_pwe_mechanism(9)enum nl80211_sar_type(9)enum nl80211_sar_attrs(9)enum nl80211_sar_specs_attrs(9)enum nl80211_mbssid_config_attributes(9)enum nl80211_ap_settings_flags(9)enum nl80211_wiphy_radio_attrs(9)enum nl80211_wiphy_radio_freq_range(9)enum nl80211_s1g_short_beacon_attrs(9)enum nl80211_nan_capabilities(9)enum nl80211_nan_peer_map_attrs(9)
ok that was a whole journey π but you made it, bestie. that's the entire friend group β go click through them and slay your kernel networking arc π β¨
and hey, before you close the tab: this lil page came from ./include/uapi/linux, dated October 2026, and it's titled enum nl80211...ent_ftm_capa(9) β like, that's the source, the version, and the date, all bundled up π«Ά periodt, see you in the next manpage ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms