--- 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