<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
	"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>

<book id="mac80211-developers-guide">
  <bookinfo>
    <title>The mac80211 subsystem for kernel developers</title>

    <authorgroup>
      <author>
        <firstname>Johannes</firstname>
        <surname>Berg</surname>
        <affiliation>
          <address><email>johannes@sipsolutions.net</email></address>
        </affiliation>
      </author>
    </authorgroup>

    <copyright>
      <year>2007-2009</year>
      <holder>Johannes Berg</holder>
    </copyright>

    <legalnotice>
      <para>
        This documentation is free software; you can redistribute
        it and/or modify it under the terms of the GNU General Public
        License version 2 as published by the Free Software Foundation.
      </para>

      <para>
        This documentation is distributed in the hope that it will be
        useful, but WITHOUT ANY WARRANTY; without even the implied
        warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
        See the GNU General Public License for more details.
      </para>

      <para>
        You should have received a copy of the GNU General Public
        License along with this documentation; if not, write to the Free
        Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
        MA 02111-1307 USA
      </para>

      <para>
        For more details see the file COPYING in the source
        distribution of Linux.
      </para>
    </legalnotice>

    <abstract>
!Pinclude/net/mac80211.h Introduction
!Pinclude/net/mac80211.h Warning
    </abstract>
  </bookinfo>

  <toc></toc>

<!--
Generally, this document shall be ordered by increasing complexity.
It is important to note that readers should be able to read only
the first few sections to get a working driver and only advanced
usage should require reading the full document.
-->

  <part>
    <title>The basic mac80211 driver interface</title>
    <partintro>
      <para>
        You should read and understand the information contained
        within this part of the book while implementing a driver.
        In some chapters, advanced usage is noted, that may be
        skipped at first.
      </para>
      <para>
        This part of the book only covers station and monitor mode
        functionality, additional information required to implement
        the other modes is covered in the second part of the book.
      </para>
    </partintro>

    <chapter id="basics">
      <title>Basic hardware handling</title>
      <para>TBD</para>
      <para>
        This chapter shall contain information on getting a hw
        struct allocated and registered with mac80211.
      </para>
      <para>
        Since it is required to allocate rates/modes before registering
        a hw struct, this chapter shall also contain information on setting
        up the rate/mode structs.
      </para>
      <para>
        Additionally, some discussion about the callbacks and
        the general programming model should be in here, including
        the definition of ieee80211_ops which will be referred to
        a lot.
      </para>
      <para>
        Finally, a discussion of hardware capabilities should be done
        with references to other parts of the book.
      </para>
<!-- intentionally multiple !F lines to get proper order -->
!Finclude/net/mac80211.h ieee80211_hw
!Finclude/net/mac80211.h ieee80211_hw_flags
!Finclude/net/mac80211.h SET_IEEE80211_DEV
!Finclude/net/mac80211.h SET_IEEE80211_PERM_ADDR
!Finclude/net/mac80211.h ieee80211_ops
!Finclude/net/mac80211.h ieee80211_alloc_hw
!Finclude/net/mac80211.h ieee80211_register_hw
!Finclude/net/mac80211.h ieee80211_get_tx_led_name
!Finclude/net/mac80211.h ieee80211_get_rx_led_name
!Finclude/net/mac80211.h ieee80211_get_assoc_led_name
!Finclude/net/mac80211.h ieee80211_get_radio_led_name
!Finclude/net/mac80211.h ieee80211_unregister_hw
!Finclude/net/mac80211.h ieee80211_free_hw
    </chapter>

    <chapter id="phy-handling">
      <title>PHY configuration</title>
      <para>TBD</para>
      <para>
        This chapter should describe PHY handling including
        start/stop callbacks and the various structures used.
      </para>
!Finclude/net/mac80211.h ieee80211_conf
!Finclude/net/mac80211.h ieee80211_conf_flags
    </chapter>

    <chapter id="iface-handling">
      <title>Virtual interfaces</title>
      <para>TBD</para>
      <para>
        This chapter should describe virtual interface basics
        that are relevant to the driver (VLANs, MGMT etc are not.)
        It should explain the use of the add_iface/remove_iface
        callbacks as well as the interface configuration callbacks.
      </para>
      <para>Things related to AP mode should be discussed there.</para>
      <para>
        Things related to supporting multiple interfaces should be
        in the appropriate chapter, a BIG FAT note should be here about
        this though and the recommendation to allow only a single
        interface in STA mode at first!
      </para>
!Finclude/net/mac80211.h ieee80211_vif
    </chapter>

    <chapter id="rx-tx">
      <title>Receive and transmit processing</title>
      <sect1>
        <title>what should be here</title>
        <para>TBD</para>
        <para>
          This should describe the receive and transmit
          paths in mac80211/the drivers as well as
          transmit status handling.
        </para>
      </sect1>
      <sect1>
        <title>Frame format</title>
!Pinclude/net/mac80211.h Frame format
      </sect1>
      <sect1>
        <title>Packet alignment</title>
!Pnet/mac80211/rx.c Packet alignment
      </sect1>
      <sect1>
        <title>Calling into mac80211 from interrupts</title>
!Pinclude/net/mac80211.h Calling mac80211 from interrupts
      </sect1>
      <sect1>
        <title>functions/definitions</title>
