A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lr-wpan-mac.h File Reference
#include <ns3/event-id.h>
#include <ns3/lr-wpan-fields.h>
#include <ns3/lr-wpan-phy.h>
#include <ns3/mac16-address.h>
#include <ns3/mac64-address.h>
#include <ns3/object.h>
#include <ns3/sequence-number.h>
#include <ns3/traced-callback.h>
#include <ns3/traced-value.h>
#include <deque>
#include <memory>
+ Include dependency graph for lr-wpan-mac.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ns3::LrWpanMac::IndTxQueueElement
 Helper structure for managing pending transaction list elements (Indirect transmissions). More...
 
class  ns3::LrWpanMac
 Class that implements the LR-WPAN MAC state machine. More...
 
struct  ns3::LrWpanMacPibAttributes
 IEEE802.15.4-2011 PHY PIB Attributes Table 52 in section 6.4.2. More...
 
struct  ns3::McpsDataConfirmParams
 MCPS-DATA.confirm params. More...
 
struct  ns3::McpsDataIndicationParams
 MCPS-DATA.indication params. More...
 
struct  ns3::McpsDataRequestParams
 MCPS-DATA.request params. More...
 
struct  ns3::MlmeAssociateConfirmParams
 MLME-ASSOCIATE.confirm params. More...
 
struct  ns3::MlmeAssociateIndicationParams
 MLME-ASSOCIATE.indication params. More...
 
struct  ns3::MlmeAssociateRequestParams
 MLME-ASSOCIATE.request params. More...
 
struct  ns3::MlmeAssociateResponseParams
 MLME-ASSOCIATE.response params. More...
 
struct  ns3::MlmeBeaconNotifyIndicationParams
 MLME-BEACON-NOTIFY.indication params. More...
 
struct  ns3::MlmeCommStatusIndicationParams
 MLME-COMM-STATUS.indication params. More...
 
struct  ns3::MlmeOrphanIndicationParams
 MLME-ORPHAN.indication params. More...
 
struct  ns3::MlmeOrphanResponseParams
 MLME-ORPHAN.response params. More...
 
struct  ns3::MlmePollConfirmParams
 MLME-START.confirm params. More...
 
struct  ns3::MlmePollRequestParams
 MLME-POLL.request params. More...
 
struct  ns3::MlmeScanConfirmParams
 MLME-SCAN.confirm params. More...
 
struct  ns3::MlmeScanRequestParams
 MLME-SCAN.request params. More...
 
struct  ns3::MlmeSetConfirmParams
 MLME-SET.confirm params. More...
 
struct  ns3::MlmeStartConfirmParams
 MLME-START.confirm params. More...
 
struct  ns3::MlmeStartRequestParams
 MLME-START.request params. More...
 
struct  ns3::MlmeSyncLossIndicationParams
 MLME-SYNC-LOSS.indication params. More...
 
struct  ns3::MlmeSyncRequestParams
 MLME-SYNC.request params. More...
 
struct  ns3::PanDescriptor
 PAN Descriptor, Table 17 IEEE 802.15.4-2011. More...
 
struct  ns3::LrWpanMac::TxQueueElement
 Helper structure for managing transmission queue elements. More...
 

Namespaces

namespace  ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 
namespace  ns3::TracedValueCallback
 TracedValue Callback function types.
 

Typedefs

typedef void(* ns3::TracedValueCallback::LrWpanMacState) (LrWpanMacState oldValue, LrWpanMacState newValue)
 TracedValue callback signature for LrWpanMacState.
 
typedef Callback< void, McpsDataConfirmParams > ns3::McpsDataConfirmCallback
 This callback is called after a McpsDataRequest has been called from the higher layer.
 
typedef Callback< void, McpsDataIndicationParams, Ptr< Packet > > ns3::McpsDataIndicationCallback
 This callback is called after a Mcps has successfully received a frame and wants to deliver it to the higher layer.
 
typedef Callback< void, MlmeAssociateConfirmParams > ns3::MlmeAssociateConfirmCallback
 This callback is called after a MlmeAssociateRequest has been called from the higher layer.
 
typedef Callback< void, MlmeAssociateIndicationParams > ns3::MlmeAssociateIndicationCallback
 This callback is called after a Mlme has successfully received a command frame and wants to deliver it to the higher layer.
 
typedef Callback< void, MlmeBeaconNotifyIndicationParams > ns3::MlmeBeaconNotifyIndicationCallback
 This callback is called after a Mlme has successfully received a beacon frame and wants to deliver it to the higher layer.
 
typedef Callback< void, MlmeCommStatusIndicationParams > ns3::MlmeCommStatusIndicationCallback
 This callback is called by the MLME and issued to its next higher layer following a transmission instigated through a response primitive.
 
typedef Callback< void, LrWpanMlmeGetConfirmStatus, LrWpanMacPibAttributeIdentifier, Ptr< LrWpanMacPibAttributes > > ns3::MlmeGetConfirmCallback
 This callback is called after a MlmeGetRequest has been called from the higher layer to get a PIB.
 
