STRUCT CFG80211_NAN_PEER_SCHED(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

struct cfg80211_nan_peer_sched β€” the NAN peer schedule, bestie. It's from the Kernel API Manual (section 9, iykyk) and it's literally the glow-up data structure for one peer's schedule. πŸ¦‹


✨ SYNOPSIS ✨

struct cfg80211_nan_peer_sched {
    const u8 *peer_addr;
    u8 seq_id;
    u16 committed_dw;
    u16 max_chan_switch;
    const u8 *init_ulw;
    u16 ulw_size;
    u8 n_channels;
    struct cfg80211_nan_channel *nan_channels;
    struct cfg80211_nan_peer_map maps[CFG80211_NAN_MAX_PEER_MAPS];
};

okay so like. look at her. she's structured. she's serving. πŸŽ€


🫢 Members 🫢

  • peer_addr β€” the MAC address of the peer, aka the NMI address. that's who we're scheduling with, no cap.
  • seq_id β€” the sequence ID of the peer schedule. it's giving "which schedule is this one" energy. ✨
  • committed_dw β€” the committed DW as published by the peer. not us, the peer said it. check NL80211_ATTR_NAN_COMMITTED_DW if you wanna see where it comes from. πŸ‘‘
  • max_chan_switch β€” maximum channel switch time, in microseconds, again as published by the peer. see NL80211_ATTR_NAN_MAX_CHAN_SWITCH_TIME. the peer's the main character here fr fr.
  • init_ulw β€” the initial ULWs, as published by the peer. πŸ¦‹
  • ulw_size β€” literally just the number of bytes in init_ulw. that's it. that's the whole vibe check. πŸ’€
  • n_channels β€” how many channel definitions live in nan_channels. count 'em. πŸ”₯
  • nan_channels β€” an array of NAN channel definitions for this schedule. the whole roster. 🌈
  • maps β€” an array of peer schedule maps. and listen: unused entries have map_id = CFG80211_NAN_INVALID_MAP_ID. that's the "nobody's home" flag, don't forget it. πŸ™ˆ

🌸 Description 🌸

This struct defines the NAN peer schedule parameters for a peer. that's the whole thing β€” she holds the schedule deets for one peer, and she holds them correctly. periodt. πŸ’œ

πŸ’– SEE ALSO πŸ’–

okay bestie, the SEE ALSO section is literally the cfg80211 extended universe showing up to the group chat πŸ’…. The kernel file is ./include/net/cfg80211.h β€” yes, that one β€” and then the cross-refs come through like a whole parade. No cap, there are so many that I had to give them their own little lines so your eyes don’t file a complaint. Every single one is here, in order:

and that’s the whole SEE ALSO roster, bestie β€” every struct, enum, function, and manual page in the exact order the original served them πŸ’…. The page isn’t over yet, though; the next part is still loading, so stay tuned ✨.

okay bestie, this is the part where the manual just dumps every single friend this page has ever met, and honestly? iconic. it's giving "my contacts list after a conference." no descriptions, no little explainers β€” just the names, and every. single. one. matters. πŸ’…

first batch, the channel-and-regulatory girlies plus the netdev housekeeping crew:

registration, unregistration, bitrate math, and P2P attribute digging β€” all of it in one little parade. slay. ✨

round two: the IE-splitting divas, the power-save crowd, and the interface-stopping squad:

cfg80211_shutdown_all_interfaces(9) is that one friend who closes every tab before shutting the laptop. respectful. 🫢

third batch β€” and baby, the NAN girlies are here, main character energy only:

the colour-change notifies are lowkey their own little trilogy and i respect the commitment. πŸŽ€

final batch, the deep-cut icons β€” MLO, EPC, S1G, debugfs, and a couple more NAN besties to round it out:

and that's the whole friend group, fr fr. not a single name dropped, not a single one added β€” we keep the list exactly as the kernel wrote it. that's the vibe check and we passed it. βœ…


so yeah, that's the end of the page, bestie β€” that was a lot of cross-references and you read all of them, which is honestly so brave of you. πŸ‘‘

quick sign-off so you know where this whole thing came from: it lives in the source tree at ./include/net, the version stamp is October 2026, and the title up top is struct cfg80...n_peer_sched(9) (yes, it really does abbreviate like that, it's giving "ran out of characters in the header"). go forth and NAN responsibly πŸ’œπŸŒΈ

πŸ“¦ where this page comes from