A Discrete-Event Network Simulator
API
lr-wpan-mac-header.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011 The Boeing Company
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: kwong yin <kwong-sang.yin@boeing.com>
19  */
20 
21 /*
22  * the following classes implements the 802.15.4 Mac Header
23  * There are 4 types of 802.15.4 Mac Headers Frames, and they have these fields
24  *
25  * Headers Frames : Fields
26  * -------------------------------------------------------------------------------------------
27  * Beacon : Frame Control, Sequence Number, Address Fields+, Auxiliary Security Header++.
28  * Data : Frame Control, Sequence Number, Address Fields++, Auxiliary Security Header++.
29  * Acknowledgment : Frame Control, Sequence Number.
30  * Command : Frame Control, Sequence Number, Address Fields++, Auxiliary Security Header++.
31  *
32  * + - The Address fields in Beacon frame is made up of the Source PAN Id and address only and size
33  * is 4 or 8 octets whereas the other frames may contain the Destination PAN Id and address as
34  * well. (see specs).
35  * ++ - These fields are optional and of variable size
36  */
37 
38 #ifndef LR_WPAN_MAC_HEADER_H
39 #define LR_WPAN_MAC_HEADER_H
40 
41 #include <ns3/header.h>
42 #include <ns3/mac16-address.h>
43 #include <ns3/mac64-address.h>
44 
45 
46 namespace ns3 {
47 
48 
53 class LrWpanMacHeader : public Header
54 {
55 
56 public:
61  {
67  };
68 
73  {
74  NOADDR = 0,
75  RESADDR = 1,
76  SHORTADDR = 2,
77  EXTADDR = 3
78  };
79 
84  {
85  IMPLICIT = 0,
88  LONGKEYSOURCE = 3
89  };
90 
91  LrWpanMacHeader (void);
92 
98  LrWpanMacHeader (enum LrWpanMacType wpanMacType, // Data, ACK, Control MAC Header must have
99  uint8_t seqNum); // frame control and sequence number.
100  // Beacon MAC Header must have frame control,
101  // sequence number, source PAN Id, source address.
102 
103  ~LrWpanMacHeader (void);
104 
109  enum LrWpanMacType GetType (void) const;
114  uint16_t GetFrameControl (void) const;
119  bool IsSecEnable (void) const;
124  bool IsFrmPend (void) const;
129  bool IsAckReq (void) const;
134  bool IsPanIdComp (void) const;
139  uint8_t GetFrmCtrlRes (void) const;
144  uint8_t GetDstAddrMode (void) const;
149  uint8_t GetFrameVer (void) const;
154  uint8_t GetSrcAddrMode (void) const;
159  uint8_t GetSeqNum (void) const;
164  uint16_t GetDstPanId (void) const;
169  Mac16Address GetShortDstAddr (void) const;
174  Mac64Address GetExtDstAddr (void) const;
179  uint16_t GetSrcPanId (void) const;
184  Mac16Address GetShortSrcAddr (void) const;
189  Mac64Address GetExtSrcAddr (void) const;
194  uint8_t GetSecControl (void) const;
199  uint32_t GetFrmCounter (void) const;
200 
205  uint8_t GetSecLevel (void) const;
210  uint8_t GetKeyIdMode (void) const;
215  uint8_t GetSecCtrlReserved (void) const;
220  uint32_t GetKeyIdSrc32 (void) const;
225  uint64_t GetKeyIdSrc64 (void) const;
230  uint8_t GetKeyIdIndex (void) const;
235  bool IsBeacon (void) const;
240  bool IsData (void) const;
245  bool IsAcknowledgment (void) const;
250  bool IsCommand (void) const;
255  void SetType (enum LrWpanMacType wpanMacType);
260  void SetFrameControl (uint16_t frameControl);
264  void SetSecEnable (void);
268  void SetSecDisable (void);
272  void SetFrmPend (void);
276  void SetNoFrmPend (void);
280  void SetAckReq (void);
284  void SetNoAckReq (void);
288  void SetPanIdComp (void);
292  void SetNoPanIdComp (void);
297  void SetFrmCtrlRes (uint8_t res);
302  void SetDstAddrMode (uint8_t addrMode);
307  void SetFrameVer (uint8_t ver);
312  void SetSrcAddrMode (uint8_t addrMode);
317  void SetSeqNum (uint8_t seqNum);
318  /* The Source/Destination Addressing fields are only set if SrcAddrMode/DstAddrMode are set */
324  void SetSrcAddrFields (uint16_t panId, Mac16Address addr);
330  void SetSrcAddrFields (uint16_t panId, Mac64Address addr);
336  void SetDstAddrFields (uint16_t panId, Mac16Address addr);
342  void SetDstAddrFields (uint16_t panId, Mac64Address addr);
343 
344  /* Auxiliary Security Header is only set if Sec Enable (SecU) field is set to 1 */
349  void SetSecControl (uint8_t secLevel);
354  void SetFrmCounter (uint32_t frmCntr);
359  void SetSecLevel (uint8_t secLevel);
364  void SetKeyIdMode (uint8_t keyIdMode);
369  void SetSecCtrlReserved (uint8_t res);
370  /* Variable length will be dependent on Key Id Mode*/
375  void SetKeyId (uint8_t keyIndex);
381  void SetKeyId (uint32_t keySrc, uint8_t keyIndex);
387  void SetKeyId (uint64_t keySrc, uint8_t keyIndex);
392  static TypeId GetTypeId (void);
393  virtual TypeId GetInstanceTypeId (void) const;
394 
395  void Print (std::ostream &os) const;
396  uint32_t GetSerializedSize (void) const;
397  void Serialize (Buffer::Iterator start) const;
399 
400 
401 private:
402  /* Frame Control 2 Octets */
403  /* Frame Control field - see 7.2.1.1 */
404  uint8_t m_fctrlFrmType;
405  uint8_t m_fctrlSecU;
407  uint8_t m_fctrlAckReq;
409  uint8_t m_fctrlReserved;
411  uint8_t m_fctrlFrmVer;
413 
414  /* Sequence Number */
415  uint8_t m_SeqNum;
416 
417  /* Addressing fields */
418  uint16_t m_addrDstPanId;
421  uint16_t m_addrSrcPanId;
424 
425  /* Auxiliary Security Header - See 7.6.2 - 0, 5, 6, 10 or 14 Octets */
426  // uint8_t m_auxSecCtrl; // 1 Octet see below
427  uint32_t m_auxFrmCntr;
428 
429  /* Security Control fields - See 7.6.2.2 */
432  // = 0 - Key is determined implicitly
433  // from originator and recipient
434  // = 1 - 1 Octet Key Index
435  // = 2 - 1 Octet Key Index and 4 oct Key src
436  // = 3 - 1 Octet Key Index and 8 oct Key src
437 
439 
440  union
441  {
444  };
445 
447 
448 }; //LrWpanMacHeader
449 
450 }; // namespace ns-3
451 
452 #endif /* LR_WPAN_MAC_HEADER_H */
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::LrWpanMacHeader::NOKEYSOURCE
@ NOKEYSOURCE
Definition: lr-wpan-mac-header.h:86
ns3::LrWpanMacHeader::SetSecDisable
void SetSecDisable(void)
Set the Frame Control field "Security Enabled" bit to false.
Definition: lr-wpan-mac-header.cc:311
ns3::LrWpanMacHeader::GetSecLevel
uint8_t GetSecLevel(void) const
Get the Auxiliary Security Header - Security Control - Security Level bits.
Definition: lr-wpan-mac-header.cc:219
ns3::LrWpanMacHeader::m_addrSrcPanId
uint16_t m_addrSrcPanId
Src PAN id (0 or 2 Octets)
Definition: lr-wpan-mac-header.h:421
ns3::LrWpanMacHeader::SetFrmCtrlRes
void SetFrmCtrlRes(uint8_t res)
Set the Frame Control field "Reserved" bits.
Definition: lr-wpan-mac-header.cc:358
ns3::LrWpanMacHeader::m_fctrlPanIdComp
uint8_t m_fctrlPanIdComp
Frame Control field Bit 6 = 0 - no compression, 1 - using only DstPanId for both Src and DstPanId.
Definition: lr-wpan-mac-header.h:408
ns3::LrWpanMacHeader::m_fctrlReserved
uint8_t m_fctrlReserved
Frame Control field Bit 7-9.
Definition: lr-wpan-mac-header.h:409
ns3::LrWpanMacHeader::~LrWpanMacHeader
~LrWpanMacHeader(void)
Definition: lr-wpan-mac-header.cc:59
ns3::LrWpanMacHeader::m_fctrlFrmVer
uint8_t m_fctrlFrmVer
Frame Control field Bit 12-13.
Definition: lr-wpan-mac-header.h:411
ns3::LrWpanMacHeader::m_fctrlSrcAddrMode
uint8_t m_fctrlSrcAddrMode
Frame Control field Bit 14-15 = 0 - No SrcAddr, 2 - ShtSrcAddr, 3 - ExtSrcAddr.
Definition: lr-wpan-mac-header.h:412
ns3::LrWpanMacHeader::SetDstAddrMode
void SetDstAddrMode(uint8_t addrMode)
Set the Destination address mode.
Definition: lr-wpan-mac-header.cc:364
ns3::LrWpanMacHeader::GetSeqNum
uint8_t GetSeqNum(void) const
Get the frame Sequence number.
Definition: lr-wpan-mac-header.cc:156
ns3::LrWpanMacHeader::RESADDR
@ RESADDR
Definition: lr-wpan-mac-header.h:75
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::LrWpanMacHeader::m_addrShortSrcAddr
Mac16Address m_addrShortSrcAddr
Src Short addr (0 or 2 Octets)
Definition: lr-wpan-mac-header.h:422
ns3::LrWpanMacHeader::LRWPAN_MAC_DATA
@ LRWPAN_MAC_DATA
LRWPAN_MAC_DATA.
Definition: lr-wpan-mac-header.h:63
ns3::LrWpanMacHeader::LRWPAN_MAC_COMMAND
@ LRWPAN_MAC_COMMAND
LRWPAN_MAC_COMMAND.
Definition: lr-wpan-mac-header.h:65
ns3::LrWpanMacHeader::Serialize
void Serialize(Buffer::Iterator start) const
Definition: lr-wpan-mac-header.cc:636
ns3::LrWpanMacHeader::LRWPAN_MAC_BEACON
@ LRWPAN_MAC_BEACON
LRWPAN_MAC_BEACON.
Definition: lr-wpan-mac-header.h:62
ns3::Mac16Address
This class can contain 16 bit addresses.
Definition: mac16-address.h:42
ns3::LrWpanMacHeader::GetKeyIdMode
uint8_t GetKeyIdMode(void) const
Get the Auxiliary Security Header - Security Control - Key Identifier Mode bits.
Definition: lr-wpan-mac-header.cc:225
ns3::LrWpanMacHeader::SetKeyIdMode
void SetKeyIdMode(uint8_t keyIdMode)
Set the Security Control field "Key Identifier Mode" bits (2 bits)
Definition: lr-wpan-mac-header.cc:441
ns3::LrWpanMacHeader::SetSecControl
void SetSecControl(uint8_t secLevel)
Set the auxiliary security header "Security Control" octet.
Definition: lr-wpan-mac-header.cc:421
ns3::LrWpanMacHeader::GetFrameVer
uint8_t GetFrameVer(void) const
Get the Frame Version of Frame control field.
Definition: lr-wpan-mac-header.cc:143
ns3::LrWpanMacHeader::GetShortSrcAddr
Mac16Address GetShortSrcAddr(void) const
Get the Source Short address.
Definition: lr-wpan-mac-header.cc:189
ns3::LrWpanMacHeader::KeyIdModeType
KeyIdModeType
The addressing mode types, see IEEE 802.15.4-2006, Table 80.
Definition: lr-wpan-mac-header.h:84
ns3::LrWpanMacHeader::LRWPAN_MAC_ACKNOWLEDGMENT
@ LRWPAN_MAC_ACKNOWLEDGMENT
LRWPAN_MAC_ACKNOWLEDGMENT.
Definition: lr-wpan-mac-header.h:64
ns3::LrWpanMacHeader::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: lr-wpan-mac-header.cc:477
ns3::LrWpanMacHeader::m_secctrlKeyIdMode
uint8_t m_secctrlKeyIdMode
Auxiliary security header - Security Control field - Bit 3-4 will indicate size of Key Id.
Definition: lr-wpan-mac-header.h:431
ns3::LrWpanMacHeader::SetKeyId
void SetKeyId(uint8_t keyIndex)
Set the Key Index.
Definition: lr-wpan-mac-header.cc:453
ns3::LrWpanMacHeader::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: lr-wpan-mac-header.cc:556
ns3::LrWpanMacHeader::GetShortDstAddr
Mac16Address GetShortDstAddr(void) const
Get the Destination Short address.
Definition: lr-wpan-mac-header.cc:170
ns3::Mac64Address
an EUI-64 address
Definition: mac64-address.h:44
ns3::LrWpanMacHeader::GetKeyIdSrc32
uint32_t GetKeyIdSrc32(void) const
Get the Auxiliary Security Header - Key Identifier - Key Source (2 Octects)
Definition: lr-wpan-mac-header.cc:237
ns3::LrWpanMacHeader::GetKeyIdSrc64
uint64_t GetKeyIdSrc64(void) const
Get the Auxiliary Security Header - Key Identifier - Key Source (4 Octects)
Definition: lr-wpan-mac-header.cc:243
ns3::LrWpanMacHeader::SetSrcAddrMode
void SetSrcAddrMode(uint8_t addrMode)
Set the Source address mode.
Definition: lr-wpan-mac-header.cc:378
ns3::LrWpanMacHeader::SetSecEnable
void SetSecEnable(void)
Set the Frame Control field "Security Enabled" bit to true.
Definition: lr-wpan-mac-header.cc:304
ns3::LrWpanMacHeader::GetSrcPanId
uint16_t GetSrcPanId(void) const
Get the Source PAN ID.
Definition: lr-wpan-mac-header.cc:181
ns3::LrWpanMacHeader::IsAckReq
bool IsAckReq(void) const
Check if Ack.
Definition: lr-wpan-mac-header.cc:119
ns3::LrWpanMacHeader::EXTADDR
@ EXTADDR
Definition: lr-wpan-mac-header.h:77
ns3::LrWpanMacHeader::m_fctrlDstAddrMode
uint8_t m_fctrlDstAddrMode
Frame Control field Bit 10-11 = 0 - No DstAddr, 2 - ShtDstAddr, 3 - ExtDstAddr.
Definition: lr-wpan-mac-header.h:410
ns3::LrWpanMacHeader::m_secctrlReserved
uint8_t m_secctrlReserved
Auxiliary security header - Security Control field - Bit 5-7.
Definition: lr-wpan-mac-header.h:438
ns3::LrWpanMacHeader::SetDstAddrFields
void SetDstAddrFields(uint16_t panId, Mac16Address addr)
Set Destination address fields.
Definition: lr-wpan-mac-header.cc:407
visualizer.core.start
def start()
Definition: core.py:1855
ns3::LrWpanMacHeader::Print
void Print(std::ostream &os) const
Definition: lr-wpan-mac-header.cc:493
ns3::LrWpanMacHeader::SetNoAckReq
void SetNoAckReq(void)
Set the Frame Control field "Ack. Request" bit to false.
Definition: lr-wpan-mac-header.cc:339
ns3::LrWpanMacHeader::IMPLICIT
@ IMPLICIT
Definition: lr-wpan-mac-header.h:85
ns3::LrWpanMacHeader::SetFrameVer
void SetFrameVer(uint8_t ver)
Set the Frame version.
Definition: lr-wpan-mac-header.cc:371
ns3::LrWpanMacHeader::SetSeqNum
void SetSeqNum(uint8_t seqNum)
Set the Sequence number.
Definition: lr-wpan-mac-header.cc:385
ns3::LrWpanMacHeader::m_fctrlFrmType
uint8_t m_fctrlFrmType
Frame Control field Bit 0-2 = 0 - Beacon, 1 - Data, 2 - Ack, 3 - Command.
Definition: lr-wpan-mac-header.h:404
ns3::LrWpanMacHeader::SetNoFrmPend
void SetNoFrmPend(void)
Set the Frame Control field "Frame Pending" bit to false.
Definition: lr-wpan-mac-header.cc:325
ns3::LrWpanMacHeader::SHORTKEYSOURCE
@ SHORTKEYSOURCE
Definition: lr-wpan-mac-header.h:87
ns3::LrWpanMacHeader::GetSrcAddrMode
uint8_t GetSrcAddrMode(void) const
Get the Source Addressing Mode of Frame control field.
Definition: lr-wpan-mac-header.cc:149
ns3::LrWpanMacHeader::LONGKEYSOURCE
@ LONGKEYSOURCE
Definition: lr-wpan-mac-header.h:88
ns3::LrWpanMacHeader::m_auxKeyIdKeyIndex
uint8_t m_auxKeyIdKeyIndex
Auxiliary security header - Key Index (1 Octet)
Definition: lr-wpan-mac-header.h:446
ns3::LrWpanMacHeader::IsData
bool IsData(void) const
Returns true if the header is a data.
Definition: lr-wpan-mac-header.cc:262
ns3::LrWpanMacHeader::GetKeyIdIndex
uint8_t GetKeyIdIndex(void) const
Get the Auxiliary Security Header - Key Identifier - Key Index.
Definition: lr-wpan-mac-header.cc:250
ns3::LrWpanMacHeader::AddrModeType
AddrModeType
The addressing mode types, see IEEE 802.15.4-2006, Table 80.
Definition: lr-wpan-mac-header.h:73
ns3::LrWpanMacHeader::SetNoPanIdComp
void SetNoPanIdComp(void)
Set the Frame Control field "PAN ID Compression" bit to false.
Definition: lr-wpan-mac-header.cc:352
ns3::LrWpanMacHeader::SetPanIdComp
void SetPanIdComp(void)
Set the Frame Control field "PAN ID Compression" bit to true.
Definition: lr-wpan-mac-header.cc:346
ns3::LrWpanMacHeader::GetType
enum LrWpanMacType GetType(void) const
Get the header type.
Definition: lr-wpan-mac-header.cc:65
ns3::LrWpanMacHeader::SetAckReq
void SetAckReq(void)
Set the Frame Control field "Ack. Request" bit to true.
Definition: lr-wpan-mac-header.cc:332
ns3::LrWpanMacHeader::IsPanIdComp
bool IsPanIdComp(void) const
Check if PAN ID Compression bit of Frame Control is enabled.
Definition: lr-wpan-mac-header.cc:125
ns3::LrWpanMacHeader::m_fctrlSecU
uint8_t m_fctrlSecU
Frame Control field Bit 3 = 0 - no AuxSecHdr , 1 - security enabled AuxSecHdr present.
Definition: lr-wpan-mac-header.h:405
ns3::LrWpanMacHeader
Represent the Mac Header with the Frame Control and Sequence Number fields.
Definition: lr-wpan-mac-header.h:54
ns3::LrWpanMacHeader::m_auxFrmCntr
uint32_t m_auxFrmCntr
Auxiliary security header - Frame Counter (4 Octets)
Definition: lr-wpan-mac-header.h:427
ns3::LrWpanMacHeader::m_secctrlSecLevel
uint8_t m_secctrlSecLevel
Auxiliary security header - Security Control field - Bit 0-2.
Definition: lr-wpan-mac-header.h:430
ns3::LrWpanMacHeader::GetExtDstAddr
Mac64Address GetExtDstAddr(void) const
Get the Destination Extended address.
Definition: lr-wpan-mac-header.cc:175
ns3::Header
Protocol header serialization and deserialization.
Definition: header.h:43
ns3::LrWpanMacHeader::SetSrcAddrFields
void SetSrcAddrFields(uint16_t panId, Mac16Address addr)
Set Source address fields.
Definition: lr-wpan-mac-header.cc:391
ns3::LrWpanMacHeader::LrWpanMacHeader
LrWpanMacHeader(void)
Definition: lr-wpan-mac-header.cc:29
ns3::LrWpanMacHeader::SetSecLevel
void SetSecLevel(uint8_t secLevel)
Set the Security Control field "Security Level" bits (3 bits)
Definition: lr-wpan-mac-header.cc:435
ns3::LrWpanMacHeader::IsAcknowledgment
bool IsAcknowledgment(void) const
Returns true if the header is an ack.
Definition: lr-wpan-mac-header.cc:268
ns3::LrWpanMacHeader::SetFrmPend
void SetFrmPend(void)
Set the Frame Control field "Frame Pending" bit to true.
Definition: lr-wpan-mac-header.cc:318
ns3::LrWpanMacHeader::m_auxKeyIdKeySrc32
uint32_t m_auxKeyIdKeySrc32
Auxiliary security header - Key Source (4 Octets)
Definition: lr-wpan-mac-header.h:442
ns3::LrWpanMacHeader::GetExtSrcAddr
Mac64Address GetExtSrcAddr(void) const
Get the Source Extended address.
Definition: lr-wpan-mac-header.cc:194
ns3::LrWpanMacHeader::GetDstPanId
uint16_t GetDstPanId(void) const
Get the Destination PAN ID.
Definition: lr-wpan-mac-header.cc:163
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::LrWpanMacHeader::SetFrmCounter
void SetFrmCounter(uint32_t frmCntr)
Set the auxiliary security header "Frame Counter" octet.
Definition: lr-wpan-mac-header.cc:429
ns3::LrWpanMacHeader::IsFrmPend
bool IsFrmPend(void) const
Check if Frame Pending bit of Frame Control is enabled.
Definition: lr-wpan-mac-header.cc:113
ns3::LrWpanMacHeader::IsSecEnable
bool IsSecEnable(void) const
Check if Security Enabled bit of Frame Control is enabled.
Definition: lr-wpan-mac-header.cc:107
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::LrWpanMacHeader::NOADDR
@ NOADDR
Definition: lr-wpan-mac-header.h:74
ns3::LrWpanMacHeader::m_addrShortDstAddr
Mac16Address m_addrShortDstAddr
Dst Short addr (0 or 2 Octets)
Definition: lr-wpan-mac-header.h:419
ns3::LrWpanMacHeader::m_addrExtDstAddr
Mac64Address m_addrExtDstAddr
Dst Ext addr (0 or 8 Octets)
Definition: lr-wpan-mac-header.h:420
ns3::LrWpanMacHeader::m_addrDstPanId
uint16_t m_addrDstPanId
Dst PAN id (0 or 2 Octets)
Definition: lr-wpan-mac-header.h:418
ns3::LrWpanMacHeader::GetFrmCounter
uint32_t GetFrmCounter(void) const
Get the Auxiliary Security Header - Frame Counter Octects.
Definition: lr-wpan-mac-header.cc:213
ns3::LrWpanMacHeader::SetFrameControl
void SetFrameControl(uint16_t frameControl)
Set the whole Frame Control field.
Definition: lr-wpan-mac-header.cc:289
ns3::LrWpanMacHeader::SetSecCtrlReserved
void SetSecCtrlReserved(uint8_t res)
Set the Security Control field "Reserved" bits (3 bits)
Definition: lr-wpan-mac-header.cc:447
ns3::LrWpanMacHeader::GetDstAddrMode
uint8_t GetDstAddrMode(void) const
Get the Dest.
Definition: lr-wpan-mac-header.cc:137
ns3::LrWpanMacHeader::IsBeacon
bool IsBeacon(void) const
Returns true if the header is a beacon.
Definition: lr-wpan-mac-header.cc:256
ns3::LrWpanMacHeader::GetSecControl
uint8_t GetSecControl(void) const
Get the Auxiliary Security Header - Security Control Octect.
Definition: lr-wpan-mac-header.cc:201
ns3::LrWpanMacHeader::m_fctrlFrmPending
uint8_t m_fctrlFrmPending
Frame Control field Bit 4.
Definition: lr-wpan-mac-header.h:406
ns3::LrWpanMacHeader::GetSecCtrlReserved
uint8_t GetSecCtrlReserved(void) const
Get the Auxiliary Security Header - Security Control - Reserved bits.
Definition: lr-wpan-mac-header.cc:231
ns3::LrWpanMacHeader::IsCommand
bool IsCommand(void) const
Returns true if the header is a command.
Definition: lr-wpan-mac-header.cc:274
ns3::LrWpanMacHeader::m_fctrlAckReq
uint8_t m_fctrlAckReq
Frame Control field Bit 5.
Definition: lr-wpan-mac-header.h:407
ns3::LrWpanMacHeader::LRWPAN_MAC_RESERVED
@ LRWPAN_MAC_RESERVED
LRWPAN_MAC_RESERVED.
Definition: lr-wpan-mac-header.h:66
ns3::LrWpanMacHeader::GetFrmCtrlRes
uint8_t GetFrmCtrlRes(void) const
Get the Reserved bits of Frame control field.
Definition: lr-wpan-mac-header.cc:131
ns3::LrWpanMacHeader::m_addrExtSrcAddr
Mac64Address m_addrExtSrcAddr
Src Ext addr (0 or 8 Octets)
Definition: lr-wpan-mac-header.h:423
ns3::LrWpanMacHeader::SHORTADDR
@ SHORTADDR
Definition: lr-wpan-mac-header.h:76
ns3::LrWpanMacHeader::m_SeqNum
uint8_t m_SeqNum
Sequence Number (1 Octet)
Definition: lr-wpan-mac-header.h:415
ns3::LrWpanMacHeader::m_auxKeyIdKeySrc64
uint64_t m_auxKeyIdKeySrc64
Auxiliary security header - Key Source (8 Octets)
Definition: lr-wpan-mac-header.h:443
ns3::LrWpanMacHeader::LrWpanMacType
LrWpanMacType
The possible MAC types, see IEEE 802.15.4-2006, Table 79.
Definition: lr-wpan-mac-header.h:61
ns3::LrWpanMacHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: lr-wpan-mac-header.cc:487
ns3::LrWpanMacHeader::SetType
void SetType(enum LrWpanMacType wpanMacType)
Set the Frame Control field "Frame Type" bits.
Definition: lr-wpan-mac-header.cc:282
ns3::LrWpanMacHeader::GetFrameControl
uint16_t GetFrameControl(void) const
Get the Frame control field.
Definition: lr-wpan-mac-header.cc:89