Sophie

Sophie

distrib > Fedora > 18 > x86_64 > media > updates > by-pkgid > 1a595394b241504ff370a8d12ebfcea7 > files > 424

kernel-doc-3.11.10-100.fc18.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>The mac80211 subsystem</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><meta name="description" content=" mac80211 is the Linux stack for 802.11 hardware that implements only partial functionality in hard- or firmware. This document defines the interface between mac80211 and low-level hardware drivers.  If you're reading this document and not the header file itself, it will be incomplete because not all documentation has been converted yet." /><link rel="home" href="index.html" title="The 802.11 subsystems &#8211; for kernel developers" /><link rel="up" href="index.html" title="The 802.11 subsystems &#8211; for kernel developers" /><link rel="prev" href="API-cfg80211-testmode-event.html" title="cfg80211_testmode_event" /><link rel="next" href="bk02pt01.html" title="Part&#160;I.&#160;The basic mac80211 driver interface" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The mac80211 subsystem</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-cfg80211-testmode-event.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="bk02pt01.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="mac80211-developers-guide"></a>The mac80211 subsystem</h1></div><div><div class="abstract"><p class="title"><strong>Abstract</strong></p><p>
   </p><p>
   mac80211 is the Linux stack for 802.11 hardware that implements
   only partial functionality in hard- or firmware. This document
   defines the interface between mac80211 and low-level hardware
   drivers.
</p><p>
   </p><p>
   If you're reading this document and not the header file itself, it will
   be incomplete because not all documentation has been converted yet.
