drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h- Extension
.h- Size
- 35677 bytes
- Lines
- 1240
- Domain
- Driver Families
- Bucket
- drivers/net
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/if_ether.h
Detected Declarations
struct brcmf_fil_p2p_if_lestruct brcmf_fil_chan_info_lestruct brcmf_fil_action_frame_lestruct brcmf_fil_af_params_lestruct brcmf_fil_bss_enable_lestruct brcmf_fil_bwcap_lestruct brcmf_tdls_iovar_lestruct brcmf_pkt_filter_pattern_lestruct brcmf_pkt_filter_lestruct brcmf_pkt_filter_enable_lestruct brcmf_bss_info_lestruct brcm_rateset_lestruct brcmf_ssid_lestruct brcmf_ssid8_lestruct brcmf_scan_params_lestruct brcmf_scan_params_v2_lestruct brcmf_scan_resultsstruct brcmf_escan_params_lestruct brcmf_escan_result_lestruct brcmf_assoc_params_lestruct brcmf_join_pref_paramsstruct brcmf_join_paramsstruct brcmf_join_scan_params_lestruct brcmf_ext_join_params_lestruct brcmf_wsec_keystruct brcmf_wsec_key_lestruct brcmf_wsec_pmk_lestruct brcmf_wsec_sae_pwd_lestruct brcmf_scb_val_lestruct brcmf_channel_info_lestruct brcmf_sta_info_lestruct brcmf_chanspec_liststruct brcmf_rx_mgmt_datastruct brcmf_fil_wowl_pattern_lestruct brcmf_mbss_ssid_lestruct brcmf_fil_country_lestruct brcmf_rev_info_lestruct brcmf_wlc_version_lestruct brcmf_assoclist_lestruct brcmf_rssi_bestruct brcmf_rssi_event_lestruct brcmf_wowl_wakeind_lestruct brcmf_pmksastruct brcmf_pmksa_v2struct brcmf_pmksa_v3struct brcmf_pmk_list_lestruct brcmf_pmk_list_v2_lestruct brcmf_pmk_op_v3_le
Annotated Snippet
struct brcmf_fil_p2p_if_le {
u8 addr[ETH_ALEN];
__le16 type;
__le16 chspec;
};
struct brcmf_fil_chan_info_le {
__le32 hw_channel;
__le32 target_channel;
__le32 scan_channel;
};
struct brcmf_fil_action_frame_le {
u8 da[ETH_ALEN];
__le16 len;
__le32 packet_id;
u8 data[BRCMF_FIL_ACTION_FRAME_SIZE];
};
struct brcmf_fil_af_params_le {
__le32 channel;
__le32 dwell_time;
u8 bssid[ETH_ALEN];
u8 pad[2];
struct brcmf_fil_action_frame_le action_frame;
};
struct brcmf_fil_bss_enable_le {
__le32 bsscfgidx;
__le32 enable;
};
struct brcmf_fil_bwcap_le {
__le32 band;
__le32 bw_cap;
};
/**
* struct tdls_iovar - common structure for tdls iovars.
*
* @ea: ether address of peer station.
* @mode: mode value depending on specific tdls iovar.
* @chanspec: channel specification.
* @pad: unused (for future use).
*/
struct brcmf_tdls_iovar_le {
u8 ea[ETH_ALEN]; /* Station address */
u8 mode; /* mode: depends on iovar */
__le16 chanspec;
__le32 pad; /* future */
};
enum brcmf_tdls_manual_ep_ops {
BRCMF_TDLS_MANUAL_EP_CREATE = 1,
BRCMF_TDLS_MANUAL_EP_DELETE = 3,
BRCMF_TDLS_MANUAL_EP_DISCOVERY = 6
};
/* Pattern matching filter. Specifies an offset within received packets to
* start matching, the pattern to match, the size of the pattern, and a bitmask
* that indicates which bits within the pattern should be matched.
*/
struct brcmf_pkt_filter_pattern_le {
/*
* Offset within received packet to start pattern matching.
* Offset '0' is the first byte of the ethernet header.
*/
__le32 offset;
/* Size of the pattern. Bitmask must be the same size.*/
__le32 size_bytes;
/*
* Variable length mask and pattern data. mask starts at offset 0.
* Pattern immediately follows mask.
*/
u8 mask_and_pattern[1];
};
/* IOVAR "pkt_filter_add" parameter. Used to install packet filters. */
struct brcmf_pkt_filter_le {
__le32 id; /* Unique filter id, specified by app. */
__le32 type; /* Filter type (WL_PKT_FILTER_TYPE_xxx). */
__le32 negate_match; /* Negate the result of filter matches */
union { /* Filter definitions */
struct brcmf_pkt_filter_pattern_le pattern; /* Filter pattern */
} u;
};
/* IOVAR "pkt_filter_enable" parameter. */
struct brcmf_pkt_filter_enable_le {
__le32 id; /* Unique filter id */
Annotation
- Immediate include surface: `linux/if_ether.h`.
- Detected declarations: `struct brcmf_fil_p2p_if_le`, `struct brcmf_fil_chan_info_le`, `struct brcmf_fil_action_frame_le`, `struct brcmf_fil_af_params_le`, `struct brcmf_fil_bss_enable_le`, `struct brcmf_fil_bwcap_le`, `struct brcmf_tdls_iovar_le`, `struct brcmf_pkt_filter_pattern_le`, `struct brcmf_pkt_filter_le`, `struct brcmf_pkt_filter_enable_le`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
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.