ENUM MAC80211_SCAN_FLAGS(9)
π¦ enum mac80211_scan_flags(9) β the scan-mode mood ring π
okay bestie, welcome to section 9 of the kernel API manual, where we meet enum mac80211_scan_flags β literally just the enum that tracks currently active scan mode. that's the whole vibe. it's giving "little enum, big responsibilities" β¨
β¨ SYNOPSIS β¨
enum mac80211_scan_flags {
SCAN_SW_SCANNING ,
SCAN_HW_SCANNING ,
SCAN_ONCHANNEL_SCANNING ,
SCAN_COMPLETED ,
SCAN_ABORTED ,
SCAN_HW_CANCELLED ,
SCAN_BEACON_WAIT ,
SCAN_BEACON_DONE
};
no cap, that's the whole thing. eight constants, zero drama (okay, slight drama, they're scan states). let's get into them π«Ά
π Constants π
SCAN_SW_SCANNINGβ so we're currently mid-scan, but honestly we might as well be sitting on the operating channel. it's a software scan situation, we're just out here vibing on-channel-ish π«SCAN_HW_SCANNINGβ the hardware is doing the scanning for us π which means we have no way to determine whether we're on the operating channel or not. not us being completely in the dark about our own location π literally no idea, and that's fine, the hardware's got itSCAN_ONCHANNEL_SCANNINGβ do a software scan on only the current operating channel. the whole point? this should not interrupt normal traffic. polite scanning, main character energy that doesn't step on anyone else's moment π§SCAN_COMPLETEDβ set for our scan work function when the driver reported that the scan completed. good news era πSCAN_ABORTEDβ set for our scan work function when the driver reported a scan complete for an aborted scan. yeah. it "completed." we're choosing to be positive about it πSCAN_HW_CANCELLEDβ set for our scan work function when the scan is being cancelled. not the slay we wanted, but here we are πSCAN_BEACON_WAITβ set whenever we're passive scanning because of radar / no-IR, and we could send a probe request after receiving a beacon. we're waiting, we're patient, we're radar-respectful πΈSCAN_BEACON_DONEβ beacon received!! we can now send a probe request. the wait is over, bestie, go send it π₯
π SEE ALSO π
Kernel file ./net/mac80211/ieee80211_i.h enum, plus the whole friend group:
ieee80211_bss_corrupt_data_flags(9)- enum
ieee80211_bss_valid_data_flags(9) - enum
ieee80211_packet_rx_flags(9) - enum
ieee80211_rx_flags(9) - struct
ieee80211_if_ocb(9) - struct
ieee80211_mesh_sync_ops(9) - struct
mesh_table(9) - struct
mesh_tx_cache(9) - enum
ieee80211_sub_if_data_flags(9) - enum
ieee80211_sdata_state_bits(9) - enum
ieee80211_chanctx_mode(9) - enum
ieee80211_chanctx_replace_state(9) - struct
txq_info(9) - struct
ieee80211_if_nan(9) - struct
ieee80211_if_nan_data(9) - enum
mac80211_scan_state(9) ieee80211_parse_ch_switch_ie(9)- struct
ieee80211_elems_parse_params(9)
like, the entire mac80211 polycule honestly π go read them all, iykyk π
fr fr though: if you only remember one thing, remember that these flags describe scan state β some of them are set by the driver reporting things back, and a couple of them are about passive scanning and waiting on beacons. don't conflate them, bestie, they're each doing their own little job π
and that's the page!! π¦ sign-off time: this lil beauty lives in ./net/mac80211, it's dated October 2026, and you can call it enum mac80211_scan_flags(9) anytime you need it. periodt πβ
π¦ 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