drivers/net/wireless/quantenna/qtnfmac/qlink.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/quantenna/qtnfmac/qlink.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/quantenna/qtnfmac/qlink.h- Extension
.h- Size
- 52355 bytes
- Lines
- 1892
- 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/ieee80211.h
Detected Declarations
struct qlink_msg_headerstruct qlink_intf_infostruct qlink_channelstruct qlink_chandefstruct qlink_auth_encrstruct qlink_sta_info_statestruct qlink_sr_paramsstruct qlink_cmdstruct qlink_cmd_init_fwstruct qlink_cmd_manage_intfstruct qlink_cmd_mgmt_frame_registerstruct qlink_cmd_frame_txstruct qlink_cmd_get_sta_infostruct qlink_cmd_add_keystruct qlink_cmd_del_keystruct qlink_cmd_set_def_keystruct qlink_cmd_set_def_mgmt_keystruct qlink_cmd_change_stastruct qlink_cmd_del_stastruct qlink_cmd_connectstruct qlink_cmd_external_authstruct qlink_cmd_disconnectstruct qlink_cmd_updownstruct qlink_cmd_band_info_getstruct qlink_cmd_get_chan_statsstruct qlink_cmd_reg_notifystruct qlink_cmd_chan_switchstruct qlink_cmd_start_apstruct qlink_cmd_start_cacstruct qlink_mac_addressstruct qlink_acl_datastruct qlink_cmd_pm_setstruct qlink_cmd_txpwrstruct qlink_cmd_wowlan_setstruct qlink_cmd_ndev_eventstruct qlink_cmd_ndev_changeupperstruct qlink_cmd_scanstruct qlink_cmd_update_owestruct qlink_respstruct qlink_resp_init_fwstruct qlink_resp_get_mac_infostruct qlink_resp_get_hw_infostruct qlink_resp_manage_intfstruct qlink_resp_get_sta_infostruct qlink_resp_band_info_getstruct qlink_resp_get_chan_statsstruct qlink_resp_channel_getstruct qlink_resp_txpwr
Annotated Snippet
struct qlink_msg_header {
__le16 type;
__le16 len;
} __packed;
/* Generic definitions of data and information carried in QLINK messages
*/
/**
* enum qlink_hw_capab - device capabilities.
*
* @QLINK_HW_CAPAB_REG_UPDATE: device can update it's regulatory region.
* @QLINK_HW_CAPAB_STA_INACT_TIMEOUT: device implements a logic to kick-out
* associated STAs due to inactivity. Inactivity timeout period is taken
* from QLINK_CMD_START_AP parameters.
* @QLINK_HW_CAPAB_DFS_OFFLOAD: device implements DFS offload functionality
* @QLINK_HW_CAPAB_SCAN_RANDOM_MAC_ADDR: device supports MAC Address
* Randomization in probe requests.
* @QLINK_HW_CAPAB_OBSS_SCAN: device can perform OBSS scanning.
* @QLINK_HW_CAPAB_HW_BRIDGE: device has hardware switch capabilities.
*/
enum qlink_hw_capab {
QLINK_HW_CAPAB_REG_UPDATE = 0,
QLINK_HW_CAPAB_STA_INACT_TIMEOUT,
QLINK_HW_CAPAB_DFS_OFFLOAD,
QLINK_HW_CAPAB_SCAN_RANDOM_MAC_ADDR,
QLINK_HW_CAPAB_PWR_MGMT,
QLINK_HW_CAPAB_OBSS_SCAN,
QLINK_HW_CAPAB_SCAN_DWELL,
QLINK_HW_CAPAB_SAE,
QLINK_HW_CAPAB_HW_BRIDGE,
QLINK_HW_CAPAB_NUM
};
/**
* enum qlink_driver_capab - host driver capabilities.
*
*/
enum qlink_driver_capab {
QLINK_DRV_CAPAB_NUM = 0
};
enum qlink_iface_type {
QLINK_IFTYPE_AP = 1,
QLINK_IFTYPE_STATION = 2,
QLINK_IFTYPE_ADHOC = 3,
QLINK_IFTYPE_MONITOR = 4,
QLINK_IFTYPE_WDS = 5,
QLINK_IFTYPE_AP_VLAN = 6,
};
/**
* struct qlink_intf_info - information on virtual interface.
*
* Data describing a single virtual interface.
*
* @if_type: Mode of interface operation, one of &enum qlink_iface_type
* @vlanid: VLAN ID for AP_VLAN interface type
* @mac_addr: MAC address of virtual interface.
*/
struct qlink_intf_info {
__le16 if_type;
__le16 vlanid;
u8 mac_addr[ETH_ALEN];
u8 use4addr;
u8 rsvd[1];
} __packed;
enum qlink_sta_flags {
QLINK_STA_FLAG_INVALID = 0,
QLINK_STA_FLAG_AUTHORIZED = BIT(0),
QLINK_STA_FLAG_SHORT_PREAMBLE = BIT(1),
QLINK_STA_FLAG_WME = BIT(2),
QLINK_STA_FLAG_MFP = BIT(3),
QLINK_STA_FLAG_AUTHENTICATED = BIT(4),
QLINK_STA_FLAG_TDLS_PEER = BIT(5),
QLINK_STA_FLAG_ASSOCIATED = BIT(6),
};
enum qlink_channel_width {
QLINK_CHAN_WIDTH_5 = 0,
QLINK_CHAN_WIDTH_10,
QLINK_CHAN_WIDTH_20_NOHT,
QLINK_CHAN_WIDTH_20,
QLINK_CHAN_WIDTH_40,
QLINK_CHAN_WIDTH_80,
QLINK_CHAN_WIDTH_80P80,
QLINK_CHAN_WIDTH_160,
};
Annotation
- Immediate include surface: `linux/ieee80211.h`.
- Detected declarations: `struct qlink_msg_header`, `struct qlink_intf_info`, `struct qlink_channel`, `struct qlink_chandef`, `struct qlink_auth_encr`, `struct qlink_sta_info_state`, `struct qlink_sr_params`, `struct qlink_cmd`, `struct qlink_cmd_init_fw`, `struct qlink_cmd_manage_intf`.
- 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.