!Finclude/net/mac80211.h ieee80211_rx_status
!Finclude/net/mac80211.h mac80211_rx_flags
!Finclude/net/mac80211.h ieee80211_tx_info
!Finclude/net/mac80211.h ieee80211_rx
!Finclude/net/mac80211.h ieee80211_rx_irqsafe
!Finclude/net/mac80211.h ieee80211_tx_status
!Finclude/net/mac80211.h ieee80211_tx_status_irqsafe
!Finclude/net/mac80211.h ieee80211_rts_get
!Finclude/net/mac80211.h ieee80211_rts_duration
!Finclude/net/mac80211.h ieee80211_ctstoself_get
!Finclude/net/mac80211.h ieee80211_ctstoself_duration
!Finclude/net/mac80211.h ieee80211_generic_frame_duration
!Finclude/net/mac80211.h ieee80211_wake_queue
!Finclude/net/mac80211.h ieee80211_stop_queue
!Finclude/net/mac80211.h ieee80211_wake_queues
!Finclude/net/mac80211.h ieee80211_stop_queues
      </sect1>
    </chapter>

    <chapter id="filters">
      <title>Frame filtering</title>
!Pinclude/net/mac80211.h Frame filtering
!Finclude/net/mac80211.h ieee80211_filter_flags
    </chapter>
  </part>

  <part id="advanced">
    <title>Advanced driver interface</title>
    <partintro>
      <para>
       Information contained within this part of the book is
       of interest only for advanced interaction of mac80211
       with drivers to exploit more hardware capabilities and
       improve performance.
      </para>
    </partintro>

    <chapter id="hardware-crypto-offload">
      <title>Hardware crypto acceleration</title>
!Pinclude/net/mac80211.h Hardware crypto acceleration
<!-- intentionally multiple !F lines to get proper order -->
!Finclude/net/mac80211.h set_key_cmd
!Finclude/net/mac80211.h ieee80211_key_conf
!Finclude/net/mac80211.h ieee80211_key_alg
!Finclude/net/mac80211.h ieee80211_key_flags
    </chapter>

    <chapter id="powersave">
      <title>Powersave support</title>
!Pinclude/net/mac80211.h Powersave support
    </chapter>

    <chapter id="beacon-filter">
      <title>Beacon filter support</title>
!Pinclude/net/mac80211.h Beacon filter support
!Finclude/net/mac80211.h ieee80211_beacon_loss
    </chapter>

    <chapter id="qos">
      <title>Multiple queues and QoS support</title>
      <para>TBD</para>
!Finclude/net/mac80211.h ieee80211_tx_queue_params
    </chapter>

    <chapter id="AP">
      <title>Access point mode support</title>
      <para>TBD</para>
      <para>Some parts of the if_conf should be discussed here instead</para>
      <para>
        Insert notes about VLAN interfaces with hw crypto here or
        in the hw crypto chapter.
      </para>
!Finclude/net/mac80211.h ieee80211_get_buffered_bc
!Finclude/net/mac80211.h ieee80211_beacon_get
    </chapter>

    <chapter id="multi-iface">
      <title>Supporting multiple virtual interfaces</title>
      <para>TBD</para>
      <para>
        Note: WDS with identical MAC address should almost always be OK
      </para>
      <para>
        Insert notes about having multiple virtual interfaces with
        different MAC addresses here, note which configurations are
        supported by mac80211, add notes about supporting hw crypto
        with it.
      </para>
    </chapter>

    <chapter id="hardware-scan-offload">
      <title>Hardware scan offload</title>
      <para>TBD</para>
!Finclude/net/mac80211.h ieee80211_scan_completed
    </chapter>
  </part>

  <part id="rate-control">
    <title>Rate control interface</title>
    <partintro>
      <para>TBD</para>
      <para>
       This part of the book describes the rate control algorithm
       interface and how it relates to mac80211 and drivers.
      </para>
    </partintro>
    <chapter id="dummy">
      <title>dummy chapter</title>
      <para>TBD</para>
    </chapter>
  </part>

  <part id="internal">
    <title>Internals</title>
    <partintro>
      <para>TBD</para>
      <para>
       This part of the book describes mac80211 internals.
      </para>
    </partintro>

    <chapter id="key-handling">
      <title>Key handling</title>
      <sect1>
        <title>Key handling basics</title>
!Pnet/mac80211/key.c Key handling basics
      </sect1>
      <sect1>
        <title>MORE TBD</title>
        <para>TBD</para>
      </sect1>
    </chapter>

    <chapter id="rx-processing">
      <title>Receive processing</title>
      <para>TBD</para>
    </chapter>

    <chapter id="tx-processing">
      <title>Transmit processing</title>
      <para>TBD</para>
    </chapter>

    <chapter id="sta-info">
      <title>Station info handling</title>
      <sect1>
        <title>Programming information</title>
!Fnet/mac80211/sta_info.h sta_info
!Fnet/mac80211/sta_info.h ieee80211_sta_info_flags
      </sect1>
      <sect1>
        <title>STA information lifetime rules</title>
!Pnet/mac80211/sta_info.c STA information lifetime rules
      </sect1>
    </chapter>

    <chapter id="synchronisation">
      <title>Synchronisation</title>
      <para>TBD</para>
      <para>Locking, lots of RCU</para>
    </chapter>
  </part>
</book>
