drivers/staging/rtl8723bs/include/rtw_mlme.h
Source file repositories/reference/linux-study-clean/drivers/staging/rtl8723bs/include/rtw_mlme.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/rtl8723bs/include/rtw_mlme.h- Extension
.h- Size
- 13106 bytes
- Lines
- 399
- Domain
- Driver Families
- Bucket
- drivers/staging
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct sitesurvey_ctrlstruct rt_link_detect_tstruct mlme_privstruct hostapd_privenum rt_scan_typefunction check_fwstatefunction get_fwstatefunction set_fwstatefunction _clr_fwstate_
Annotated Snippet
struct sitesurvey_ctrl {
u64 last_tx_pkts;
uint last_rx_pkts;
signed int traffic_busy;
struct timer_list sitesurvey_ctrl_timer;
};
struct rt_link_detect_t {
u32 num_tx_ok_in_period;
u32 num_rx_ok_in_period;
u32 num_rx_unicast_ok_in_period;
bool busy_traffic;
bool tx_busy_traffic;
bool rx_busy_traffic;
/* For interrupt migration purpose. */
bool higher_busy_traffic;
/* We may disable Tx interrupt according as Rx traffic. */
bool higher_busy_rx_traffic;
/* We may disable Tx interrupt according as Tx traffic. */
bool higher_busy_tx_traffic;
u8 traffic_transition_count;
u32 low_power_transition_count;
};
/* used for mlme_priv.roam_flags */
enum {
RTW_ROAM_ON_EXPIRED = BIT0,
RTW_ROAM_ON_RESUME = BIT1,
RTW_ROAM_ACTIVE = BIT2,
};
struct mlme_priv {
spinlock_t lock;
signed int fw_state; /* shall we protect this variable? maybe not necessarily... */
u8 bScanInProcess;
u8 to_join; /* flag */
u8 to_roam; /* roaming trying times */
struct wlan_network *roam_network; /* the target of active roam */
u8 roam_flags;
u8 roam_rssi_diff_th; /* rssi difference threshold for active scan candidate selection */
u32 roam_scan_int_ms; /* scan interval for active roam */
u32 roam_scanr_exp_ms; /* scan result expire time in ms for roam */
u8 roam_tgt_addr[ETH_ALEN]; /* request to roam to specific target without other consideration */
u8 *nic_hdl;
u8 not_indic_disco;
struct list_head *pscanned;
struct __queue free_bss_pool;
struct __queue scanned_queue;
u8 *free_bss_buf;
struct ndis_802_11_ssid assoc_ssid;
u8 assoc_bssid[6];
struct wlan_network cur_network;
struct wlan_network *cur_network_scanned;
/* uint wireless_mode; no used, remove it */
u32 auto_scan_int_ms;
struct timer_list assoc_timer;
uint assoc_by_bssid;
uint assoc_by_rssi;
struct timer_list scan_to_timer; /* driver itself handles scan_timeout status. */
unsigned long scan_start_time; /* used to evaluate the time spent in scanning */
struct timer_list set_scan_deny_timer;
atomic_t set_scan_deny; /* 0: allowed, 1: deny */
struct qos_priv qospriv;
/* Number of non-HT AP/stations */
int num_sta_no_ht;
/* Number of HT AP/stations 20 MHz */
/* int num_sta_ht_20mhz; */
int num_FortyMHzIntolerant;
struct ht_priv htpriv;
struct rt_link_detect_t link_detect_info;
struct timer_list dynamic_chk_timer; /* dynamic/periodic check timer */
Annotation
- Detected declarations: `struct sitesurvey_ctrl`, `struct rt_link_detect_t`, `struct mlme_priv`, `struct hostapd_priv`, `enum rt_scan_type`, `function check_fwstate`, `function get_fwstate`, `function set_fwstate`, `function _clr_fwstate_`.
- Atlas domain: Driver Families / drivers/staging.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.