1. NAME

struct_wireless_dev - wireless device state

2. SYNOPSIS



 
Sélectionnez
struct wireless_dev {
  struct wiphy * wiphy;
  enum nl80211_iftype iftype;
  struct list_head list;
  struct net_device * netdev;
  u32 identifier;
  struct list_head mgmt_registrations;
  spinlock_t mgmt_registrations_lock;
  struct mutex mtx;
  struct work_struct cleanup_work;
  bool use_4addr;
  bool p2p_started;
  u8 address[ETH_ALEN];
  u8 ssid[IEEE80211_MAX_SSID_LEN];
  u8 ssid_len;
  u8 mesh_id_len;
  u8 mesh_id_up_len;
  enum wext;
#endif
};

3. MEMBERS

wiphy
    pointer to hardware description

iftype
    interface type

list
    (private) Used to collect the interfaces

netdev
    (private) Used to reference back to the netdev, may be NULL

identifier
    (private) Identifier used in nl80211 to identify this wireless device if it has no netdev

mgmt_registrations
    list of registrations for management frames

mgmt_registrations_lock
    lock for the list

mtx
    mutex used to lock data in this struct

cleanup_work
    work struct used for cleanup that canAqt be done directly

use_4addr
    indicates 4addr mode is used on this interface, must be set by driver (if supported) on add_interface BEFORE registering the netdev and may otherwise be used by driver read-only, will be update by cfg80211 on change_interface

p2p_started
    true if this is a P2P Device that has been started

address[ETH_ALEN]
    The address for this device, valid only if netdev is NULL

ssid[IEEE80211_MAX_SSID_LEN]
    (private) Used by the internal configuration code

ssid_len
    (private) Used by the internal configuration code

mesh_id_len
    (private) Used by the internal configuration code

mesh_id_up_len
    (private) Used by the internal configuration code

wext
    (private) Used by the internal wireless extensions compat code

4. DESCRIPTION

For netdevs, this structure must be allocated by the driver that uses the ieee80211_ptr field in struct net_device (this is intentional so it can be allocated along with the netdev.) It need not be registered then as netdev registration will be intercepted by cfg80211 to see the new wireless device.

For non-netdev uses, it must also be allocated by the driver in response to the cfg80211 callbacks that require it, as thereAqs no netdev registration in that case it may not be allocated outside of callback operations that return it.

5. AUTHOR

Johannes Berg <>
    Author.

6. COPYRIGHT