1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Chapter&#160;1.&#160;Device registration</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The 802.11 subsystems &#8211; for kernel developers"><link rel="up" href="cfg80211-developers-guide.html" title="The cfg80211 subsystem"><link rel="prev" href="cfg80211-developers-guide.html" title="The cfg80211 subsystem"><link rel="next" href="API-enum-ieee80211-band.html" title="enum ieee80211_band"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;1.&#160;Device registration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="cfg80211-developers-guide.html">Prev</a>&#160;</td><th width="60%" align="center">The cfg80211 subsystem</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-enum-ieee80211-band.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="idp1109532380"></a>Chapter&#160;1.&#160;Device registration</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="refentrytitle"><a href="API-enum-ieee80211-band.html"><span class="phrase">enum ieee80211_band</span></a></span><span class="refpurpose"> &#8212; 
2  supported frequency bands
3 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-channel-flags.html"><span class="phrase">enum ieee80211_channel_flags</span></a></span><span class="refpurpose"> &#8212; 
4  channel flags
5 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-channel.html"><span class="phrase">struct ieee80211_channel</span></a></span><span class="refpurpose"> &#8212; 
6  channel definition
7 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-rate-flags.html"><span class="phrase">enum ieee80211_rate_flags</span></a></span><span class="refpurpose"> &#8212; 
8  rate flags
9 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-rate.html"><span class="phrase">struct ieee80211_rate</span></a></span><span class="refpurpose"> &#8212; 
10  bitrate definition
11 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-sta-ht-cap.html"><span class="phrase">struct ieee80211_sta_ht_cap</span></a></span><span class="refpurpose"> &#8212; 
12  STA's HT capabilities
13 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-supported-band.html"><span class="phrase">struct ieee80211_supported_band</span></a></span><span class="refpurpose"> &#8212; 
14  frequency band definition
15 </span></dt><dt><span class="refentrytitle"><a href="API-enum-cfg80211-signal-type.html"><span class="phrase">enum cfg80211_signal_type</span></a></span><span class="refpurpose"> &#8212; 
16  signal type
17 </span></dt><dt><span class="refentrytitle"><a href="API-enum-wiphy-params-flags.html"><span class="phrase">enum wiphy_params_flags</span></a></span><span class="refpurpose"> &#8212; 
18  set_wiphy_params bitfield values
19 </span></dt><dt><span class="refentrytitle"><a href="API-enum-wiphy-flags.html"><span class="phrase">enum wiphy_flags</span></a></span><span class="refpurpose"> &#8212; 
20  wiphy capability flags
21 </span></dt><dt><span class="refentrytitle"><a href="API-struct-wiphy.html"><span class="phrase">struct wiphy</span></a></span><span class="refpurpose"> &#8212; 
22  wireless hardware description
23 </span></dt><dt><span class="refentrytitle"><a href="API-struct-wireless-dev.html"><span class="phrase">struct wireless_dev</span></a></span><span class="refpurpose"> &#8212; 
24  wireless device state
25 </span></dt><dt><span class="refentrytitle"><a href="API-wiphy-new.html"><span class="phrase">wiphy_new</span></a></span><span class="refpurpose"> &#8212; 
26  create a new wiphy for use with cfg80211
27 </span></dt><dt><span class="refentrytitle"><a href="API-wiphy-register.html"><span class="phrase">wiphy_register</span></a></span><span class="refpurpose"> &#8212; 
28  register a wiphy with cfg80211
29 </span></dt><dt><span class="refentrytitle"><a href="API-wiphy-unregister.html"><span class="phrase">wiphy_unregister</span></a></span><span class="refpurpose"> &#8212; 
30  deregister a wiphy from cfg80211
31 </span></dt><dt><span class="refentrytitle"><a href="API-wiphy-free.html"><span class="phrase">wiphy_free</span></a></span><span class="refpurpose"> &#8212; 
32  free wiphy
33 </span></dt><dt><span class="refentrytitle"><a href="API-wiphy-name.html"><span class="phrase">wiphy_name</span></a></span><span class="refpurpose"> &#8212; 
34  get wiphy name
35 </span></dt><dt><span class="refentrytitle"><a href="API-wiphy-dev.html"><span class="phrase">wiphy_dev</span></a></span><span class="refpurpose"> &#8212; 
36  get wiphy dev pointer
37 </span></dt><dt><span class="refentrytitle"><a href="API-wiphy-priv.html"><span class="phrase">wiphy_priv</span></a></span><span class="refpurpose"> &#8212; 
38  return priv from wiphy
39 </span></dt><dt><span class="refentrytitle"><a href="API-priv-to-wiphy.html"><span class="phrase">priv_to_wiphy</span></a></span><span class="refpurpose"> &#8212; 
40  return the wiphy containing the priv
41 </span></dt><dt><span class="refentrytitle"><a href="API-set-wiphy-dev.html"><span class="phrase">set_wiphy_dev</span></a></span><span class="refpurpose"> &#8212; 
42  set device pointer for wiphy
43 </span></dt><dt><span class="refentrytitle"><a href="API-wdev-priv.html"><span class="phrase">wdev_priv</span></a></span><span class="refpurpose"> &#8212; 
44  return wiphy priv from wireless_dev
45 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-iface-limit.html"><span class="phrase">struct ieee80211_iface_limit</span></a></span><span class="refpurpose"> &#8212; 
46  limit on certain interface types
47 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-iface-combination.html"><span class="phrase">struct ieee80211_iface_combination</span></a></span><span class="refpurpose"> &#8212; 
48  possible interface combination
49 </span></dt><dt><span class="refentrytitle"><a href="API-cfg80211-check-combinations.html"><span class="phrase">cfg80211_check_combinations</span></a></span><span class="refpurpose"> &#8212; 
50  check interface combinations
51 </span></dt></dl></div><p>
52   </p><p>
53   In order for a driver to use cfg80211, it must register the hardware device
54   with cfg80211. This happens through a number of hardware capability structs
55   described below.
56   </p><p>
57   The fundamental structure for each device is the 'wiphy', of which each
58   instance describes a physical wireless device connected to the system. Each
59   such wiphy can have zero, one, or many virtual interfaces associated with
60   it, which need to be identified as such by pointing the network interface's
61   <em class="parameter"><code>ieee80211_ptr</code></em> pointer to a <span class="structname">struct wireless_dev</span> which further describes
62   the wireless part of the interface, normally this struct is embedded in the
63   network interface's private data area. Drivers can optionally allow creating
64   or destroying virtual interfaces on the fly, but without at least one or the
65   ability to create some the wireless device isn't useful.
66   </p><p>
67   Each wiphy structure contains device capability information, and also has
68   a pointer to the various operations the driver offers. The definitions and
69   structures here describe these capabilities in detail.
70</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="cfg80211-developers-guide.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="cfg80211-developers-guide.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-enum-ieee80211-band.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">The cfg80211 subsystem&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">enum ieee80211_band</span></td></tr></table></div></body></html>
71