INET Framework for OMNeT++/OMNEST
inet::ieee80211::Ieee80211DataFrame Class Reference

Class generated from inet/linklayer/ieee80211/mac/Ieee80211Frame.msg:177 by nedtool. More...

#include <Ieee80211Frame_m.h>

Inheritance diagram for inet::ieee80211::Ieee80211DataFrame:
inet::ieee80211::Ieee80211DataOrMgmtFrame inet::ieee80211::Ieee80211TwoAddressFrame inet::ieee80211::Ieee80211OneAddressFrame inet::ieee80211::Ieee80211Frame inet::ieee80211::Ieee80211DataFrameWithSNAP

Public Member Functions

 Ieee80211DataFrame (const char *name=nullptr, short kind=0)
 
 Ieee80211DataFrame (const Ieee80211DataFrame &other)
 
virtual ~Ieee80211DataFrame ()
 
Ieee80211DataFrameoperator= (const Ieee80211DataFrame &other)
 
virtual Ieee80211DataFramedup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual MACAddressgetAddress4 ()
 
virtual const MACAddressgetAddress4 () const
 
virtual void setAddress4 (const MACAddress &address4)
 
virtual uint16_t getQos () const
 
virtual void setQos (uint16_t qos)
 
virtual int getAckPolicy () const
 
virtual void setAckPolicy (int ackPolicy)
 
virtual uint8_t getTid () const
 
virtual void setTid (uint8_t tid)
 
virtual bool getAMsduPresent () const
 
virtual void setAMsduPresent (bool aMsduPresent)
 
- Public Member Functions inherited from inet::ieee80211::Ieee80211DataOrMgmtFrame
 Ieee80211DataOrMgmtFrame (const char *name=nullptr, short kind=0)
 
 Ieee80211DataOrMgmtFrame (const Ieee80211DataOrMgmtFrame &other)
 
virtual ~Ieee80211DataOrMgmtFrame ()
 
Ieee80211DataOrMgmtFrameoperator= (const Ieee80211DataOrMgmtFrame &other)
 
virtual MACAddressgetAddress3 ()
 
virtual const MACAddressgetAddress3 () const
 
virtual void setAddress3 (const MACAddress &address3)
 
virtual short getFragmentNumber () const
 
virtual void setFragmentNumber (short fragmentNumber)
 
virtual uint16_t getSequenceNumber () const
 
virtual void setSequenceNumber (uint16_t sequenceNumber)
 
- Public Member Functions inherited from inet::ieee80211::Ieee80211TwoAddressFrame
 Ieee80211TwoAddressFrame (const char *name=nullptr, short kind=0)
 
 Ieee80211TwoAddressFrame (const Ieee80211TwoAddressFrame &other)
 
virtual ~Ieee80211TwoAddressFrame ()
 
Ieee80211TwoAddressFrameoperator= (const Ieee80211TwoAddressFrame &other)
 
virtual MACAddressgetTransmitterAddress ()
 
virtual const MACAddressgetTransmitterAddress () const
 
virtual void setTransmitterAddress (const MACAddress &transmitterAddress)
 
- Public Member Functions inherited from inet::ieee80211::Ieee80211OneAddressFrame
 Ieee80211OneAddressFrame (const char *name=nullptr, short kind=0)
 
 Ieee80211OneAddressFrame (const Ieee80211OneAddressFrame &other)
 
virtual ~Ieee80211OneAddressFrame ()
 
Ieee80211OneAddressFrameoperator= (const Ieee80211OneAddressFrame &other)
 
- Public Member Functions inherited from inet::ieee80211::Ieee80211Frame
 Ieee80211Frame (const char *name=nullptr, short kind=0)
 
 Ieee80211Frame (const Ieee80211Frame &other)
 
virtual ~Ieee80211Frame ()
 
Ieee80211Frameoperator= (const Ieee80211Frame &other)
 
virtual short getType () const
 
virtual void setType (short type)
 
virtual bool getToDS () const
 
virtual void setToDS (bool toDS)
 
virtual bool getFromDS () const
 
virtual void setFromDS (bool fromDS)
 
virtual bool getRetry () const
 
virtual void setRetry (bool retry)
 
virtual bool getMoreFragments () const
 
virtual void setMoreFragments (bool moreFragments)
 
virtual ::omnetpp::simtime_t getDuration () const
 
virtual void setDuration (::omnetpp::simtime_t duration)
 
virtual short getAID () const
 
virtual void setAID (short AID)
 
virtual MACAddressgetReceiverAddress ()
 
virtual const MACAddressgetReceiverAddress () const
 
virtual void setReceiverAddress (const MACAddress &receiverAddress)
 
virtual ::omnetpp::simtime_t getMACArrive () const
 
virtual void setMACArrive (::omnetpp::simtime_t MACArrive)
 

Protected Member Functions

bool operator== (const Ieee80211DataFrame &)
 
- Protected Member Functions inherited from inet::ieee80211::Ieee80211DataOrMgmtFrame
bool operator== (const Ieee80211DataOrMgmtFrame &)
 
- Protected Member Functions inherited from inet::ieee80211::Ieee80211TwoAddressFrame
bool operator== (const Ieee80211TwoAddressFrame &)
 
- Protected Member Functions inherited from inet::ieee80211::Ieee80211OneAddressFrame
bool operator== (const Ieee80211OneAddressFrame &)
 
- Protected Member Functions inherited from inet::ieee80211::Ieee80211Frame
bool operator== (const Ieee80211Frame &)
 