typedef Callback< void, MlmeOrphanIndicationParams > ns3::MlmeOrphanIndicationCallback
 This callback is called by the MLME and issued to its next higher layer following the reception of a orphan notification.
 
typedef Callback< void, MlmePollConfirmParams > ns3::MlmePollConfirmCallback
 This callback is called after a Mlme-Poll.Request has been called from the higher layer.
 
typedef Callback< void, MlmeScanConfirmParams > ns3::MlmeScanConfirmCallback
 This callback is called after a MlmeScanRequest has been called from the higher layer.
 
typedef Callback< void, MlmeSetConfirmParams > ns3::MlmeSetConfirmCallback
 This callback is called after a MlmeSetRequest has been called from the higher layer to set a PIB.
 
typedef Callback< void, MlmeStartConfirmParams > ns3::MlmeStartConfirmCallback
 This callback is called after a MlmeStartRequest has been called from the higher layer.
 
typedef Callback< void, MlmeSyncLossIndicationParams > ns3::MlmeSyncLossIndicationCallback
 This callback is called to indicate the loss of synchronization with a coordinator.
 
typedef void(* ns3::TracedValueCallback::SuperframeStatus) (SuperframeStatus oldValue, SuperframeStatus newValue)
 TracedValue callback signature for SuperframeStatus.
 

Enumerations

enum  ns3::LrWpanAddressMode { ns3::NO_PANID_ADDR = 0 , ns3::ADDR_MODE_RESERVED = 1 , ns3::SHORT_ADDR = 2 , ns3::EXT_ADDR = 3 }
 table 80 of 802.15.4 More...
 
enum  ns3::LrWpanAssociationStatus {
  ns3::ASSOCIATED = 0 , ns3::PAN_AT_CAPACITY = 1 , ns3::PAN_ACCESS_DENIED = 2 , ns3::ASSOCIATED_WITHOUT_ADDRESS = 0xfe ,
  ns3::DISASSOCIATED = 0xff
}
 table 83 of 802.15.4 More...
 
enum  ns3::LrWpanMacPibAttributeIdentifier {
  ns3::macBeaconPayload = 0 , ns3::macBeaconPayloadLength = 1 , ns3::macShortAddress = 2 , ns3::macExtendedAddress = 3 ,
  ns3::macPanId = 4 , ns3::unsupported = 255
}
 IEEE802.15.4-2011 MAC PIB Attribute Identifiers Table 52 in section 6.4.2. More...
 
enum  ns3::LrWpanMacState {
  ns3::MAC_IDLE , ns3::MAC_CSMA , ns3::MAC_SENDING , ns3::MAC_ACK_PENDING ,
  ns3::CHANNEL_ACCESS_FAILURE , ns3::CHANNEL_IDLE , ns3::SET_PHY_TX_ON , ns3::MAC_GTS ,
  ns3::MAC_INACTIVE , ns3::MAC_CSMA_DEFERRED
}
 MAC states. More...
 
enum  ns3::LrWpanMcpsDataConfirmStatus {
  ns3::IEEE_802_15_4_SUCCESS = 0 , ns3::IEEE_802_15_4_TRANSACTION_OVERFLOW = 1 , ns3::IEEE_802_15_4_TRANSACTION_EXPIRED = 2 , ns3::IEEE_802_15_4_CHANNEL_ACCESS_FAILURE = 3 ,
  ns3::IEEE_802_15_4_INVALID_ADDRESS = 4 , ns3::IEEE_802_15_4_INVALID_GTS = 5 , ns3::IEEE_802_15_4_NO_ACK = 6 , ns3::IEEE_802_15_4_COUNTER_ERROR = 7 ,
  ns3::IEEE_802_15_4_FRAME_TOO_LONG = 8 , ns3::IEEE_802_15_4_UNAVAILABLE_KEY = 9 , ns3::IEEE_802_15_4_UNSUPPORTED_SECURITY = 10 , ns3::IEEE_802_15_4_INVALID_PARAMETER = 11
}
 Table 42 of 802.15.4-2006. More...
 
