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

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

#include <Ieee80211Frame_m.h>

Inheritance diagram for inet::ieee80211::Ieee80211Frame:
inet::ieee80211::Ieee80211OneAddressFrame inet::ieee80211::Ieee80211ACKFrame inet::ieee80211::Ieee80211CTSFrame inet::ieee80211::Ieee80211TwoAddressFrame inet::ieee80211::Ieee80211BlockAck inet::ieee80211::Ieee80211BlockAckReq inet::ieee80211::Ieee80211DataOrMgmtFrame inet::ieee80211::Ieee80211RTSFrame inet::ieee80211::Ieee80211BasicBlockAck inet::ieee80211::Ieee80211CompressedBlockAck inet::ieee80211::Ieee80211MultiTidBlockAck inet::ieee80211::Ieee80211BasicBlockAckReq inet::ieee80211::Ieee80211CompressedBlockAckReq inet::ieee80211::Ieee80211MultiTidBlockAckReq inet::ieee80211::Ieee80211DataFrame inet::ieee80211::Ieee80211ManagementFrame

Public Member Functions

 Ieee80211Frame (const char *name=nullptr, short kind=0)
 
 Ieee80211Frame (const Ieee80211Frame &other)
 
virtual ~Ieee80211Frame ()
 
Ieee80211Frameoperator= (const Ieee80211Frame &other)
 
virtual Ieee80211Framedup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
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 Ieee80211Frame &)
 

Protected Attributes

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 Ieee80211Frame &other)
 

Detailed Description

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

//
// The common part of 802.11 frames.
//
// NOTE:
// FCS value is not explicitly modeled, but it is included in the length.
// Frame control format fields not supported by this model are omitted:
// MoreFlag, PowerMgmt, MoreData, WEP, Order.
//
packet Ieee80211Frame
{
    byteLength = LENGTH_ACK / 8;
    short type @enum(Ieee80211FrameType); // type and subtype
    bool toDS;
    bool fromDS;
    bool retry;
    bool moreFragments;
    // TODO: rename to durationField (levy)
    simtime_t duration = -1; // "duration" in the Duration/ID field (-1=no duration)
    short AID = -1;          // "id" (Association ID) in the Duration/ID field (-1=no ID)
    MACAddress receiverAddress; // aka address1
    simtime_t MACArrive;    // FIXME remove it, technical data, used inside of MAC module
}

Constructor & Destructor Documentation

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

Member Function Documentation

void inet::ieee80211::Ieee80211Frame::copy ( const Ieee80211Frame other)
private
virtual Ieee80211Frame* inet::ieee80211::Ieee80211Frame::dup ( ) const
inlineoverridevirtual

Reimplemented in inet::ieee80211::Ieee80211MultiTidBlockAck, inet::ieee80211::Ieee80211CompressedBlockAck, inet::ieee80211::Ieee80211BasicBlockAck, inet::ieee80211::Ieee80211BlockAck, inet::ieee80211::Ieee80211MultiTidBlockAckReq, inet::ieee80211::Ieee80211ProbeResponseFrame, inet::ieee80211::Ieee80211BeaconFrame, inet::ieee80211::Ieee80211CompressedBlockAckReq, inet::ieee80211::Ieee80211ReassociationResponseFrame, inet::ieee80211::Ieee80211BasicBlockAckReq, inet::ieee80211::Ieee80211AssociationResponseFrame, inet::ieee80211::Ieee80211BlockAckReq, inet::ieee80211::Ieee80211ReassociationRequestFrame, inet::ieee80211::Ieee80211Delba, inet::ieee80211::Ieee80211AssociationRequestFrame, inet::ieee80211::Ieee80211ProbeRequestFrame, inet::ieee80211::Ieee80211AddbaResponse, inet::ieee80211::Ieee80211DisassociationFrame, inet::ieee80211::Ieee80211DeauthenticationFrame, inet::ieee80211::Ieee80211AddbaRequest, inet::ieee80211::Ieee80211AuthenticationFrame, inet::ieee80211::Ieee80211ActionFrame, inet::ieee80211::Ieee80211ManagementFrame, inet::ieee80211::Ieee80211DataFrameWithSNAP, inet::ieee80211::Ieee80211DataFrame, inet::ieee80211::Ieee80211DataOrMgmtFrame, inet::ieee80211::Ieee80211CTSFrame, inet::ieee80211::Ieee80211RTSFrame, inet::ieee80211::Ieee80211TwoAddressFrame, inet::ieee80211::Ieee80211ACKFrame, and inet::ieee80211::Ieee80211OneAddressFrame.

197 {return new Ieee80211Frame(*this);}
Ieee80211Frame(const char *name=nullptr, short kind=0)
virtual short inet::ieee80211::Ieee80211Frame::getAID ( ) const
virtual
virtual ::omnetpp::simtime_t inet::ieee80211::Ieee80211Frame::getMACArrive ( ) const
virtual MACAddress& inet::ieee80211::Ieee80211Frame::getReceiverAddress ( )
virtual

