STRUCT CFG80211_PMSR_REQUEST_PEER(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿฆ‹ NAME ๐Ÿฆ‹

struct cfg80211_pmsr_request_peer โ€” bestie, this is the peer data for a peer measurement request ๐Ÿ’– (yes it's a Kernel API Manual thing, we're in the big leagues now)


โœจ SYNOPSIS โœจ

okay so here's the actual shape of the thing, no cap, exactly as it lives:

struct cfg80211_pmsr_request_peer {
    u8 addr[ETH_ALEN];
    struct cfg80211_chan_def chandef;
    u8 report_ap_tsf:1;
    struct cfg80211_pmsr_ftm_request_peer ftm;
 };

๐Ÿ’… MEMBERS ๐Ÿ’…

the way this struct is just four lil fields and each one is carrying the whole vibe:

  • addr โ€” the MAC address ๐Ÿ‘‘ like literally the peer's MAC, that's the whole identity right there.
  • chandef โ€” the channel to use ๐ŸŽ€ slay, that's your channel definition.
  • report_ap_tsf โ€” a u8 bitfield of exactly one bit (:1), and when it's set you report the associated AP's TSF โฑ๏ธโœจ that's it, that's the flag.
  • ftm โ€” the FTM data ๐Ÿ“ก see struct cfg80211_pmsr_ftm_request_peer for the deets, iykyk.
fr fr keep the types exactly as written โ€” u8 addr[ETH_ALEN], struct cfg80211_chan_def chandef, u8 report_ap_tsf:1, struct cfg80211_pmsr_ftm_request_peer ftm โ€” we do not improvise in kernel land ๐Ÿ’€

more parts coming, don't go anywhere ๐Ÿซถ

โœจ SEE ALSO โœจ

okay bestie, deep breath ๐Ÿ˜ฎโ€๐Ÿ’จ this is the part where the manpage opens the group chat and just adds everyone. every single reference below is part of the official SEE ALSO list, in the exact order it appears, and we are not skipping a single one โ€” no cap, no "etc", no "you get the idea" ๐Ÿ™…โ€โ™€๏ธ hydrate, stretch, and scroll with me ๐Ÿซถ

  • Kernel file ./include/net/cfg80211.h Introduction(9)
  • Device registration(9)

first little cluster is the channel/band/capability crew โ€” very "who are you and what can your radio do" energy ๐Ÿ’…

then we slide into the actions and configuration arc, which is honestly the main character of this whole list ๐Ÿ”ฅ

and now the station saga โ€” yes there are this many, and yes they all get their moment ๐ŸŽ€

  • enum station_parameters_apply_mask(9)
  • struct sta_txpwr(9)
  • struct link_station_parameters(9)
  • struct link_station_del_parameters(9)
  • struct cfg80211_ttlm_params(9)
  • struct station_parameters(9)
  • struct station_del_parameters(9)
  • enum cfg80211_station_type(9)
  • cfg80211_check_station_change(9)
  • enum rate_info_flags(9)
  • enum rate_info_bw(9)
  • struct rate_info(9)
  • enum bss_param_flags(9)
  • struct sta_bss_parameters(9)
  • struct cfg80211_txq_stats(9)
  • struct cfg80211_tid_stats(9)
  • struct link_station_info(9)
  • struct station_info(9)
  • struct cfg80211_sar_sub_specs(9)
  • struct cfg80211_sar_specs(9)
  • struct cfg80211_sar_freq_ranges(9)
  • struct cfg80211_sar_capa(9)
  • cfg80211_get_station(9)
  • enum monitor_flags(9)
  • enum mpath_info_flags(9)
  • struct mpath_info(9)
  • enum wiphy_bss_param_flags(9)
  • struct bss_parameters(9)
  • struct mesh_config(9)
  • struct mesh_setup(9)
  • struct ocb_setup(9)
  • struct ieee80211_txq_params(9)

okay bestie we're maybe a quarter in, do NOT fold on me ๐Ÿ˜ญ next up: scanning and the BSS list situation, which is its own little universe ๐ŸŒ€

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid(9)
  • struct cfg80211_scan_info(9)
  • struct cfg80211_scan_6ghz_params(9)
  • struct cfg80211_scan_request(9)
  • struct cfg80211_match_set(9)
  • struct cfg80211_sched_scan_plan(9)
  • struct cfg80211_bss_select_adjust(9)
  • struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9)
  • struct cfg80211_inform_bss(9)
  • struct cfg80211_bss_ies(9)
  • struct cfg80211_bss(9)
  • ieee80211_bss_get_elem(9)
  • ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9)
  • struct cfg80211_assoc_link(9)
  • struct cfg80211_ml_reconf_req(9)
  • enum cfg80211_assoc_req_flags(9)
  • struct cfg80211_assoc_request(9)
  • struct cfg80211_deauth_request(9)
  • struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9)
  • struct cfg80211_bss_selection(9)
  • struct cfg80211_connect_params(9)
  • enum cfg80211_connect_params_changed(9)
  • enum wiphy_params_flags(9)
  • struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9)
  • struct cfg80211_wowlan_tcp(9)
  • struct cfg80211_wowlan(9)
  • struct cfg80211_coalesce_rules(9)
  • struct cfg80211_coalesce(9)
  • struct cfg80211_wowlan_nd_match(9)
  • struct cfg80211_wowlan_nd_info(9)
  • struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9)
  • struct cfg80211_update_ft_ies_params(9)
  • struct cfg80211_mgmt_tx_params(9)
  • struct cfg80211_dscp_exception(9)
  • struct cfg80211_dscp_range(9)
  • struct cfg80211_qos_map(9)

