STRUCT WIPHY
Section: Device registration (9)
Updated: February 2011
Index
Return to Main Contents
 
NAME
struct_wiphy - wireless hardware description
 
SYNOPSIS
struct wiphy {
  u8 perm_addr[ETH_ALEN];
  u8 addr_mask[ETH_ALEN];
  struct mac_address * addresses;
  const struct ieee80211_txrx_stypes * mgmt_stypes;
  u16 n_addresses;
  u16 interface_modes;
  u32 flags;
  enum cfg80211_signal_type signal_type;
  int bss_priv_size;
  u8 max_scan_ssids;
  u16 max_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;
  u8 max_num_pmkids;
  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;
  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
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_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
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
max_num_pmkids
- 
maximum number of PMKIDs supported by device
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
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
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