other versions
- wheezy 3.2.78-1
STRUCT WIPHY(9) | Device registration | STRUCT WIPHY(9) |
NAME¶
struct_wiphy - wireless hardware descriptionSYNOPSIS¶
struct wiphy { u8 perm_addr[ETH_ALEN]; u8 addr_mask[ETH_ALEN]; struct mac_address * addresses; const struct ieee80211_txrx_stypes * mgmt_stypes; const struct ieee80211_iface_combination * iface_combinations; int n_iface_combinations; u16 software_iftypes; u16 n_addresses; u16 interface_modes; u32 flags; enum cfg80211_signal_type signal_type; int bss_priv_size; u8 max_scan_ssids; u8 max_sched_scan_ssids; u8 max_match_sets; u16 max_scan_ie_len; u16 max_sched_scan_ie_len; int n_cipher_suites; const u32 * cipher_suites; u8 retry_short; u8 retry_long; u32 frag_threshold; u32 rts_threshold; u8 coverage_class; char fw_version[ETHTOOL_BUSINFO_LEN]; u32 hw_version; struct wiphy_wowlan_support wowlan; u16 max_remain_on_channel_duration; u8 max_num_pmkids; u32 available_antennas_tx; u32 available_antennas_rx; const void * privid; struct ieee80211_supported_band * bands[IEEE80211_NUM_BANDS]; int (* reg_notifier) (struct wiphy *wiphy,struct regulatory_request *request); const struct ieee80211_regdomain * regd; struct device dev; bool registered; struct dentry * debugfsdir; #ifdef CONFIG_NET_NS struct net * _net; #endif #ifdef CONFIG_CFG80211_WEXT const struct iw_handler_def * wext; #endif char priv[0] __attribute__((__aligned__(NETDEV_ALIGN))); };
MEMBERS¶
perm_addr[ETH_ALEN]permanent MAC address of this device
addr_mask[ETH_ALEN]
If the device supports multiple MAC addresses
by masking, set this to a mask with variable bits set to 1, e.g. if the
last
addresses
If the device has more than one address, set
this pointer to a list of addresses (6 bytes each). The first one will be used
by default for perm_addr. In this case, the mask should be set to all-zeroes.
In this case it is assumed that the device can handle the same number of
arbitrary MAC addresses.
mgmt_stypes
bitmasks of frame subtypes that can be
subscribed to or transmitted through nl80211, points to an array indexed by
interface type
iface_combinations
Valid interface combinations array, should not
list single interface types.
n_iface_combinations
number of entries in iface_combinations
array.
software_iftypes
bitmask of software interface types, these are
not subject to any restrictions since they are purely managed in SW.
n_addresses
number of addresses in addresses.
interface_modes
bitmask of interfaces types valid for this
wiphy, must be set by driver
flags
wiphy flags, see enum wiphy_flags
signal_type
signal type reported in struct
cfg80211_bss.
bss_priv_size
each BSS struct has private data allocated
with it, this variable determines its size
max_scan_ssids
maximum number of SSIDs the device can scan
for in any given scan
max_sched_scan_ssids
maximum number of SSIDs the device can scan
for in any given scheduled scan
max_match_sets
maximum number of match sets the device can
handle when performing a scheduled scan, 0 if filtering is not
supported.
max_scan_ie_len
maximum length of user-controlled IEs device
can add to probe request frames transmitted during a scan, must not include
fixed IEs like supported rates
max_sched_scan_ie_len
same as max_scan_ie_len, but for scheduled
scans
n_cipher_suites
number of supported cipher suites
cipher_suites
supported cipher suites
retry_short
Retry limit for short frames
(dot11ShortRetryLimit)
retry_long
Retry limit for long frames
(dot11LongRetryLimit)
frag_threshold
Fragmentation threshold
(dot11FragmentationThreshold); -1 = fragmentation disabled, only odd values
>= 256 used
rts_threshold
RTS threshold (dot11RTSThreshold); -1 =
RTS/CTS disabled
coverage_class
current coverage class
fw_version[ETHTOOL_BUSINFO_LEN]
firmware version for ethtool reporting
hw_version
hardware version for ethtool reporting
wowlan
WoWLAN support information
max_remain_on_channel_duration
Maximum time a remain-on-channel operation may
request, if implemented.
max_num_pmkids
maximum number of PMKIDs supported by
device
available_antennas_tx
bitmap of antennas which are available to be
configured as TX antennas. Antenna configuration commands will be rejected
unless this or available_antennas_rx is set.
available_antennas_rx
bitmap of antennas which are available to be
configured as RX antennas. Antenna configuration commands will be rejected
unless this or available_antennas_tx is set.
privid
a pointer that drivers can use to identify if
an arbitrary wiphy is theirs, e.g. in global notifiers
bands[IEEE80211_NUM_BANDS]
information about bands/channels supported by
this device
reg_notifier
the driver's regulatory notification callback,
note that if your driver uses wiphy_apply_custom_regulatory the
reg_notifier's request can be passed as NULL
regd
the driver's regulatory domain, if one was
requested via the regulatory_hint API. This can be used by the driver
on the reg_notifier if it chooses to ignore future regulatory domain
changes caused by other drivers.
dev
(virtual) struct device for this wiphy
registered
helps synchronize suspend/resume with wiphy
unregister
debugfsdir
debugfs directory used for this wiphy, will be
renamed automatically on wiphy renames
_net
the network namespace this wiphy currently
lives in
wext
wireless extension handlers
priv[0] __attribute__((__aligned__(NETDEV_ALIGN)))
driver private data (sized according to
wiphy_new parameter)
FOUR BITS ARE VARIABLE THEN SET IT TO 00¶
...:00:0f. The actual variable bits shall be determined by the interfaces added, with interfaces not matching the mask being rejected to be brought up.AUTHOR¶
Johannes Berg <johannes@sipsolutions.net>Author.
COPYRIGHT¶
March 2016 | Kernel Hackers Manual 3.2. |