ENUM NL80211_REG_RULE_ATTR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

enum nl80211_reg_rule_attr β€” regulatory rule attributes πŸ’… (this is a page from the Kernel API Manual, bestie, so buckle up)


🌸 SYNOPSIS 🌸

enum nl80211_reg_rule_attr {
    __NL80211_REG_RULE_ATTR_INVALID ,
    NL80211_ATTR_REG_RULE_FLAGS ,
    NL80211_ATTR_FREQ_RANGE_START ,
    NL80211_ATTR_FREQ_RANGE_END ,
    NL80211_ATTR_FREQ_RANGE_MAX_BW ,
    NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN ,
    NL80211_ATTR_POWER_RULE_MAX_EIRP ,
    NL80211_ATTR_DFS_CAC_TIME ,
    NL80211_ATTR_POWER_RULE_PSD ,
    __NL80211_REG_RULE_ATTR_AFTER_LAST ,
    NL80211_REG_RULE_ATTR_MAX

};

πŸŽ€ Constants πŸŽ€

okay so these are the attribute numbers that describe one single regulatory rule β€” like the little envelope of facts about "hey, this chunk of spectrum exists, here's what you're allowed to do in it" πŸ‘‘ no cap, they all matter:

  • __NL80211_REG_RULE_ATTR_INVALID β€” attribute number 0 is reserved. that's it, that's the whole vibe. it's the don't touch slot πŸ™ˆ
  • NL80211_ATTR_REG_RULE_FLAGS β€” a set of flags which specify additional considerations for a given frequency range. These are the enum nl80211_reg_rule_flags. basically the little stickers you slap on the rule that change how it behaves πŸ¦‹
  • NL80211_ATTR_FREQ_RANGE_START β€” starting frequency for the regulatory rule in KHz. ⚠️ heads up: this is not a center of frequency but an actual regulatory band edge. like, the literal edge of the band, not the middle. iykyk πŸ’€
  • NL80211_ATTR_FREQ_RANGE_END β€” ending frequency for the regulatory rule in KHz. and same energy as its sibling: this is not a center of frequency but an actual regulatory band edge 🫢
  • NL80211_ATTR_FREQ_RANGE_MAX_BW β€” maximum allowed bandwidth for this frequency range, in KHz. the width limit, periodt ✨
  • NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN β€” the maximum allowed antenna gain for a given frequency range. The value is in mBi (100 * dBi). and bestie listen β€” If you don't have one then don't send this. fr fr, just leave it out πŸ™ˆ
  • NL80211_ATTR_POWER_RULE_MAX_EIRP β€” the maximum allowed EIRP for a given frequency range. The value is in mBm (100 * dBm). πŸ“Ά
  • NL80211_ATTR_DFS_CAC_TIME β€” DFS CAC time in milliseconds. If not present or 0 default CAC time will be used. so like, zero means "you choose for me" πŸ’«
  • NL80211_ATTR_POWER_RULE_PSD β€” power spectral density (in dBm). This could be negative. yes bestie, negative values are absolutely allowed, don't panic 😭
  • __NL80211_REG_RULE_ATTR_AFTER_LAST β€” internal use. nothing to see here, move along, this one's not for you πŸ”’
  • NL80211_REG_RULE_ATTR_MAX β€” highest regulatory rule attribute number currently defined. the ceiling, the final boss, the top of the number stack πŸ‘‘

πŸ¦‹ SEE ALSO πŸ¦‹

first up, the source of truth itself:

  • Kernel file ./include/uapi/linux/nl80211.h

and now the whole entire friend group (yes, all of them, i'm not skipping a single one πŸ’–):

  • 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)
  • 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)
  • enum nl80211_reg_initiator(9)
  • enum nl80211_reg_type(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)
  • 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)
  • 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)
  • 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_capa(9)
  • enum nl80211_peer_measurement_ftm_type_capa(9)
  • enum nl80211_peer_measurement_ftm_req(9)
  • enum nl80211_peer_measurement_ftm_failure_reasons(9)
  • enum nl80211_peer_measurement_ftm_resp(9)
  • 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)

and that's the whole page, bestie 🫢 go forth and describe your spectrum correctly, and remember: band edges, not centers. slay 🌈

this lil love letter to nl80211 came from ./include/uapi/linux and it's stamped October 2026 πŸ’– mwah, go read the kernel headers, they miss you πŸŽ€

πŸ“¦ where this page comes from