doxygen wifi module grouping all wifi classes
authorNicola Baldo <nbaldo@cttc.es>
Fri, 06 May 2011 18:34:24 +0200
changeset 7139 79dd02ed46ec
parent 7138 90f585e0fcea
child 7140 d203296efb63
doxygen wifi module grouping all wifi classes
src/wifi/model/aarf-wifi-manager.h
src/wifi/model/aarfcd-wifi-manager.h
src/wifi/model/adhoc-wifi-mac.h
src/wifi/model/amrr-wifi-manager.h
src/wifi/model/amsdu-subframe-header.h
src/wifi/model/ap-wifi-mac.h
src/wifi/model/arf-wifi-manager.h
src/wifi/model/block-ack-agreement.h
src/wifi/model/block-ack-cache.h
src/wifi/model/block-ack-manager.h
src/wifi/model/capability-information.h
src/wifi/model/cara-wifi-manager.h
src/wifi/model/constant-rate-wifi-manager.h
src/wifi/model/ctrl-headers.h
src/wifi/model/dca-txop.h
src/wifi/model/dcf-manager.h
src/wifi/model/dcf.h
src/wifi/model/dsss-error-rate-model.h
src/wifi/model/edca-txop-n.h
src/wifi/model/error-rate-model.h
src/wifi/model/ideal-wifi-manager.h
src/wifi/model/interference-helper.h
src/wifi/model/mac-low.h
src/wifi/model/mac-rx-middle.h
src/wifi/model/mac-tx-middle.h
src/wifi/model/mgt-headers.h
src/wifi/model/minstrel-wifi-manager.h
src/wifi/model/msdu-aggregator.h
src/wifi/model/msdu-standard-aggregator.h
src/wifi/model/nist-error-rate-model.h
src/wifi/model/onoe-wifi-manager.h
src/wifi/model/originator-block-ack-agreement.h
src/wifi/model/qos-tag.h
src/wifi/model/qos-utils.h
src/wifi/model/regular-wifi-mac.h
src/wifi/model/rraa-wifi-manager.h
src/wifi/model/ssid.h
src/wifi/model/sta-wifi-mac.h
src/wifi/model/supported-rates.h
src/wifi/model/wifi-channel.h
src/wifi/model/wifi-information-element-vector.h
src/wifi/model/wifi-information-element.h
src/wifi/model/wifi-mac-header.h
src/wifi/model/wifi-mac-queue.h
src/wifi/model/wifi-mac-trailer.h
src/wifi/model/wifi-mac.h
src/wifi/model/wifi-mode.h
src/wifi/model/wifi-net-device.h
src/wifi/model/wifi-phy-standard.h
src/wifi/model/wifi-phy-state-helper.h
src/wifi/model/wifi-phy.h
src/wifi/model/wifi-preamble.h
src/wifi/model/wifi-remote-station-manager.h
src/wifi/model/yans-error-rate-model.h
src/wifi/model/yans-wifi-channel.h
src/wifi/model/yans-wifi-phy.h
--- a/src/wifi/model/aarf-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/aarf-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -26,6 +26,7 @@
 
 /**
  * \brief AARF Rate control algorithm
+ * \ingroup wifi
  *
  * This class implements the AARF rate control algorithm which
  * was initially described in <i>IEEE 802.11 Rate Adaptation:
--- a/src/wifi/model/aarfcd-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/aarfcd-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -28,6 +28,7 @@
 
 /**
  * \brief an implementation of the AARF-CD algorithm
+ * \ingroup wifi
  *
  * This algorithm was first described in "Efficient Collision Detection for Auto Rate Fallback Algorithm".
  * The implementation available here was done by Federico Maguolo for a very early development
--- a/src/wifi/model/adhoc-wifi-mac.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/adhoc-wifi-mac.h	Fri May 06 18:34:24 2011 +0200
@@ -28,6 +28,11 @@
 
 namespace ns3 {
 
+/**
+ * \ingroup wifi
+ * 
+ * 
+ */
 class AdhocWifiMac : public RegularWifiMac
 {
 public:
--- a/src/wifi/model/amrr-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/amrr-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -29,6 +29,7 @@
 
 /**
  * \brief AMRR Rate control algorithm
+ * \ingroup wifi
  *
  * This class implements the AMRR rate control algorithm which
  * was initially described in <i>IEEE 802.11 Rate Adaptation:
--- a/src/wifi/model/amsdu-subframe-header.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/amsdu-subframe-header.h	Fri May 06 18:34:24 2011 +0200
@@ -25,6 +25,11 @@
 
 namespace ns3 {
 
+/**
+ * \ingroup wifi
+ * 
+ * 
+ */
 class AmsduSubframeHeader : public Header
 {
 public:
--- a/src/wifi/model/ap-wifi-mac.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/ap-wifi-mac.h	Fri May 06 18:34:24 2011 +0200
@@ -31,6 +31,7 @@
 
 /**
  * \brief Wi-Fi AP state machine
+ * \ingroup wifi
  *
  * Handle association, dis-association and authentication,
  * of STAs within an infrastructure BSS.
--- a/src/wifi/model/arf-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/arf-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -25,6 +25,7 @@
 namespace ns3 {
 
 /**
+ * \ingroup wifi
  * \brief ARF Rate control algorithm
  *
  * This class implements the so-called ARF algorithm which was
--- a/src/wifi/model/block-ack-agreement.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/block-ack-agreement.h	Fri May 06 18:34:24 2011 +0200
@@ -26,6 +26,7 @@
 namespace ns3 {
 /**
  * \brief Maintains information for a block ack agreement.
+ * \ingroup wifi
  */
 class BlockAckAgreement 
 {
--- a/src/wifi/model/block-ack-cache.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/block-ack-cache.h	Fri May 06 18:34:24 2011 +0200
@@ -27,6 +27,11 @@
 class WifiMacHeader;
 class CtrlBAckResponseHeader;
 
+/**
+ * \ingroup wifi
+ * 
+ * 
+ */
 class BlockAckCache
 {
 public:
--- a/src/wifi/model/block-ack-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/block-ack-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -41,6 +41,11 @@
 class MacTxMiddle;
 class WifiMacQueue;
 
+/**
+ * \ingroup wifi
+ * \brief Block Ack Request 
+ * 
+ */
 struct Bar {
     Bar ();
     Bar (Ptr<const Packet> packet,
@@ -55,6 +60,7 @@
 
 /**
  * \brief Manages all block ack agreements for an originator station.
+ * \ingroup wifi
  */
 class BlockAckManager
 {
--- a/src/wifi/model/capability-information.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/capability-information.h	Fri May 06 18:34:24 2011 +0200
@@ -25,6 +25,11 @@
 
 namespace ns3 {
 
+/**
+ * \ingroup wifi
+ * 
+ * 
+ */
 class CapabilityInformation 
 {
 public:
--- a/src/wifi/model/cara-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/cara-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -26,6 +26,7 @@
 
 /**
  * \brief implement the CARA rate control algorithm
+ * \ingroup wifi
  *
  * Implement the CARA algorithm from:
  * J. Kim, S. Kim, S. Choi, and D. Qiao. 
--- a/src/wifi/model/constant-rate-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/constant-rate-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -27,6 +27,7 @@
 namespace ns3 {
 
 /**
+ * \ingroup wifi
  * \brief use constant rates for data and control transmissions
  *
  * This class uses always the same transmission rate for every
--- a/src/wifi/model/ctrl-headers.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/ctrl-headers.h	Fri May 06 18:34:24 2011 +0200
@@ -24,7 +24,17 @@
 
 namespace ns3 {
 
-/** Headers for Block ack request and response.
+enum BlockAckType
+{
+  BASIC_BLOCK_ACK,
+  COMPRESSED_BLOCK_ACK,
+  MULTI_TID_BLOCK_ACK
+};
+
+/**
+ * \ingroup wifi
+ * \brief Headers for Block ack request.
+ *
  *  802.11n standard includes three types of block ack:
  *    - Basic block ack (unique type in 802.11e)
  *    - Compressed block ack
@@ -33,13 +43,6 @@
  *  are supported.
  *  Basic block ack is also default variant.
  */
-enum BlockAckType
-{
-  BASIC_BLOCK_ACK,
-  COMPRESSED_BLOCK_ACK,
-  MULTI_TID_BLOCK_ACK
-};
-
 class CtrlBAckRequestHeader : public Header {
 public:
   CtrlBAckRequestHeader ();
@@ -84,6 +87,18 @@
   uint16_t m_startingSeq;
 };
 
+/**
+ * \ingroup wifi
+ * \brief Headers for Block ack response.
+ *
+ *  802.11n standard includes three types of block ack:
+ *    - Basic block ack (unique type in 802.11e)
+ *    - Compressed block ack
+ *    - Multi-TID block ack
+ *  For now only basic block ack and compressed block ack 
+ *  are supported.
+ *  Basic block ack is also default variant.
+ */
 class CtrlBAckResponseHeader : public Header {
 public:
   CtrlBAckResponseHeader ();
@@ -130,17 +145,25 @@
   /**
    * This function is used to correctly index in both bitmap
    * and compressed bitmap, one bit or one block of 16 bits respectively.
-   * If we are using basic block ack, return value represents index of 
+   *
+   * for more details see 7.2.1.8 in IEEE 802.11n/D4.00
+   *
+   * \param seq the sequence number
+   * 
+   * \return If we are using basic block ack, return value represents index of 
    * block of 16 bits for packet having sequence number equals to <i>seq</i>.
    * If we are using compressed block ack, return value represents bit 
    * to set to 1 in the compressed bitmap to indicate that packet having 
    * sequence number equals to <i>seq</i> was correctly received.
-   *
-   * for more details see 7.2.1.8 in IEEE 802.11n/D4.00
    */
   uint8_t IndexInBitmap (uint16_t seq) const;
+
   /**
    * Checks if sequence number <i>seq</i> can be acknowledged in the bitmap.
+   * 
+   * \param seq the sequence number
+   * 
+   * \return 
    */
   bool IsInBitmap (uint16_t seq) const;
 
--- a/src/wifi/model/dca-txop.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/dca-txop.h	Fri May 06 18:34:24 2011 +0200
@@ -45,6 +45,7 @@
 
 /**
  * \brief handle packet fragmentation and retransmissions.
+ * \ingroup wifi
  *
  * This class implements the packet fragmentation and 
  * retransmission policy. It uses the ns3::MacLow and ns3::DcfManager
--- a/src/wifi/model/dcf-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/dcf-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -34,6 +34,7 @@
 /**
  * \brief keep track of the state needed for a single DCF 
  * function.
+ * \ingroup wifi
  *
  * Multiple instances of a DcfState can be registered in a single
  * DcfManager to implement 802.11e-style relative QoS.
@@ -154,6 +155,7 @@
 
 /**
  * \brief Manage a set of ns3::DcfState
+ * \ingroup wifi
  *
  * Handle a set of independent ns3::DcfState, each of which represents
  * a single DCF within a MAC stack. Each ns3::DcfState has a priority
--- a/src/wifi/model/dcf.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/dcf.h	Fri May 06 18:34:24 2011 +0200
@@ -25,6 +25,10 @@
 
 namespace ns3 {
 
+/**
+ * \ingroup wifi 
+ * 
+ */
 class Dcf : public Object
 {
  public:
--- a/src/wifi/model/dsss-error-rate-model.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/dsss-error-rate-model.h	Fri May 06 18:34:24 2011 +0200
@@ -43,6 +43,7 @@
 
 /**
  * \brief an implementation of DSSS error rate model
+ * \ingroup wifi
  *
  * The 802.11b modulations:
  *    - 1 Mbps mode is based on DBPSK. BER is from equation 5.2-69 from John G. Proakis
--- a/src/wifi/model/edca-txop-n.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/edca-txop-n.h	Fri May 06 18:34:24 2011 +0200
@@ -53,8 +53,18 @@
 class BlockAckManager;
 class MgtDelBaHeader;
 
+enum TypeOfStation
+{
+  STA,
+  AP,
+  ADHOC_STA,
+  MESH
+};
 
-/* This queue contains packets for a particular access class.
+
+/** 
+ * \ingroup wifi
+ * This queue contains packets for a particular access class.
  * possibles access classes are:
  *
  *   -AC_VO : voice, tid = 6,7         ^
@@ -64,14 +74,6 @@
  * 
  * For more details see section 9.1.3.1 in 802.11 standard.
  */
-enum TypeOfStation
-{
-  STA,
-  AP,
-  ADHOC_STA,
-  MESH
-};
-
 class EdcaTxopN : public Dcf
 {
 public:
--- a/src/wifi/model/error-rate-model.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/error-rate-model.h	Fri May 06 18:34:24 2011 +0200
@@ -25,7 +25,11 @@
 #include "ns3/object.h"
 
 namespace ns3 {
-
+/**
+ * \ingroup wifi
+ * \brief the interface for Wifi's error models
+ * 
+ */
 class ErrorRateModel : public Object
 {
 public:
--- a/src/wifi/model/ideal-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/ideal-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -29,6 +29,7 @@
 
 /**
  * \brief Ideal rate control algorithm
+ * \ingroup wifi
  *
  * This class implements an 'ideal' rate control algorithm
  * similar to RBAR in spirit (see <i>A rate-adaptive MAC
--- a/src/wifi/model/interference-helper.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/interference-helper.h	Fri May 06 18:34:24 2011 +0200
@@ -33,6 +33,10 @@
 
 class ErrorRateModel;
 
+/**
+ * \ingroup wifi
+ * \brief handles interference calculations
+ */
 class InterferenceHelper
 {
 public:
--- a/src/wifi/model/mac-low.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/mac-low.h	Fri May 06 18:34:24 2011 +0200
@@ -49,6 +49,7 @@
 class EdcaTxopN;
 
 /**
+ * \ingroup wifi
  * \brief listen to events coming from ns3::MacLow.
  */
 class MacLowTransmissionListener {
@@ -127,6 +128,7 @@
 
 /**
  * \brief listen to NAV events
+ * \ingroup wifi
  *
  * This class is typically connected to an instance of ns3::Dcf
  * and calls to its methods are forwards to the corresponding
@@ -151,6 +153,7 @@
 };
 
 /**
+ * \ingroup wifi
  * \brief listen for block ack events.
  */
 class MacLowBlockAckEventListener {
@@ -171,6 +174,7 @@
 
 /**
  * \brief control how a packet is transmitted.
+ * \ingroup wifi
  *
  * The ns3::MacLow::StartTransmission method expects
  * an instance of this class to describe how the packet
@@ -356,6 +360,7 @@
 
 
 /**
+ * \ingroup wifi
  * \brief handle RTS/CTS/DATA/ACK transactions.
  */
 class MacLow : public Object {
--- a/src/wifi/model/mac-rx-middle.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/mac-rx-middle.h	Fri May 06 18:34:24 2011 +0200
@@ -32,6 +32,11 @@
 class WifiMacHeader;
 class OriginatorRxStatus;
 
+/**
+ * \ingroup wifi
+ * 
+ * This class handles duplicate detection and recomposition of fragments.
+ */
 class MacRxMiddle
 {
 public:
--- a/src/wifi/model/mac-tx-middle.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/mac-tx-middle.h	Fri May 06 18:34:24 2011 +0200
@@ -31,6 +31,11 @@
 
 class WifiMacHeader;
 
+/**
+ * \ingroup wifi
+ * 
+ * Handles sequence numbering of IEEE 802.11 data frames
+ */
 class MacTxMiddle {
 public:
   MacTxMiddle ();
--- a/src/wifi/model/mgt-headers.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/mgt-headers.h	Fri May 06 18:34:24 2011 +0200
@@ -32,6 +32,10 @@
 
 namespace ns3 {
 
+/**
+ * \ingroup wifi
+ * Implement the header for management frames of type association request.
+ */
 class MgtAssocRequestHeader : public Header 
 {
 public:
@@ -60,6 +64,11 @@
   uint16_t m_listenInterval;
 };
 
+
+/**
+ * \ingroup wifi
+ * Implement the header for management frames of type association response.
+ */
 class MgtAssocResponseHeader : public Header {
 public:
   MgtAssocResponseHeader ();
@@ -85,6 +94,11 @@
   uint16_t m_aid;
 };
 
+
+/**
+ * \ingroup wifi
+ * Implement the header for management frames of type probe request.
+ */
 class MgtProbeRequestHeader : public Header {
 public:
   ~MgtProbeRequestHeader ();
@@ -106,6 +120,11 @@
   SupportedRates m_rates;
 };
 
+
+/**
+ * \ingroup wifi
+ * Implement the header for management frames of type probe response.
+ */
 class MgtProbeResponseHeader : public Header {
 public:
   MgtProbeResponseHeader ();
@@ -134,6 +153,11 @@
   CapabilityInformation m_capability;
 };
 
+
+/**
+ * \ingroup wifi
+ * Implement the header for management frames of type beacon.
+ */
 class MgtBeaconHeader : public MgtProbeResponseHeader {};
 
 /****************************
@@ -141,9 +165,11 @@
 *****************************/
 
 /**
- * \brief See IEEE 802.11 chapter 7.3.1.11
+ * \ingroup wifi
+ * 
+ * See IEEE 802.11 chapter 7.3.1.11
+ * Header format: | category: 1 | action value: 1 |
  *
- * Header format: | category: 1 | action value: 1 |
  */
 class WifiActionHeader : public Header
 {
@@ -226,6 +252,10 @@
   uint8_t m_actionValue;
 };
 
+/**
+ * \ingroup wifi
+ * Implement the header for management frames of type add block ack request.
+ */
 class MgtAddBaRequestHeader : public Header {
 public:
   
@@ -268,6 +298,11 @@
   uint16_t m_startingSeq;
 };
  
+
+/**
+ * \ingroup wifi
+ * Implement the header for management frames of type add block ack response.
+ */
 class MgtAddBaResponseHeader : public Header {
 public:
 
@@ -308,6 +343,11 @@
   uint16_t m_timeoutValue;
 };
 
+
+/**
+ * \ingroup wifi
+ * Implement the header for management frames of type del block ack.
+ */
 class MgtDelBaHeader : public Header {
 public:
   MgtDelBaHeader ();
--- a/src/wifi/model/minstrel-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/minstrel-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -28,13 +28,6 @@
 #include "ns3/nstime.h"
 #include <vector>
 
-/**
- * \author Duy Nguyen
- * \brief Implementation of Minstrel Rate Control Algorithm 
- *
- * Porting Minstrel from Madwifi and Linux Kernel 
- * http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/minstrel
- */
 
 
 namespace ns3 {
@@ -85,7 +78,14 @@
 typedef std::vector<std::vector<uint32_t> > SampleRate;
 
 
-
+/**
+ * \author Duy Nguyen
+ * \brief Implementation of Minstrel Rate Control Algorithm 
+ * \ingroup wifi
+ *
+ * Porting Minstrel from Madwifi and Linux Kernel 
+ * http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/minstrel
+ */
 class MinstrelWifiManager : public WifiRemoteStationManager
 {
 
--- a/src/wifi/model/msdu-aggregator.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/msdu-aggregator.h	Fri May 06 18:34:24 2011 +0200
@@ -31,8 +31,10 @@
 namespace ns3 {
 	
 class WifiMacHeader;
+
 /**
  * \brief Abstract class that concrete msdu aggregators have to implement
+ * \ingroup wifi
  */
 class MsduAggregator : public Object
 {
--- a/src/wifi/model/msdu-standard-aggregator.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/msdu-standard-aggregator.h	Fri May 06 18:34:24 2011 +0200
@@ -24,6 +24,11 @@
 
 namespace ns3 {
 
+/**
+ * \ingroup wifi
+ * Standard MSDU aggregator
+ * 
+ */
 class MsduStandardAggregator : public MsduAggregator
 {
 public:
--- a/src/wifi/model/nist-error-rate-model.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/nist-error-rate-model.h	Fri May 06 18:34:24 2011 +0200
@@ -28,7 +28,9 @@
 namespace ns3 {
 
 /**
- * Model the error rate for different modulations.  For OFDM modulation,
+ * \ingroup wifi
+ *
+ * A model for the error rate for different modulations.  For OFDM modulation,
  * the model description and validation can be found in 
  * http://www.nsnam.org/~pei/80211ofdm.pdf.  For DSSS modulations (802.11b),
  * the model uses the DsssErrorRateModel.
--- a/src/wifi/model/onoe-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/onoe-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -28,9 +28,11 @@
 struct OnoeWifiRemoteStation;
 
 /**
- * \brief an implementation of rate control algorithm developed 
+ * \brief an implementation of the rate control algorithm developed 
  *        by Atsushi Onoe
  *
+ * \ingroup wifi
+ *
  * This algorithm is well known because it has been used as the default
  * rate control algorithm for the madwifi driver. I am not aware of
  * any publication or reference about this algorithm beyond the madwifi
--- a/src/wifi/model/originator-block-ack-agreement.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/originator-block-ack-agreement.h	Fri May 06 18:34:24 2011 +0200
@@ -25,8 +25,10 @@
 
 namespace ns3 {
 
-/* \brief Maintains the state and information about transmitted MPDUs with ack policy block ack
- *        for an originator station.
+/** 
+ * \ingroup wifi
+ * Maintains the state and information about transmitted MPDUs with ack policy block ack
+ * for an originator station.
  */
 class OriginatorBlockAckAgreement : public BlockAckAgreement
 {
--- a/src/wifi/model/qos-tag.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/qos-tag.h	Fri May 06 18:34:24 2011 +0200
@@ -48,13 +48,15 @@
   
 
   
-  /**
-   * The aim of the QosTag is to provide means for an Application to
-   * specify the TID which will be used by a QoS-aware WifiMac for a
-   * given traffic flow. Note that the current QosTag class was
-   * designed to be completely mac/wifi specific without any attempt
-   * at being generic. 
-   */
+/**
+ * \ingroup wifi
+ *
+ * The aim of the QosTag is to provide means for an Application to
+ * specify the TID which will be used by a QoS-aware WifiMac for a
+ * given traffic flow. Note that the current QosTag class was
+ * designed to be completely mac/wifi specific without any attempt
+ * at being generic. 
+ */
 class QosTag : public Tag
 {
 public:
--- a/src/wifi/model/qos-utils.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/qos-utils.h	Fri May 06 18:34:24 2011 +0200
@@ -26,7 +26,9 @@
 
 namespace ns3 {
 
-/* This enumeration defines the Access Categories as an enumeration
+/**
+ * \ingroup wifi
+ * This enumeration defines the Access Categories as an enumeration
  * with values corresponding to the AC index (ACI) values specified in
  * Table 7-36 of IEEE 802.11-2007.
  */
@@ -45,24 +47,30 @@
   AC_UNDEF
 };
 
-/* Maps TID (Traffic ID) to Access classes.
+/**
+ * \ingroup wifi
+ * Maps TID (Traffic ID) to Access classes.
  * For more details see table 9-1 of IEEE802.11 standard.
  */
 AcIndex QosUtilsMapTidToAc (uint8_t tid);
 
-/* If a qos tag is attached to the packet, returns a value < 8.
-   A value >= 8 is returned otherwise.
+/**
+ * \ingroup wifi
+ * If a qos tag is attached to the packet, returns a value < 8.
+ * A value >= 8 is returned otherwise.
  */
 uint8_t QosUtilsGetTidForPacket (Ptr<const Packet> packet);
 
-/*
+/**
+ * \ingroup wifi
  * Next function is useful to correctly sort buffered packets under block ack.
  * When an BAR is received from originator station, completed "old"
  * (see section 9.10.3 in IEEE802.11e) packets must be forwarded up before "new" packets.
  */
 uint32_t QosUtilsMapSeqControlToUniqueInteger (uint16_t seqControl, uint16_t endSequence);
 
-/*
+/**
+ * \ingroup wifi
  * This function checks if packet with sequence number <i>seqNumber</i> is an "old" packet.
  * The sequence number space is considered divided into two parts, one of which is "old" and
  * one of which is "new" by means of a boundary created by adding half the sequence number
--- a/src/wifi/model/regular-wifi-mac.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/regular-wifi-mac.h	Fri May 06 18:34:24 2011 +0200
@@ -40,6 +40,7 @@
 
 /**
  * \brief base class for all MAC-level wifi objects.
+ * \ingroup wifi
  *
  * This class encapsulates all the low-level MAC functionality
  * DCA, EDCA, etc) and all the high-level MAC functionality
--- a/src/wifi/model/rraa-wifi-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/rraa-wifi-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -29,6 +29,7 @@
 
 /**
  * \brief Robust Rate Adaptation Algorithm
+ * \ingroup wifi
  *
  * This is an implementation of RRAA as described in
  * "Robust rate adaptation for 802.11 wireless networks"
--- a/src/wifi/model/ssid.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/ssid.h	Fri May 06 18:34:24 2011 +0200
@@ -28,8 +28,9 @@
 namespace ns3 {
 
 /**
- * \brief a IEEE 802.11 SSID
+ * \ingroup wifi
  *
+ * The IEEE 802.11 SSID Information Element
  */
 class Ssid : public WifiInformationElement
 {
--- a/src/wifi/model/sta-wifi-mac.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/sta-wifi-mac.h	Fri May 06 18:34:24 2011 +0200
@@ -35,6 +35,11 @@
 
 class MgtAddBaRequestHeader;
 
+/**
+ * \ingroup wifi 
+ * 
+ * The Wifi MAC high model for a non-AP STA in a BSS.
+ */
 class StaWifiMac : public RegularWifiMac
 {
 public:
--- a/src/wifi/model/supported-rates.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/supported-rates.h	Fri May 06 18:34:24 2011 +0200
@@ -39,6 +39,7 @@
 
 /**
  * \brief The Extended Supported Rates Information Element
+ * \ingroup wifi
  *
  * This class knows how to serialise and deserialise the Extended
  * Supported Rates Element that holds (non-HT) rates beyond the 8 that
@@ -79,6 +80,7 @@
 
 /**
  * \brief The Supported Rates Information Element
+ * \ingroup wifi
  *
  * This class knows how to serialise and deserialise the Supported
  * Rates Element that holds the first 8 (non-HT) supported rates.
--- a/src/wifi/model/wifi-channel.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-channel.h	Fri May 06 18:34:24 2011 +0200
@@ -29,7 +29,8 @@
 class WifiPhy;
 
 /**
- * \brief A 802.11 Channel
+ * \brief Wifi Channel interface specification
+ * \ingroup wifi
  *
  * This class works in tandem with the ns3::WifiPhy class. If you want to
  * provide a new Wifi PHY layer, you have to subclass both ns3::WifiChannel 
--- a/src/wifi/model/wifi-information-element-vector.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-information-element-vector.h	Fri May 06 18:34:24 2011 +0200
@@ -28,24 +28,18 @@
 #include "ns3/wifi-information-element.h"
 
 
+namespace ns3 {
+
 /**
+ * \brief Information element vector
  * \ingroup wifi
  *
- * \subsection wifi_ie_vector Information Element Vectors
- *
+ * Implements a vector of WifiInformationElements. 
  * Information elements typically come in groups, and the
  * WifiInformationElementVector class provides a representation of a
  * series of IEs, and the facility for serialisation to and
  * deserialisation from the over-the-air format.
  */
-
-namespace ns3 {
-
-/**
- * \brief Information element vector
- *
- * Implements a vector of WifiInformationElement's
- */
 class WifiInformationElementVector : public Header
 {
 public:
--- a/src/wifi/model/wifi-information-element.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-information-element.h	Fri May 06 18:34:24 2011 +0200
@@ -24,35 +24,6 @@
 #include "ns3/header.h"
 #include "ns3/simple-ref-count.h"
 
-/**
- * \ingroup wifi
- *
- * \subsection wifi_ie Information Elements
- *
- * The IEEE 802.11 standard includes the notion of Information
- * Elements, which are encodings of management information to be
- * communicated between STAs in the payload of various frames of type
- * Management. Information Elements (IEs) have a common format, each
- * starting with a single octet - the Element ID, which indicates the
- * specific type of IE (a type to represent the options here is
- * defined as WifiInformationElementId). The next octet is a length field and
- * encodes the number of octets in the third and final field, which is
- * the IE Information field.
- *
- * The class ns3::WifiInformationElement provides a base for classes
- * which represent specific Information Elements. This class defines
- * pure virtual methods for serialisation
- * (ns3::WifiInformationElement::SerializeInformationField) and
- * deserialisation
- * (ns3::WifiInformationElement::DeserializeInformationField) of IEs, from
- * or to data members or other objects that simulation objects use to
- * maintain the relevant state.
- *
- * This class also provides an implementation of the equality
- * operator, which operates by comparing the serialised versions of
- * the two WifiInformationElement objects concerned.
- */
-
 namespace ns3 {
 
 /**
@@ -121,6 +92,30 @@
 
 /**
  * \brief Information element, as defined in 802.11-2007 standard
+ * \ingroup wifi
+ *
+ * The IEEE 802.11 standard includes the notion of Information
+ * Elements, which are encodings of management information to be
+ * communicated between STAs in the payload of various frames of type
+ * Management. Information Elements (IEs) have a common format, each
+ * starting with a single octet - the Element ID, which indicates the
+ * specific type of IE (a type to represent the options here is
+ * defined as WifiInformationElementId). The next octet is a length field and
+ * encodes the number of octets in the third and final field, which is
+ * the IE Information field.
+ *
+ * The class ns3::WifiInformationElement provides a base for classes
+ * which represent specific Information Elements. This class defines
+ * pure virtual methods for serialisation
+ * (ns3::WifiInformationElement::SerializeInformationField) and
+ * deserialisation
+ * (ns3::WifiInformationElement::DeserializeInformationField) of IEs, from
+ * or to data members or other objects that simulation objects use to
+ * maintain the relevant state.
+ *
+ * This class also provides an implementation of the equality
+ * operator, which operates by comparing the serialised versions of
+ * the two WifiInformationElement objects concerned.
  *
  * Elements are defined to have a common general format consisting of
  * a 1 octet Element ID field, a 1 octet length field, and a
--- a/src/wifi/model/wifi-mac-header.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-mac-header.h	Fri May 06 18:34:24 2011 +0200
@@ -67,6 +67,11 @@
   WIFI_MAC_QOSDATA_NULL_CFACK_CFPOLL,
 };
 
+/**
+ * \ingroup wifi
+ *
+ * Implements the IEEE 802.11 MAC header
+ */
 class WifiMacHeader : public Header 
 {
 public:
--- a/src/wifi/model/wifi-mac-queue.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-mac-queue.h	Fri May 06 18:34:24 2011 +0200
@@ -35,6 +35,7 @@
 class QosBlockedDestinations;
 
 /**
+ * \ingroup wifi
  *
  * This queue implements the timeout procedure described in IEEE
  * Std. 802.11-2007, section 9.9.1.6, paragraph 6.
--- a/src/wifi/model/wifi-mac-trailer.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-mac-trailer.h	Fri May 06 18:34:24 2011 +0200
@@ -25,11 +25,18 @@
 
 namespace ns3 {
 
+
+
 /** 
  * The length in octects of the IEEE 802.11 MAC FCS field
  */
 static const uint16_t WIFI_MAC_FCS_LENGTH = 4;
 
+/**
+ * \ingroup wifi
+ *
+ * Implements the IEEE 802.11 MAC trailer 
+ */
 class WifiMacTrailer : public Trailer 
 {
 public:
--- a/src/wifi/model/wifi-mac.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-mac.h	Fri May 06 18:34:24 2011 +0200
@@ -34,6 +34,7 @@
 
 /**
  * \brief base class for all MAC-level wifi objects.
+ * \ingroup wifi
  *
  * This class encapsulates all the low-level MAC functionality
  * DCA, EDCA, etc) and all the high-level MAC functionality
--- a/src/wifi/model/wifi-mode.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-mode.h	Fri May 06 18:34:24 2011 +0200
@@ -76,6 +76,7 @@
 
 /**
  * \brief represent a single transmission mode
+ * \ingroup wifi
  *
  * A WifiMode is implemented by a single integer which is used
  * to lookup in a global array the characteristics of the
--- a/src/wifi/model/wifi-net-device.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-net-device.h	Fri May 06 18:34:24 2011 +0200
@@ -35,7 +35,15 @@
 class WifiMac;
 
 /**
+ * \defgroup wifi Wifi
+ *
+ * This section documents the API of the ns-3 Wifi module. For a generic functional description, please refer to the ns-3 manual.
+ */
+
+
+/**
  * \brief Hold together all Wifi-related objects.
+ * \ingroup wifi
  *
  * This class holds together ns3::WifiChannel, ns3::WifiPhy,
  * ns3::WifiMac, and, ns3::WifiRemoteStationManager.
--- a/src/wifi/model/wifi-phy-standard.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-phy-standard.h	Fri May 06 18:34:24 2011 +0200
@@ -22,6 +22,11 @@
 
 namespace ns3 {
 
+
+/**
+ * \ingroup wifi
+ * Identifies the PHY specification that a Wifi device is configured to use.
+ */
 enum WifiPhyStandard {
   /** OFDM PHY for the 5 GHz band (Clause 17) */
   WIFI_PHY_STANDARD_80211a,
--- a/src/wifi/model/wifi-phy-state-helper.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-phy-state-helper.h	Fri May 06 18:34:24 2011 +0200
@@ -27,6 +27,11 @@
 
 namespace ns3 {
 
+/**
+ * \ingroup wifi
+ * 
+ * This objects implements the PHY state machine of the Wifi device.
+ */
 class WifiPhyStateHelper : public Object
 {
 public:
--- a/src/wifi/model/wifi-phy.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-phy.h	Fri May 06 18:34:24 2011 +0200
@@ -110,6 +110,7 @@
 
 /**
  * \brief 802.11 PHY layer model
+ * \ingroup wifi
  *
  */
 class WifiPhy : public Object
--- a/src/wifi/model/wifi-preamble.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-preamble.h	Fri May 06 18:34:24 2011 +0200
@@ -22,6 +22,10 @@
 
 namespace ns3 {
 
+/**
+ * \ingroup wifi
+ * The type of preamble to be used by an IEEE 802.11 transmission
+ */
 enum WifiPreamble {
   WIFI_PREAMBLE_LONG,
   WIFI_PREAMBLE_SHORT
--- a/src/wifi/model/wifi-remote-station-manager.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/wifi-remote-station-manager.h	Fri May 06 18:34:24 2011 +0200
@@ -74,6 +74,7 @@
 
 /**
  * \brief hold a list of per-remote-station state.
+ * \ingroup wifi
  *
  * \sa ns3::WifiRemoteStation.
  */
--- a/src/wifi/model/yans-error-rate-model.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/yans-error-rate-model.h	Fri May 06 18:34:24 2011 +0200
@@ -29,6 +29,7 @@
 
 /**
  * \brief Model the error rate for different modulations.
+ * \ingroup wifi
  *
  * A packet of interest (e.g., a packet can potentially be received by the MAC) 
  * is divided into chunks. Each chunk is related to an start/end receiving event. 
--- a/src/wifi/model/yans-wifi-channel.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/yans-wifi-channel.h	Fri May 06 18:34:24 2011 +0200
@@ -36,6 +36,7 @@
 
 /**
  * \brief A Yans wifi channel
+ * \ingroup wifi
  *
  * This wifi channel implements the propagation model described in
  * "Yet Another Network Simulator", (http://cutebugs.net/files/wns2-yans.pdf).
--- a/src/wifi/model/yans-wifi-phy.h	Fri May 06 18:31:42 2011 +0200
+++ b/src/wifi/model/yans-wifi-phy.h	Fri May 06 18:34:24 2011 +0200
@@ -47,6 +47,7 @@
 
 /**
  * \brief 802.11 PHY layer model
+ * \ingroup wifi
  *
  * This PHY implements a model of 802.11a. The model
  * implemented here is based on the model described