===========================
mac80211 subsystem (basics)
===========================

You should read and understand the information contained within this
part of the book while implementing a mac80211 driver. In some chapters,
advanced usage is noted, those may be skipped if this isn't needed.

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.

Basic hardware handling
=======================

TBD

This chapter shall contain information on getting a hw struct allocated
and registered with mac80211.

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.

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.

Finally, a discussion of hardware capabilities should be done with
references to other parts of the book.

.. kernel-doc:: include/net/mac80211.h
   :functions:
	ieee80211_hw
	ieee80211_hw_flags
	SET_IEEE80211_DEV
	SET_IEEE80211_PERM_ADDR
	ieee80211_ops
	ieee80211_alloc_hw
	ieee80211_register_hw
	ieee80211_unregister_hw
	ieee80211_free_hw

PHY configuration
=================

TBD

This chapter should describe PHY handling including start/stop callbacks
and the various structures used.

.. kernel-doc:: include/net/mac80211.h
   :functions:
	ieee80211_conf
	ieee80211_conf_flags

Virtual interfaces
==================

TBD

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.

Things related to AP mode should be discussed there.

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!

.. kernel-doc:: include/net/mac80211.h
   :functions: ieee80211_vif

Receive and transmit processing
===============================

what should be here
-------------------

TBD

This should describe the receive and transmit paths in mac80211/the
drivers as well as transmit status handling.

Frame format
------------

.. kernel-doc:: include/net/mac80211.h
   :doc: Frame format

Packet alignment
----------------

.. kernel-doc:: net/mac80211/rx.c
   :doc: Packet alignment

Calling into mac80211 from interrupts
-------------------------------------

.. kernel-doc:: include/net/mac80211.h
   :doc: Calling mac80211 from interrupts

functions/definitions
---------------------

.. kernel-doc:: include/net/mac80211.h
   :functions:
	ieee80211_rx_status
	mac80211_rx_encoding_flags
	mac80211_rx_flags
	mac80211_tx_info_flags
	mac80211_tx_control_flags
	mac80211_rate_control_flags
	ieee80211_tx_rate
	ieee80211_tx_info
	ieee80211_tx_info_clear_status
	ieee80211_rx
	ieee80211_rx_ni
	ieee80211_rx_irqsafe
	ieee80211_tx_status
	ieee80211_tx_status_ni
	ieee80211_tx_status_irqsafe
	ieee80211_rts_get
	ieee80211_rts_duration
	ieee80211_ctstoself_get
	ieee80211_ctstoself_duration
	ieee80211_generic_frame_duration
	ieee80211_wake_queue
	ieee80211_stop_queue
	ieee80211_wake_queues
	ieee80211_stop_queues
	ieee80211_queue_stopped

Frame filtering
===============

.. kernel-doc:: include/net/mac80211.h
   :doc: Frame filtering

.. kernel-doc:: include/net/mac80211.h
   :functions: ieee80211_filter_flags

The mac80211 workqueue
======================

.. kernel-doc:: include/net/mac80211.h
   :doc: mac80211 workqueue

.. kernel-doc:: include/net/mac80211.h
   :functions:
	ieee80211_queue_work
	ieee80211_queue_delayed_work