</p></div></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="part"><a href="bk02pt01.html">I. The basic mac80211 driver interface</a></span></dt><dd><dl><dt><span class="chapter"><a href="basics.html">1. Basic hardware handling</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-struct-ieee80211-hw.html"><span class="phrase">struct ieee80211_hw</span></a></span><span class="refpurpose"> &#8212; 
  hardware information and state
 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-hw-flags.html"><span class="phrase">enum ieee80211_hw_flags</span></a></span><span class="refpurpose"> &#8212; 
  hardware flags
 </span></dt><dt><span class="refentrytitle"><a href="API-SET-IEEE80211-DEV.html"><span class="phrase">SET_IEEE80211_DEV</span></a></span><span class="refpurpose"> &#8212; 
  set device for 802.11 hardware
 </span></dt><dt><span class="refentrytitle"><a href="API-SET-IEEE80211-PERM-ADDR.html"><span class="phrase">SET_IEEE80211_PERM_ADDR</span></a></span><span class="refpurpose"> &#8212; 
  set the permanent MAC address for 802.11 hardware
 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-ops.html"><span class="phrase">struct ieee80211_ops</span></a></span><span class="refpurpose"> &#8212; 
  callbacks from mac80211 to the driver
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-alloc-hw.html"><span class="phrase">ieee80211_alloc_hw</span></a></span><span class="refpurpose"> &#8212; 
  Allocate a new hardware device
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-register-hw.html"><span class="phrase">ieee80211_register_hw</span></a></span><span class="refpurpose"> &#8212; 
  Register hardware device
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-unregister-hw.html"><span class="phrase">ieee80211_unregister_hw</span></a></span><span class="refpurpose"> &#8212; 
  Unregister a hardware device
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-free-hw.html"><span class="phrase">ieee80211_free_hw</span></a></span><span class="refpurpose"> &#8212; 
  free hardware descriptor
 </span></dt></dl></dd><dt><span class="chapter"><a href="phy-handling.html">2. PHY configuration</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-struct-ieee80211-conf.html"><span class="phrase">struct ieee80211_conf</span></a></span><span class="refpurpose"> &#8212; 
  configuration of the device
 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-conf-flags.html"><span class="phrase">enum ieee80211_conf_flags</span></a></span><span class="refpurpose"> &#8212; 
  configuration flags
 </span></dt></dl></dd><dt><span class="chapter"><a href="iface-handling.html">3. Virtual interfaces</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-struct-ieee80211-vif.html"><span class="phrase">struct ieee80211_vif</span></a></span><span class="refpurpose"> &#8212; 
  per-interface data
 </span></dt></dl></dd><dt><span class="chapter"><a href="rx-tx.html">4. Receive and transmit processing</a></span></dt><dd><dl><dt><span class="sect1"><a href="rx-tx.html#idm139754517934032">what should be here</a></span></dt><dt><span class="sect1"><a href="bk02pt01ch04s02.html">Frame format</a></span></dt><dt><span class="sect1"><a href="bk02pt01ch04s03.html">Packet alignment</a></span></dt><dt><span class="sect1"><a href="bk02pt01ch04s04.html">Calling into mac80211 from interrupts</a></span></dt><dt><span class="sect1"><a href="bk02pt01ch04s05.html">functions/definitions</a></span></dt></dl></dd><dt><span class="chapter"><a href="filters.html">5. Frame filtering</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-enum-ieee80211-filter-flags.html"><span class="phrase">enum ieee80211_filter_flags</span></a></span><span class="refpurpose"> &#8212; 
  hardware filter flags
 </span></dt></dl></dd><dt><span class="chapter"><a href="workqueue.html">6. The mac80211 workqueue</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-ieee80211-queue-work.html"><span class="phrase">ieee80211_queue_work</span></a></span><span class="refpurpose"> &#8212; 
  add work onto the mac80211 workqueue
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-queue-delayed-work.html"><span class="phrase">ieee80211_queue_delayed_work</span></a></span><span class="refpurpose"> &#8212; 
  add work onto the mac80211 workqueue
 </span></dt></dl></dd></dl></dd><dt><span class="part"><a href="advanced.html">II. Advanced driver interface</a></span></dt><dd><dl><dt><span class="chapter"><a href="led-support.html">7. LED support</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-ieee80211-get-tx-led-name.html"><span class="phrase">ieee80211_get_tx_led_name</span></a></span><span class="refpurpose"> &#8212; 
  get name of TX LED
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-get-rx-led-name.html"><span class="phrase">ieee80211_get_rx_led_name</span></a></span><span class="refpurpose"> &#8212; 
  get name of RX LED
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-get-assoc-led-name.html"><span class="phrase">ieee80211_get_assoc_led_name</span></a></span><span class="refpurpose"> &#8212; 
  get name of association LED
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-get-radio-led-name.html"><span class="phrase">ieee80211_get_radio_led_name</span></a></span><span class="refpurpose"> &#8212; 
  get name of radio LED
 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-tpt-blink.html"><span class="phrase">struct ieee80211_tpt_blink</span></a></span><span class="refpurpose"> &#8212; 
  throughput blink description
 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-tpt-led-trigger-flags.html"><span class="phrase">enum ieee80211_tpt_led_trigger_flags</span></a></span><span class="refpurpose"> &#8212; 
  throughput trigger flags
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-create-tpt-led-trigger.html"><span class="phrase">ieee80211_create_tpt_led_trigger</span></a></span><span class="refpurpose"> &#8212; 
  create throughput LED trigger
 </span></dt></dl></dd><dt><span class="chapter"><a href="hardware-crypto-offload.html">8. Hardware crypto acceleration</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-enum-set-key-cmd.html"><span class="phrase">enum set_key_cmd</span></a></span><span class="refpurpose"> &#8212; 
  key command
 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-key-conf.html"><span class="phrase">struct ieee80211_key_conf</span></a></span><span class="refpurpose"> &#8212; 
  key information
 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-key-flags.html"><span class="phrase">enum ieee80211_key_flags</span></a></span><span class="refpurpose"> &#8212; 
  key flags
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-get-tkip-p1k.html"><span class="phrase">ieee80211_get_tkip_p1k</span></a></span><span class="refpurpose"> &#8212; 
  get a TKIP phase 1 key
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-get-tkip-p1k-iv.html"><span class="phrase">ieee80211_get_tkip_p1k_iv</span></a></span><span class="refpurpose"> &#8212; 
  get a TKIP phase 1 key for IV32
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-get-tkip-p2k.html"><span class="phrase">ieee80211_get_tkip_p2k</span></a></span><span class="refpurpose"> &#8212; 
  get a TKIP phase 2 key
 </span></dt></dl></dd><dt><span class="chapter"><a href="powersave.html">9. Powersave support</a></span></dt><dt><span class="chapter"><a href="beacon-filter.html">10. Beacon filter support</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-ieee80211-beacon-loss.html"><span class="phrase">ieee80211_beacon_loss</span></a></span><span class="refpurpose"> &#8212; 
  inform hardware does not receive beacons
 </span></dt></dl></dd><dt><span class="chapter"><a href="qos.html">11. Multiple queues and QoS support</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-struct-ieee80211-tx-queue-params.html"><span class="phrase">struct ieee80211_tx_queue_params</span></a></span><span class="refpurpose"> &#8212; 
  transmit queue configuration
 </span></dt></dl></dd><dt><span class="chapter"><a href="AP.html">12. Access point mode support</a></span></dt><dd><dl><dt><span class="section"><a href="AP.html#ps-client">support for powersaving clients</a></span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-get-buffered-bc.html"><span class="phrase">ieee80211_get_buffered_bc</span></a></span><span class="refpurpose"> &#8212; 
  accessing buffered broadcast and multicast frames
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-beacon-get.html"><span class="phrase">ieee80211_beacon_get</span></a></span><span class="refpurpose"> &#8212; 
  beacon generation function
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-sta-eosp.html"><span class="phrase">ieee80211_sta_eosp</span></a></span><span class="refpurpose"> &#8212; 
  notify mac80211 about end of SP
 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-frame-release-type.html"><span class="phrase">enum ieee80211_frame_release_type</span></a></span><span class="refpurpose"> &#8212; 
  frame release reason
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-sta-ps-transition.html"><span class="phrase">ieee80211_sta_ps_transition</span></a></span><span class="refpurpose"> &#8212; 
  PS transition for connected sta
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-sta-ps-transition-ni.html"><span class="phrase">ieee80211_sta_ps_transition_ni</span></a></span><span class="refpurpose"> &#8212; 
  PS transition for connected sta (in process context)
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-sta-set-buffered.html"><span class="phrase">ieee80211_sta_set_buffered</span></a></span><span class="refpurpose"> &#8212; 
  inform mac80211 about driver-buffered frames
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-sta-block-awake.html"><span class="phrase">ieee80211_sta_block_awake</span></a></span><span class="refpurpose"> &#8212; 
  block station from waking up
 </span></dt></dl></dd><dt><span class="chapter"><a href="multi-iface.html">13. Supporting multiple virtual interfaces</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-ieee80211-iterate-active-interfaces.html"><span class="phrase">ieee80211_iterate_active_interfaces</span></a></span><span class="refpurpose"> &#8212; 
  iterate active interfaces
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-iterate-active-interfaces-atomic.html"><span class="phrase">ieee80211_iterate_active_interfaces_atomic</span></a></span><span class="refpurpose"> &#8212; 
  iterate active interfaces
 </span></dt></dl></dd><dt><span class="chapter"><a href="station-handling.html">14. Station handling</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-struct-ieee80211-sta.html"><span class="phrase">struct ieee80211_sta</span></a></span><span class="refpurpose"> &#8212; 
  station table entry
 </span></dt><dt><span class="refentrytitle"><a href="API-enum-sta-notify-cmd.html"><span class="phrase">enum sta_notify_cmd</span></a></span><span class="refpurpose"> &#8212; 
  sta notify command
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-find-sta.html"><span class="phrase">ieee80211_find_sta</span></a></span><span class="refpurpose"> &#8212; 
  find a station
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-find-sta-by-ifaddr.html"><span class="phrase">ieee80211_find_sta_by_ifaddr</span></a></span><span class="refpurpose"> &#8212; 
  find a station on hardware
 </span></dt></dl></dd><dt><span class="chapter"><a href="hardware-scan-offload.html">15. Hardware scan offload</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-ieee80211-scan-completed.html"><span class="phrase">ieee80211_scan_completed</span></a></span><span class="refpurpose"> &#8212; 
  completed hardware scan
 </span></dt></dl></dd><dt><span class="chapter"><a href="aggregation.html">16. Aggregation</a></span></dt><dd><dl><dt><span class="sect1"><a href="aggregation.html#idm139754516603776">TX A-MPDU aggregation</a></span></dt><dt><span class="sect1"><a href="bk02pt02ch16s02.html">RX A-MPDU aggregation</a></span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-ampdu-mlme-action.html"><span class="phrase">enum ieee80211_ampdu_mlme_action</span></a></span><span class="refpurpose"> &#8212; 
  A-MPDU actions
 </span></dt></dl></dd><dt><span class="chapter"><a href="smps.html">17. Spatial Multiplexing Powersave (SMPS)</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-ieee80211-request-smps.html"><span class="phrase">ieee80211_request_smps</span></a></span><span class="refpurpose"> &#8212; 
  request SM PS transition
 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-smps-mode.html"><span class="phrase">enum ieee80211_smps_mode</span></a></span><span class="refpurpose"> &#8212; 
  spatial multiplexing power save mode
 </span></dt></dl></dd></dl></dd><dt><span class="part"><a href="rate-control.html">III. Rate control interface</a></span></dt><dd><dl><dt><span class="chapter"><a href="ratecontrol-api.html">18. Rate Control API</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-ieee80211-start-tx-ba-session.html"><span class="phrase">ieee80211_start_tx_ba_session</span></a></span><span class="refpurpose"> &#8212; 
  Start a tx Block Ack session.
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-start-tx-ba-cb-irqsafe.html"><span class="phrase">ieee80211_start_tx_ba_cb_irqsafe</span></a></span><span class="refpurpose"> &#8212; 
  low level driver ready to aggregate.
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-stop-tx-ba-session.html"><span class="phrase">ieee80211_stop_tx_ba_session</span></a></span><span class="refpurpose"> &#8212; 
  Stop a Block Ack session.
 </span></dt><dt><span class="refentrytitle"><a href="API-ieee80211-stop-tx-ba-cb-irqsafe.html"><span class="phrase">ieee80211_stop_tx_ba_cb_irqsafe</span></a></span><span class="refpurpose"> &#8212; 
  low level driver ready to stop aggregate.
 </span></dt><dt><span class="refentrytitle"><a href="API-enum-ieee80211-rate-control-changed.html"><span class="phrase">enum ieee80211_rate_control_changed</span></a></span><span class="refpurpose"> &#8212; 
  flags to indicate what changed
 </span></dt><dt><span class="refentrytitle"><a href="API-struct-ieee80211-tx-rate-control.html"><span class="phrase">struct ieee80211_tx_rate_control</span></a></span><span class="refpurpose"> &#8212; 
  rate control information for/from RC algo
 </span></dt><dt><span class="refentrytitle"><a href="API-rate-control-send-low.html"><span class="phrase">rate_control_send_low</span></a></span><span class="refpurpose"> &#8212; 
  helper for drivers for management/no-ack frames
 </span></dt></dl></dd></dl></dd><dt><span class="part"><a href="internal.html">IV. Internals</a></span></dt><dd><dl><dt><span class="chapter"><a href="key-handling.html">19. Key handling</a></span></dt><dd><dl><dt><span class="sect1"><a href="key-handling.html#idm139754516378928">Key handling basics</a></span></dt><dt><span class="sect1"><a href="bk02pt04ch19s02.html">MORE TBD</a></span></dt></dl></dd><dt><span class="chapter"><a href="rx-processing.html">20. Receive processing</a></span></dt><dt><span class="chapter"><a href="tx-processing.html">21. Transmit processing</a></span></dt><dt><span class="chapter"><a href="sta-info.html">22. Station info handling</a></span></dt><dd><dl><dt><span class="sect1"><a href="sta-info.html#idm139754516369232">Programming information</a></span></dt><dt><span class="sect1"><a href="bk02pt04ch22s02.html">STA information lifetime rules</a></span></dt></dl></dd><dt><span class="chapter"><a href="aggregation-internals.html">23. Aggregation</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="API-struct-sta-ampdu-mlme.html"><span class="phrase">struct sta_ampdu_mlme</span></a></span><span class="refpurpose"> &#8212; 
  STA aggregation information.
 </span></dt><dt><span class="refentrytitle"><a href="API-struct-tid-ampdu-tx.html"><span class="phrase">struct tid_ampdu_tx</span></a></span><span class="refpurpose"> &#8212; 
  TID aggregation information (Tx).
 </span></dt><dt><span class="refentrytitle"><a href="API-struct-tid-ampdu-rx.html"><span class="phrase">struct tid_ampdu_rx</span></a></span><span class="refpurpose"> &#8212; 
  TID aggregation information (Rx).
 </span></dt></dl></dd><dt><span class="chapter"><a href="synchronisation.html">24. Synchronisation</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-cfg80211-testmode-event.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="bk02pt01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">cfg80211_testmode_event</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;Part&#160;I.&#160;The basic mac80211 driver interface</td></tr></table></div></body></html>