enum  ns3::LrWpanMlmeAssociateConfirmStatus {
  ns3::MLMEASSOC_SUCCESS = 0 , ns3::MLMEASSOC_FULL_CAPACITY = 1 , ns3::MLMEASSOC_ACCESS_DENIED = 2 , ns3::MLMEASSOC_CHANNEL_ACCESS_FAILURE = 3 ,
  ns3::MLMEASSOC_NO_ACK = 4 , ns3::MLMEASSOC_NO_DATA = 5 , ns3::MLMEASSOC_COUNTER_ERROR = 6 , ns3::MLMEASSOC_FRAME_TOO_LONG = 7 ,
  ns3::MLMEASSOC_UNSUPPORTED_LEGACY = 8 , ns3::MLMEASSOC_INVALID_PARAMETER = 9
}
 Table 12 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanMlmeCommStatus {
  ns3::MLMECOMMSTATUS_SUCCESS = 0 , ns3::MLMECOMMSTATUS_TRANSACTION_OVERFLOW = 1 , ns3::MLMECOMMSTATUS_TRANSACTION_EXPIRED = 2 , ns3::MLMECOMMSTATUS_CHANNEL_ACCESS_FAILURE = 3 ,
  ns3::MLMECOMMSTATUS_NO_ACK = 4 , ns3::MLMECOMMSTATUS_COUNTER_ERROR = 5 , ns3::MLMECOMMSTATUS_FRAME_TOO_LONG = 6 , ns3::MLMECOMMSTATUS_INVALID_PARAMETER = 7
}
 Table 18 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanMlmeGetConfirmStatus { ns3::MLMEGET_SUCCESS = 0 , ns3::MLMEGET_UNSUPPORTED_ATTRIBUTE = 1 }
 Table 20 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanMlmePollConfirmStatus {
  ns3::MLMEPOLL_SUCCESS = 0 , ns3::MLMEPOLL_CHANNEL_ACCESS_FAILURE = 2 , ns3::MLMEPOLL_NO_ACK = 3 , ns3::MLMEPOLL_NO_DATA = 4 ,
  ns3::MLMEPOLL_COUNTER_ERROR = 5 , ns3::MLMEPOLL_FRAME_TOO_LONG = 6 , ns3::MLMEPOLL_UNAVAILABLE_KEY = 7 , ns3::MLMEPOLL_UNSUPPORTED_SECURITY = 8 ,
  ns3::MLMEPOLL_INVALID_PARAMETER = 9
}
 Table 39 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanMlmeScanConfirmStatus {
  ns3::MLMESCAN_SUCCESS = 0 , ns3::MLMESCAN_LIMIT_REACHED = 1 , ns3::MLMESCAN_NO_BEACON = 2 , ns3::MLMESCAN_SCAN_IN_PROGRESS = 3 ,
  ns3::MLMESCAN_COUNTER_ERROR = 4 , ns3::MLMESCAN_FRAME_TOO_LONG = 5 , ns3::MLMESCAN_UNAVAILABLE_KEY = 6 , ns3::MLMESCAN_UNSUPPORTED_SECURITY = 7 ,
  ns3::MLMESCAN_INVALID_PARAMETER = 8
}
 Table 31 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanMlmeScanType { ns3::MLMESCAN_ED = 0x00 , ns3::MLMESCAN_ACTIVE = 0x01 , ns3::MLMESCAN_PASSIVE = 0x02 , ns3::MLMESCAN_ORPHAN = 0x03 }
 Table 30 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanMlmeSetConfirmStatus {
  ns3::MLMESET_SUCCESS = 0 , ns3::MLMESET_READ_ONLY = 1 , ns3::MLMESET_UNSUPPORTED_ATTRIBUTE = 2 , ns3::MLMESET_INVALID_INDEX = 3 ,
  ns3::MLMESET_INVALID_PARAMETER = 4
}
 Table 33 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanMlmeStartConfirmStatus {
  ns3::MLMESTART_SUCCESS = 0 , ns3::MLMESTART_NO_SHORT_ADDRESS = 1 , ns3::MLMESTART_SUPERFRAME_OVERLAP = 2 , ns3::MLMESTART_TRACKING_OFF = 3 ,
  ns3::MLMESTART_INVALID_PARAMETER = 4 , ns3::MLMESTART_COUNTER_ERROR = 5 , ns3::MLMESTART_FRAME_TOO_LONG = 6 , ns3::MLMESTART_UNAVAILABLE_KEY = 7 ,
  ns3::MLMESTART_UNSUPPORTED_SECURITY = 8 , ns3::MLMESTART_CHANNEL_ACCESS_FAILURE = 9
}
 Table 35 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanSyncLossReason { ns3::MLMESYNCLOSS_PAN_ID_CONFLICT = 0 , ns3::MLMESYNCLOSS_REALIGMENT = 1 , ns3::MLMESYNCLOSS_BEACON_LOST = 2 , ns3::MLMESYNCLOSS_SUPERFRAME_OVERLAP = 3 }
 Table 37 of IEEE 802.15.4-2011. More...
 
enum  ns3::LrWpanTxOption { ns3::TX_OPTION_NONE = 0 , ns3::TX_OPTION_ACK = 1 , ns3::TX_OPTION_GTS = 2 , ns3::TX_OPTION_INDIRECT = 4 }
 Tx options. More...
 
enum  ns3::PendingPrimitiveStatus {
  ns3::MLME_NONE = 0 , ns3::MLME_START_REQ = 1 , ns3::MLME_SCAN_REQ = 2 , ns3::MLME_ASSOC_REQ = 3 ,
  ns3::MLME_SYNC_REQ = 4
}
 Indicates a pending MAC primitive. More...
 
enum  ns3::SuperframeStatus { ns3::BEACON , ns3::CAP , ns3::CFP , ns3::INACTIVE }
 Superframe status. More...
 
enum  ns3::SuperframeType { ns3::OUTGOING = 0 , ns3::INCOMING = 1 }
 Superframe type. More...