Protected Attributes

MACAddress address4
 
uint16_t qos
 
int ackPolicy
 
uint8_t tid
 
bool aMsduPresent
 
- Protected Attributes inherited from inet::ieee80211::Ieee80211DataOrMgmtFrame
MACAddress address3
 
short fragmentNumber
 
uint16_t sequenceNumber
 
- Protected Attributes inherited from inet::ieee80211::Ieee80211TwoAddressFrame
MACAddress transmitterAddress
 
- Protected Attributes inherited from inet::ieee80211::Ieee80211Frame
short type
 
bool toDS
 
bool fromDS
 
bool retry
 
bool moreFragments
 
::omnetpp::simtime_t duration
 
short AID
 
MACAddress receiverAddress
 
::omnetpp::simtime_t MACArrive
 

Private Member Functions

void copy (const Ieee80211DataFrame &other)
 

Detailed Description

Class generated from inet/linklayer/ieee80211/mac/Ieee80211Frame.msg:177 by nedtool.

//
// Format of the 802.11 data frame
//
packet Ieee80211DataFrame extends Ieee80211DataOrMgmtFrame
{
    //  The presence of the Address 4 field is determined by the setting of the To DS and From DS subfields of
    //  the Frame Control field (see below). The QoS Control field is present when the QoS subfield of the Subtype
    //  field is set to 1 (8.3.2.1 Data frame format)
    //  FIXME: byteLength is not a constant value (DATAFRAME_HEADER_MINLENGTH / 8 = 28).
    //  For example, with Address 4 and without QoS the correct length is 34 bytes.
    //  Without Address 4 and QoS the correct value is indeed 28.
    //  With Address 4 and QoS the correct value is indeed 36.
    byteLength = DATAFRAME_HEADER_MINLENGTH / 8;
    type = ST_DATA;         // or ST_DATA_WITH_QOS
    MACAddress address4;    // optional field, exists when toDS and fromDS are true
    uint16 qos;             // TODO nobody uses this currently, only its parts like tid below... 
    int ackPolicy @enum(AckPolicy); //FIXME in real life this is part of the optional qos field above...
    uint8 tid; //FIXME in real life this is part of the optional qos field above...
    bool aMsduPresent = false; // 8.2.4.5.9 A-MSDU Present subfield FIXME in real life this is part of the optional qos field above...
}
//TODO this can be introduced when the SNAP header 
//packet Ieee80211QoSDataFrame extends Ieee80211DataFrame
//{
//    type = ST_DATA_WITH_QOS;
//    byteLength = (DATAFRAME_HEADER_MINLENGTH + QOSCONTROL_BITS) / 8;
//    int ackPolicy @enum(AckPolicy); //FIXME in real life this is part of the optional qos field above...
//    uint8 tid;
//    // TODO: other QoS control field parts
//}

Constructor & Destructor Documentation

inet::ieee80211::Ieee80211DataFrame::Ieee80211DataFrame ( const char *  name = nullptr,
short  kind = 0 
)
inet::ieee80211::Ieee80211DataFrame::Ieee80211DataFrame ( const Ieee80211DataFrame other)
virtual inet::ieee80211::Ieee80211DataFrame::~Ieee80211DataFrame ( )
virtual

Member Function Documentation

void inet::ieee80211::Ieee80211DataFrame::copy ( const Ieee80211DataFrame other)
private
virtual Ieee80211DataFrame* inet::ieee80211::Ieee80211DataFrame::dup ( ) const
inlineoverridevirtual
virtual MACAddress& inet::ieee80211::Ieee80211DataFrame::getAddress4 ( )
virtual
virtual const MACAddress& inet::ieee80211::Ieee80211DataFrame::getAddress4 ( ) const
inlinevirtual

Referenced by getAddress4().

536 {return const_cast<Ieee80211DataFrame*>(this)->getAddress4();}
virtual MACAddress & getAddress4()
Ieee80211DataFrame(const char *name=nullptr, short kind=0)
virtual bool inet::ieee80211::Ieee80211DataFrame::getAMsduPresent ( ) const
virtual
virtual uint16_t inet::ieee80211::Ieee80211DataFrame::getQos ( ) const
virtual
Ieee80211DataFrame& inet::ieee80211::Ieee80211DataFrame::operator= ( const Ieee80211DataFrame other)
bool inet::ieee80211::Ieee80211DataFrame::operator== ( const Ieee80211DataFrame )
protected
virtual void inet::ieee80211::Ieee80211DataFrame::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual
virtual void inet::ieee80211::Ieee80211DataFrame::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual
virtual void inet::ieee80211::Ieee80211DataFrame::setAckPolicy ( int  ackPolicy)
virtual
virtual void inet::ieee80211::Ieee80211DataFrame::setAddress4 ( const MACAddress address4)
virtual
virtual void inet::ieee80211::Ieee80211DataFrame::setAMsduPresent ( bool  aMsduPresent)
virtual
virtual void inet::ieee80211::Ieee80211DataFrame::setQos ( uint16_t  qos)
virtual

Member Data Documentation

int inet::ieee80211::Ieee80211DataFrame::ackPolicy
protected
MACAddress inet::ieee80211::Ieee80211DataFrame::address4
protected
bool inet::ieee80211::Ieee80211DataFrame::aMsduPresent
protected
uint16_t inet::ieee80211::Ieee80211DataFrame::qos
protected
uint8_t inet::ieee80211::Ieee80211DataFrame::tid
protected

The documentation for this class was generated from the following file: