drivers/staging/rtl8723bs/include/wlan_bssdef.h

Source file repositories/reference/linux-study-clean/drivers/staging/rtl8723bs/include/wlan_bssdef.h

File Facts

System
Linux kernel
Corpus path
drivers/staging/rtl8723bs/include/wlan_bssdef.h
Extension
.h
Size
6098 bytes
Lines
216
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 ndis_802_11_ssid {
	u32  ssid_length;
	u8  ssid[32];
};

enum ndis_802_11_network_type {
	Ndis802_11FH,
	Ndis802_11DS,
	Ndis802_11OFDM5,
	Ndis802_11OFDM24,
	Ndis802_11NetworkTypeMax    /*  not a real type, defined as an upper bound */
};

/*
	FW will only save the channel number in DSConfig.
	ODI Handler will convert the channel number to freq. number.
*/
struct ndis_802_11_conf {
	u32 length;             /*  Length of structure */
	u32 beacon_period;       /*  units are Kusec */
	u32 atim_window;         /*  units are Kusec */
	u32 ds_config;           /*  Frequency, units are kHz */
};

enum ndis_802_11_network_infrastructure {
	Ndis802_11IBSS,
	Ndis802_11Infrastructure,
	Ndis802_11AutoUnknown,
	Ndis802_11InfrastructureMax,     /*  Not a real value, defined as upper bound */
	Ndis802_11APMode,
};

struct ndis_802_11_fix_ie {
	u8  time_stamp[8];
	u16  beacon_interval;
	u16  capabilities;
};

struct ndis_80211_var_ie {
	u8  element_id;
	u8  length;
	u8  data[];
};

/* Length is the 4 bytes multiples of the sum of
 * ETH_ALEN + 2 +
 * sizeof (struct ndis_802_11_ssid) + sizeof (u32) +
 * sizeof (long) + sizeof (enum ndis_802_11_network_type) +
 * sizeof (struct ndis_802_11_conf) + sizeof (NDIS_802_11_RATES_EX) + ie_length
 *
 * Except for ie_length, all other fields are fixed length. Therefore, we can
 * define a macro to present the partial sum.
 */
enum ndis_802_11_authentication_mode {
	Ndis802_11AuthModeOpen,
	Ndis802_11AuthModeShared,
	Ndis802_11AuthModeAutoSwitch,
	Ndis802_11AuthModeWPA,
	Ndis802_11AuthModeWPAPSK,
	Ndis802_11AuthModeWPANone,
	Ndis802_11AuthModeWAPI,
	Ndis802_11AuthModeMax   /*  Not a real mode, defined as upper bound */
};

enum {
	Ndis802_11WEPEnabled,
	Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,
	Ndis802_11WEPDisabled,
	Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled,
	Ndis802_11WEPKeyAbsent,
	Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent,
	Ndis802_11WEPNotSupported,
	Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported,
	Ndis802_11Encryption2Enabled,
	Ndis802_11Encryption2KeyAbsent,
	Ndis802_11Encryption3Enabled,
	Ndis802_11Encryption3KeyAbsent,
	Ndis802_11_EncrypteionWAPI
};

#define NDIS_802_11_AI_REQFI_CAPABILITIES      1
#define NDIS_802_11_AI_REQFI_LISTENINTERVAL    2
#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS  4

#define NDIS_802_11_AI_RESFI_CAPABILITIES      1
#define NDIS_802_11_AI_RESFI_STATUSCODE        2
#define NDIS_802_11_AI_RESFI_ASSOCIATIONID     4

/*  Key mapping keys require a BSSID */

Annotation

Implementation Notes