NAN time โœจ (Neighbor Awareness Networking, not your nan, though honestly both are iconic)

  • Neighbor Awareness Networking (NAN)(9)
  • struct cfg80211_nan_band_config(9)
  • struct cfg80211_nan_conf(9)
  • struct cfg80211_nan_channel(9)
  • struct cfg80211_nan_local_sched(9)
  • struct cfg80211_nan_peer_map(9)
  • struct cfg80211_nan_peer_sched(9)
  • enum cfg80211_nan_conf_changes(9)
  • struct cfg80211_nan_func_filter(9)
  • struct cfg80211_nan_func(9)

and here's our own little neighbourhood: PMK, external auth, FTM responder stats, and the PMSR family that this very page belongs to ๐Ÿ’–

  • struct cfg80211_pmk_conf(9)
  • struct cfg80211_external_auth_params(9)
  • struct cfg80211_ftm_responder_stats(9)
  • struct cfg80211_pmsr_ftm_result(9)
  • struct cfg80211_pmsr_result(9)
  • struct cfg80211_pmsr_ftm_request_peer(9)
  • struct cfg80211_pmsr_request(9)
  • struct cfg80211_update_owe_info(9)
  • struct mgmt_frame_regs(9)
  • struct cfg80211_ops(9)

then the wiphy empire, which is enormous and honestly ate ๐Ÿ’€

utility functions section, aka the "little helpers that carry the whole team" arc ๐ŸŒธ

data path helpers, plus the element/IE finding crew โ€” these ones are lowkey everywhere, iykyk ๐Ÿฆ‹

regulatory enforcement infrastructure โ€” yes ma'am, the rules committee has arrived ๐Ÿ‘‘

then a big glorious run of scan/BSS/MLME notification functions and friends ๐ŸŽ€

RFkill, vendor commands, and test mode โ€” three whole vibes in a trench coat:

and then the big finish run โ€” connect/roam/station/notification city ๐ŸŒˆ

and that's where this chunk of the list pauses โ€” the original literally trails off with a comma, so you know there's more coming ๐Ÿ˜ญ don't close the tab, part 3 is right there ๐Ÿซถ๐Ÿ’…

โ€ฆand the rest of the squad, still rolling out in order because we respect the queue ๐Ÿ’…โœจ


okay and that's literally the whole page, bestie ๐Ÿซถ you made it to the end, I'm so proud ๐Ÿ˜ญ๐ŸŽ€ every single cross-reference got its moment, nobody left on read.

tiny sign-off moment ๐ŸŒธ โ€” this lil masterpiece lives in the source tree at ./include/net, it's dated October 2026, and yeah it's still serving under the title struct cfg8...request_peer(9) in the Kernel API Manual. go forth and read the actual pages now, mwah ๐Ÿ’–โœจ

๐Ÿ“ฆ where this page comes from