STRUCT QLINK_CMD_CONNECT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so this is a page straight out of the Kernel API Manual, and it's about one struct: struct qlink_cmd_connect. that's it. that's the whole vibe. it's the data payload for the QLINK_CMD_CONNECT command, and yes bestie, we're gonna go through every single field like it's a group project and i'm the only one doing the work 🫢


✨ NAME ✨

struct qlink_cmd_connect β€” the data for the QLINK_CMD_CONNECT command. it's giving "the little envelope you hand the kernel when you want to connect to something" πŸ’Œ


🌸 SYNOPSIS 🌸

here's the whole thing, character for character, because we do not paraphrase structs in this house:

struct qlink_cmd_connect {
    struct qlink_cmd chdr;
    u8 bssid[ETH_ALEN];
    u8 bssid_hint[ETH_ALEN];
    u8 prev_bssid[ETH_ALEN];
    __le16 bg_scan_period;
    __le32 flags;
    struct ieee80211_ht_cap ht_capa;
    struct ieee80211_ht_cap ht_capa_mask;
    struct ieee80211_vht_cap vht_capa;
    struct ieee80211_vht_cap vht_capa_mask;
    struct qlink_auth_encr aen;
    u8 mfp;
    u8 pbss;
    u8 rsvd[2];
    u8 payload[];
};

look at all those fields. obsessed. 😭


πŸŽ€ Members πŸŽ€

okay so the page itself only spells out some of the members in the struct β€” here's every single one it bothered to describe, no cap, nothing skipped:

  • bssid β€” the BSSID of the BSS you wanna connect to. the whole point, honestly. πŸ“
  • bssid_hint β€” a recommended AP BSSID for the initial connection to the BSS, or 00:00:00:00:00:00 if you didn't specify one. it's a hint, not a demand, she's flexible πŸ’…
  • prev_bssid β€” the previous BSSID. if it's specified (so, not 00:00:00:00:00:00), that signals a request to reassociate. iykyk πŸ”
  • bg_scan_period β€” the period of the background scan. she's doing cardio in the background the whole time πŸƒβ€β™€οΈ
  • flags β€” one of enum qlink_sta_connect_flags. go look at that page for the actual flags, this one's just holding the bag 🚩
  • ht_capa β€” HT Capabilities overrides.
  • ht_capa_mask β€” the bits of ht_capa which are to be used. so like, ht_capa is the look and ht_capa_mask is which parts of the look are actually getting posted πŸ“Έ
  • vht_capa β€” VHT Capability overrides.
  • vht_capa_mask β€” the bits of vht_capa which are to be used. same energy, VHT edition ✨
  • aen β€” authentication information.
  • mfp β€” whether to use management frame protection. πŸ›‘οΈ
  • payload β€” the variable portion of the connection request. she's u8 payload[], so she grows as needed, main character energy fr fr 🌱
heads up babe: the struct in SYNOPSIS has more fields than the Members list describes β€” chdr, pbss and rsvd[2] show up in the struct but not in the member descriptions up there. that's just how the page is, i'm not out here making stuff up 🫢

πŸ¦‹ SEE ALSO πŸ¦‹

this is the mother of all SEE ALSO sections, so buckle up. first: Kernel file ./drivers/net/wireless/quantenna/qtnfmac/qlink.h.

