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.

Dependency Surface

Detected Declarations

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

Implementation Notes