Referenced by inet::ieee80211::NonQoSSequenceNumberAssignment::assignSequenceNumber(), inet::ieee80211::QoSSequenceNumberAssignment::assignSequenceNumber(), inet::ieee80211::RtsProcedure::buildRtsFrame(), inet::ieee80211::PendingQueue::cmpMgmtOverMulticastOverUnicast(), inet::ieee80211::QoSRateSelection::computeControlFrameMode(), inet::ieee80211::OriginatorProtectionMechanism::computeDataFrameDurationField(), inet::ieee80211::SingleProtectionMechanism::computeDataOrMgmtFrameDurationField(), inet::ieee80211::RateSelection::computeDataOrMgmtFrameMode(), inet::ieee80211::QoSRateSelection::computeDataOrMgmtFrameMode(), inet::ieee80211::OriginatorProtectionMechanism::computeMgmtFrameDurationField(), inet::ieee80211::OriginatorBlockAckAgreementHandler::createAgreement(), inet::ieee80211::Ieee80211MgmtAdhoc::decapsulate(), inet::ieee80211::Ieee80211MgmtSTASimplified::decapsulate(), inet::ieee80211::Ieee80211MgmtSTA::decapsulate(), inet::InetPacketPrinter2::formatIeee80211Frame(), inet::ieee80211::QoSAckHandler::frameGotInProgress(), inet::ieee80211::RateSelection::frameTransmitted(), inet::ieee80211::QoSRateSelection::frameTransmitted(), inet::ieee80211::QoSSequenceNumberAssignment::getCacheType(), inet::ieee80211::QoSAckHandler::getMgmtOrNonQoSAckStatus(), inet::ieee80211::QoSAckHandler::getQoSDataAckStatus(), inet::ieee80211::Ieee80211MgmtAP::handleUpperMessage(), inet::ieee80211::HcfFs::hasMoreTxOpsAndMulticast(), inet::ieee80211::RecipientAckPolicy::isAckNeeded(), inet::ieee80211::RecipientQoSAckPolicy::isAckNeeded(), inet::ieee80211::OriginatorQoSAckPolicy::isAckNeeded(), inet::ieee80211::DcfFs::isBroadcastManagementOrGroupDataSequenceNeeded(), inet::ieee80211::BasicMsduAggregationPolicy::isEligible(), inet::ieee80211::FrameSequenceContext::isForUs(), inet::ieee80211::Dcf::isForUs(), inet::ieee80211::Hcf::isForUs(), inet::ieee80211::RtsPolicy::isRtsNeeded(), inet::ieee80211::QoSRtsPolicy::isRtsNeeded(), inet::ieee80211::Rx::lowerFrameReceived(), inet::ieee80211::Hcf::originatorProcessTransmittedFrame(), inet::ieee80211::QoSAckHandler::processFailedFrame(), inet::ieee80211::QoSAckHandler::processReceivedAck(), inet::ieee80211::RecipientBlockAckAgreementHandler::processReceivedDelba(), inet::ieee80211::OriginatorBlockAckAgreementHandler::processTransmittedAddbaReq(), inet::ieee80211::OriginatorBlockAckAgreementHandler::processTransmittedDataFrame(), inet::ieee80211::QoSAckHandler::processTransmittedDataOrMgmtFrame(), inet::ieee80211::OriginatorBlockAckAgreementHandler::processTransmittedDelba(), inet::ieee80211::RecipientBlockAckAgreementHandler::processTransmittedDelba(), inet::ieee80211::Ieee80211Mac::processUpperFrame(), inet::ieee80211::HcfFs::selectHcfSequence(), inet::serializer::Ieee80211Serializer::serialize(), inet::ieee80211::MsduDeaggregation::setExplodedFrameAddress(), inet::ieee80211::MsduAggregation::setSubframeAddress(), and inet::ieee80211::RecipientBlockAckAgreementHandler::updateAgreement().

virtual const MACAddress& inet::ieee80211::Ieee80211Frame::getReceiverAddress ( ) const
inlinevirtual

Referenced by getReceiverAddress().

217 {return const_cast<Ieee80211Frame*>(this)->getReceiverAddress();}
virtual MACAddress & getReceiverAddress()
Ieee80211Frame(const char *name=nullptr, short kind=0)
virtual short inet::ieee80211::Ieee80211Frame::getType ( ) const
virtual
Ieee80211Frame& inet::ieee80211::Ieee80211Frame::operator= ( const Ieee80211Frame other)
bool inet::ieee80211::Ieee80211Frame::operator== ( const Ieee80211Frame )
protected
virtual void inet::ieee80211::Ieee80211Frame::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual
virtual void inet::ieee80211::Ieee80211Frame::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual
virtual void inet::ieee80211::Ieee80211Frame::setAID ( short  AID)
virtual
virtual void inet::ieee80211::Ieee80211Frame::setDuration ( ::omnetpp::simtime_t  duration)
virtual
virtual void inet::ieee80211::Ieee80211Frame::setMACArrive ( ::omnetpp::simtime_t  MACArrive)
virtual
virtual void inet::ieee80211::Ieee80211Frame::setMoreFragments ( bool  moreFragments)
virtual

Member Data Documentation

short inet::ieee80211::Ieee80211Frame::AID
protected
::omnetpp::simtime_t inet::ieee80211::Ieee80211Frame::duration
protected
bool inet::ieee80211::Ieee80211Frame::fromDS
protected
::omnetpp::simtime_t inet::ieee80211::Ieee80211Frame::MACArrive
protected
bool inet::ieee80211::Ieee80211Frame::moreFragments
protected
MACAddress inet::ieee80211::Ieee80211Frame::receiverAddress
protected
bool inet::ieee80211::Ieee80211Frame::retry
protected
bool inet::ieee80211::Ieee80211Frame::toDS
protected
short inet::ieee80211::Ieee80211Frame::type
protected

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