then literally all of these:

  • enum qlink_msg_type(9)
  • struct qlink_msg_header(9)
  • enum qlink_hw_capab(9)
  • enum qlink_driver_capab(9)
  • struct qlink_intf_info(9)
  • struct qlink_channel(9)
  • struct qlink_chandef(9)
  • struct qlink_sta_info_state(9)
  • enum qlink_sr_ctrl_flags(9)
  • struct qlink_sr_params(9)
  • enum qlink_cmd_type(9)
  • struct qlink_cmd(9)
  • struct qlink_cmd_init_fw(9)
  • struct qlink_cmd_manage_intf(9)
  • struct qlink_cmd_mgmt_frame_register(9)
  • struct qlink_cmd_frame_tx(9)
  • struct qlink_cmd_get_sta_info(9)
  • struct qlink_cmd_add_key(9)
  • struct qlink_cmd_set_def_key(9)
  • struct qlink_cmd_set_def_mgmt_key(9)
  • struct qlink_cmd_change_sta(9)
  • struct qlink_cmd_del_sta(9)
  • struct qlink_cmd_external_auth(9)
  • struct qlink_cmd_disconnect(9)
  • struct qlink_cmd_updown(9)
  • enum qlink_band(9)
  • struct qlink_cmd_band_info_get(9)
  • struct qlink_cmd_get_chan_stats(9)
  • enum qlink_reg_initiator(9)
  • enum qlink_user_reg_hint_type(9)
  • struct qlink_cmd_reg_notify(9)
  • enum qlink_chan_sw_flags(9)
  • struct qlink_cmd_chan_switch(9)
  • enum qlink_hidden_ssid(9)
  • struct qlink_cmd_start_ap(9)
  • struct qlink_cmd_start_cac(9)
  • struct qlink_acl_data(9)
  • enum qlink_pm_mode(9)
  • struct qlink_cmd_pm_set(9)
  • enum qlink_txpwr_op(9)
  • struct qlink_cmd_txpwr(9)
  • enum qlink_wowlan_trigger(9)
  • struct qlink_cmd_wowlan_set(9)
  • struct qlink_cmd_ndev_event(9)
  • struct qlink_cmd_ndev_changeupper(9)
  • enum qlink_scan_flags(9)
  • struct qlink_cmd_scan(9)
  • struct qlink_cmd_update_owe(9)
  • struct qlink_resp(9)
  • struct qlink_resp_init_fw(9)
  • enum qlink_dfs_regions(9)
  • struct qlink_resp_get_mac_info(9)
  • struct qlink_resp_get_hw_info(9)
  • struct qlink_resp_manage_intf(9)
  • struct qlink_resp_get_sta_info(9)
  • struct qlink_resp_band_info_get(9)
  • struct qlink_resp_get_chan_stats(9)
  • struct qlink_resp_channel_get(9)
  • struct qlink_resp_txpwr(9)
  • struct qlink_event(9)
  • struct qlink_event_sta_assoc(9)
  • struct qlink_event_sta_deauth(9)
  • struct qlink_event_bss_join(9)
  • struct qlink_event_bss_leave(9)
  • struct qlink_event_freq_change(9)
  • struct qlink_event_rxmgmt(9)
  • struct qlink_event_scan_result(9)
  • enum qlink_scan_complete_flags(9)
  • struct qlink_event_scan_complete(9)
  • struct qlink_event_radar(9)
  • struct qlink_event_external_auth(9)
  • struct qlink_event_mic_failure(9)
  • struct qlink_event_update_owe(9)
  • enum qlink_tlv_id(9)
  • enum qlink_reg_rule_flags(9)
  • struct qlink_tlv_reg_rule(9)
  • struct qlink_tlv_channel(9)
  • struct qlink_tlv_chandef(9)
  • struct qlink_tlv_ie_set(9)
  • struct qlink_tlv_ext_ie(9)
  • struct qlink_tlv_iftype_data(9)
  • enum qlink_chan_stat(9)
  • struct qlink_chan_stats(9)
  • enum qlink_sta_info(9)
  • struct qlink_sta_info_rate(9)
  • struct qlink_sta_stats(9)
  • struct qlink_random_mac_addr(9)
  • struct qlink_wowlan_capab_data(9)
  • struct qlink_wowlan_support(9)

like. ninety-ish cross-references. she ate and left no crumbs πŸ‘‘πŸ”₯


mwah πŸ’œ that's the whole page! source is ./drivers/net/wireless/quanten..., dated October 2026, and it's all under the Kernel API Manual. go forth and connect, bestie β€” periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from