This class represents the Frame header (FHDR) used in a LoraWAN network. More...
#include "lora-frame-header.h"
Public Member Functions | |
LoraFrameHeader () | |
Default constructor. | |
~LoraFrameHeader () override | |
Destructor. | |
void | AddCommand (Ptr< MacCommand > macCommand) |
Add a predefined command to the list in this frame header. | |
void | AddDevStatusReq () |
Add a DevStatusReq command. | |
void | AddDutyCycleAns () |
Add a DutyCycleAns command. | |
void | AddDutyCycleReq (uint8_t dutyCycle) |
Add a DutyCycleReq command. | |
void | AddLinkAdrAns (bool powerAck, bool dataRateAck, bool channelMaskAck) |
Add a LinkAdrAns command. | |
void | AddLinkAdrReq (uint8_t dataRate, uint8_t txPower, std::list< int > enabledChannels, int repetitions) |
Add a LinkAdrReq command. | |
void | AddLinkCheckAns (uint8_t margin, uint8_t gwCnt) |
Add a LinkCheckAns command. | |
void | AddLinkCheckReq () |
Add a LinkCheckReq command. | |
void | AddNewChannelReq (uint8_t chIndex, double frequency, uint8_t minDataRate, uint8_t maxDataRate) |
Add a NewChannelReq command with provided fields. | |
void | AddRxParamSetupAns () |
Add a RxParamSetupAns command. | |
void | AddRxParamSetupReq (uint8_t rx1DrOffset, uint8_t rx2DataRate, double frequency) |
Add a RxParamSetupReq command. | |
uint32_t | Deserialize (Buffer::Iterator start) override |
Deserialize the contents of the buffer into a LoraFrameHeader object. | |
bool | GetAck () const |
Get the value of the ACK bit field. | |
LoraDeviceAddress | GetAddress () const |
Get this header's device address value. | |
bool | GetAdr () const |
Get the value of the ADR bit field. | |
bool | GetAdrAckReq () const |
Get the value of the ADRACKReq bit field. | |
std::list< Ptr< MacCommand > > | GetCommands () |
Return a list of pointers to all the MAC commands saved in this header. | |
uint16_t | GetFCnt () const |
Get the FCnt value. | |
uint8_t | GetFOptsLen () const |
Get the FOptsLen value. | |
bool | GetFPending () const |
Get the value of the FPending bit field. | |
uint8_t | GetFPort () const |
Get the FPort value. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
template<typename T > | |
Ptr< T > | GetMacCommand () |
Return a pointer to the first MacCommand of type T, or 0 if no such MacCommand exists in this header. | |
uint32_t | GetSerializedSize () const override |
Return the size required for serialization of this header. | |
void | Print (std::ostream &os) const override |
Print the header in a human-readable format. | |
void | Serialize (Buffer::Iterator start) const override |
Serialize the header. | |
void | SetAck (bool ack) |
Set the value of the ACK bit field. | |
void | SetAddress (LoraDeviceAddress address) |
Set the address. | |
void | SetAdr (bool adr) |
Set the value of the ADR bit field. | |
void | SetAdrAckReq (bool adrAckReq) |
Set the value of the ADRACKReq bit field. | |
void | SetAsDownlink () |
State that this is a downlink message. | |
void | SetAsUplink () |
State that this is an uplink message. | |
void | SetFCnt (uint16_t fCnt) |
Set the FCnt value. | |
void | SetFPending (bool fPending) |
Set the value of the FPending bit field. | |
void | SetFPort (uint8_t fPort) |
Set the FPort value. | |
Public Member Functions inherited from ns3::Header | |
~Header () override | |
uint32_t | Deserialize (Buffer::Iterator start) override=0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | GetSerializedSize () const =0 |
void | Print (std::ostream &os) const override=0 |
virtual void | Serialize (Buffer::Iterator start) const =0 |
virtual uint32_t | Deserialize (Buffer::Iterator start)=0 |
Deserialize the object from a buffer iterator. | |
virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) |
Deserialize the object from a buffer iterator. | |
virtual void | Print (std::ostream &os) const =0 |
Print the object contents. | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
virtual TypeId | GetInstanceTypeId () const =0 |
Get the most derived TypeId for this Object. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Register this type. | |
Static Public Member Functions inherited from ns3::Header | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Chunk | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. | |
Private Attributes | |
bool | m_ack |
The ACK field of the FCtrl. | |
LoraDeviceAddress | m_address |
The DevAddr field. | |
bool | m_adr |
The ADR field of the FCtrl. | |
bool | m_adrAckReq |
The ADRACKReq field of the FCtrl. | |
uint16_t | m_fCnt |
The FCnt field. | |
Buffer | m_fOpts |
The FOpts field. | |
uint8_t | m_fOptsLen |
The FOptsLen field of the FCtrl. | |
bool | m_fPending |
The FPending/ClassB field of the FCtrl. | |
uint8_t | m_fPort |
The FPort field. | |
bool | m_isUplink |
Whether this frame header is uplink or not. | |
std::list< Ptr< MacCommand > > | m_macCommands |
List containing all the MacCommand instances that are contained in this LoraFrameHeader. | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
This class represents the Frame header (FHDR) used in a LoraWAN network.
Although the specification divides the FHDR from the FPort field, this implementation considers them as a unique entity (i.e., FPort is treated as if it were a part of FHDR).
Definition at line 47 of file lora-frame-header.h.
ns3::lorawan::LoraFrameHeader::LoraFrameHeader | ( | ) |
Default constructor.
Definition at line 34 of file lora-frame-header.cc.
|
override |
Destructor.
Definition at line 46 of file lora-frame-header.cc.
void ns3::lorawan::LoraFrameHeader::AddCommand | ( | Ptr< MacCommand > | macCommand | ) |
Add a predefined command to the list in this frame header.
macCommand | A pointer to the MacCommand object to add. |
Definition at line 594 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.
Referenced by ns3::lorawan::EndDeviceStatus::AddMACCommand(), and ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions().
void ns3::lorawan::LoraFrameHeader::AddDevStatusReq | ( | ) |
Add a DevStatusReq command.
Definition at line 558 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.
void ns3::lorawan::LoraFrameHeader::AddDutyCycleAns | ( | ) |
Add a DutyCycleAns command.
Definition at line 519 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.
void ns3::lorawan::LoraFrameHeader::AddDutyCycleReq | ( | uint8_t | dutyCycle | ) |
Add a DutyCycleReq command.
This command accepts an 8-bit integer as dutyCycle. The actual dutyCycle that will be implemented in the end-device will then be, in fraction form, 1/2^(dutyCycle).
dutyCycle | The dutyCycle in 8-bit form. |
Definition at line 507 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.
void ns3::lorawan::LoraFrameHeader::AddLinkAdrAns | ( | bool | powerAck, |
bool | dataRateAck, | ||
bool | channelMaskAck | ||
) |
Add a LinkAdrAns command.
powerAck | Whether the power can be set or not. |
dataRateAck | Whether the data rate can be set or not. |
channelMaskAck | Whether the channel mask is coherent with the device's current state or not. |
Definition at line 496 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.
void ns3::lorawan::LoraFrameHeader::AddLinkAdrReq | ( | uint8_t | dataRate, |
uint8_t | txPower, | ||
std::list< int > | enabledChannels, | ||
int | repetitions | ||
) |
Add a LinkAdrReq command.
dataRate | The data rate at which the receiver should transmit. |
txPower | The power at which the receiver should transmit, encoded according to the LoRaWAN specification of the region. |
enabledChannels | A list containing the indices of channels enabled by this command. |
repetitions | The number of repetitions the receiver should send when transmitting. |
Definition at line 469 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, NS_ASSERT, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::lorawan::LoraFrameHeader::AddLinkCheckAns | ( | uint8_t | margin, |
uint8_t | gwCnt | ||
) |
Add a LinkCheckAns command.
margin | The demodulation margin the LinkCheckReq packet was received with. |
gwCnt | The number of gateways the LinkCheckReq packet was received by. |
Definition at line 458 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.
Referenced by HeaderTest::DoRun().
void ns3::lorawan::LoraFrameHeader::AddLinkCheckReq | ( | ) |
Add a LinkCheckReq command.
Definition at line 446 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, NS_LOG_DEBUG, and NS_LOG_FUNCTION_NOARGS.
void ns3::lorawan::LoraFrameHeader::AddNewChannelReq | ( | uint8_t | chIndex, |
double | frequency, | ||
uint8_t | minDataRate, | ||
uint8_t | maxDataRate | ||
) |
Add a NewChannelReq command with provided fields.
chIndex | The ChIndex field. |
frequency | The Frequency field. |
minDataRate | The MinDR field. |
maxDataRate | The MaxDR field. |
Definition at line 570 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.
void ns3::lorawan::LoraFrameHeader::AddRxParamSetupAns | ( | ) |
Add a RxParamSetupAns command.
Definition at line 546 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, and NS_LOG_FUNCTION.
void ns3::lorawan::LoraFrameHeader::AddRxParamSetupReq | ( | uint8_t | rx1DrOffset, |
uint8_t | rx2DataRate, | ||
double | frequency | ||
) |
Add a RxParamSetupReq command.
rx1DrOffset | The requested data rate offset for the first receive window. |
rx2DataRate | The requested data rate for the second receive window. |
frequency | The frequency at which to listen for the second receive window. |
Definition at line 531 of file lora-frame-header.cc.
References m_fOptsLen, m_macCommands, NS_ASSERT, and NS_LOG_FUNCTION.
|
overridevirtual |
Deserialize the contents of the buffer into a LoraFrameHeader object.
start | A pointer to the buffer we need to deserialize. |
Implements ns3::Header.
Definition at line 122 of file lora-frame-header.cc.
References m_ack, m_address, m_adr, m_adrAckReq, m_fCnt, m_fOptsLen, m_fPending, m_fPort, m_isUplink, m_macCommands, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION_NOARGS, ns3::lorawan::LoraDeviceAddress::Print(), and ns3::lorawan::LoraDeviceAddress::Set().
Referenced by HeaderTest::DoRun().
bool ns3::lorawan::LoraFrameHeader::GetAck | ( | ) | const |
Get the value of the ACK bit field.
Definition at line 403 of file lora-frame-header.cc.
References m_ack.
Referenced by HeaderTest::DoRun(), and ns3::lorawan::EndDeviceLorawanMac::ParseCommands().
LoraDeviceAddress ns3::lorawan::LoraFrameHeader::GetAddress | ( | ) | const |
Get this header's device address value.
Definition at line 365 of file lora-frame-header.cc.
References m_address.
Referenced by HeaderTest::DoRun(), ns3::lorawan::NetworkStatus::GetEndDeviceStatus(), ns3::lorawan::NetworkScheduler::OnReceivedPacket(), ns3::lorawan::NetworkStatus::OnReceivedPacket(), ns3::lorawan::ConfirmedMessagesComponent::OnReceivedPacket(), and ns3::lorawan::ClassAEndDeviceLorawanMac::Receive().
bool ns3::lorawan::LoraFrameHeader::GetAdr | ( | ) | const |
Get the value of the ADR bit field.
Definition at line 378 of file lora-frame-header.cc.
References m_adr.
Referenced by ns3::lorawan::AdrComponent::BeforeSendingReply(), and HeaderTest::DoRun().
bool ns3::lorawan::LoraFrameHeader::GetAdrAckReq | ( | ) | const |
Get the value of the ADRACKReq bit field.
Definition at line 390 of file lora-frame-header.cc.
References m_adrAckReq.
std::list< Ptr< MacCommand > > ns3::lorawan::LoraFrameHeader::GetCommands | ( | ) |
Return a list of pointers to all the MAC commands saved in this header.
Definition at line 586 of file lora-frame-header.cc.
References m_macCommands, and NS_LOG_FUNCTION_NOARGS.
Referenced by HeaderTest::DoRun(), and ns3::lorawan::EndDeviceLorawanMac::ParseCommands().
uint16_t ns3::lorawan::LoraFrameHeader::GetFCnt | ( | ) | const |
Get the FCnt value.
Definition at line 440 of file lora-frame-header.cc.
References m_fCnt.
Referenced by HeaderTest::DoRun(), ns3::lorawan::EndDeviceStatus::GetCompleteReplyPacket(), ns3::lorawan::EndDeviceStatus::InsertReceivedPacket(), and OnPhySentPacket().
uint8_t ns3::lorawan::LoraFrameHeader::GetFOptsLen | ( | ) | const |
Get the FOptsLen value.
Definition at line 421 of file lora-frame-header.cc.
References m_macCommands.
bool ns3::lorawan::LoraFrameHeader::GetFPending | ( | ) | const |
Get the value of the FPending bit field.
Definition at line 415 of file lora-frame-header.cc.
References m_fPending.
uint8_t ns3::lorawan::LoraFrameHeader::GetFPort | ( | ) | const |
Get the FPort value.
Definition at line 353 of file lora-frame-header.cc.
References m_fPort.
|
overridevirtual |
Get the most derived TypeId for this Object.
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Implements ns3::ObjectBase.
Definition at line 59 of file lora-frame-header.cc.
References GetTypeId().
|
inline |
Return a pointer to the first MacCommand of type T, or 0 if no such MacCommand exists in this header.
Definition at line 347 of file lora-frame-header.h.
References m_macCommands.
Referenced by ns3::lorawan::LinkCheckComponent::BeforeSendingReply().
|
overridevirtual |
Return the size required for serialization of this header.
Implements ns3::Header.
Definition at line 65 of file lora-frame-header.cc.
References m_fOptsLen, NS_LOG_FUNCTION_NOARGS, and NS_LOG_INFO.
Referenced by ns3::lorawan::EndDeviceLorawanMac::DoSend().
|
static |
Register this type.
Definition at line 51 of file lora-frame-header.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
overridevirtual |
Print the header in a human-readable format.
os | The std::ostream on which to print the header. |
Implements ns3::Header.
Definition at line 310 of file lora-frame-header.cc.
References m_ack, m_address, m_adr, m_adrAckReq, m_fCnt, m_fOptsLen, m_fPending, m_fPort, m_macCommands, NS_LOG_FUNCTION_NOARGS, and ns3::lorawan::LoraDeviceAddress::Print().
|
overridevirtual |
Serialize the header.
See Page 15 of LoraWAN specification for a representation of fields.
start | A pointer to the buffer that will be filled with the serialization. |
Implements ns3::Header.
Definition at line 79 of file lora-frame-header.cc.
References ns3::lorawan::LoraDeviceAddress::Get(), m_ack, m_address, m_adr, m_adrAckReq, m_fCnt, m_fOptsLen, m_fPending, m_fPort, m_macCommands, NS_LOG_DEBUG, NS_LOG_FUNCTION_NOARGS, and ns3::lorawan::LoraDeviceAddress::Print().
Referenced by HeaderTest::DoRun().
void ns3::lorawan::LoraFrameHeader::SetAck | ( | bool | ack | ) |
Set the value of the ACK bit field.
ack | Whether or not to set the ACK bit. |
Definition at line 396 of file lora-frame-header.cc.
References m_ack, and NS_LOG_FUNCTION.
Referenced by HeaderTest::DoRun().
void ns3::lorawan::LoraFrameHeader::SetAddress | ( | LoraDeviceAddress | address | ) |
Set the address.
address | The LoraDeviceAddress to set. |
Definition at line 359 of file lora-frame-header.cc.
References m_address.
Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions(), HeaderTest::DoRun(), and ns3::lorawan::EndDeviceStatus::GetCompleteReplyPacket().
void ns3::lorawan::LoraFrameHeader::SetAdr | ( | bool | adr | ) |
Set the value of the ADR bit field.
adr | Whether or not to set the ADR bit field. |
Definition at line 371 of file lora-frame-header.cc.
References m_adr, and NS_LOG_FUNCTION.
Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions(), and HeaderTest::DoRun().
void ns3::lorawan::LoraFrameHeader::SetAdrAckReq | ( | bool | adrAckReq | ) |
Set the value of the ADRACKReq bit field.
adrAckReq | Whether or not to set the ADRACKReq bit field. |
Definition at line 384 of file lora-frame-header.cc.
References m_adrAckReq.
Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions().
void ns3::lorawan::LoraFrameHeader::SetAsDownlink | ( | ) |
State that this is a downlink message.
This method needs to be called at least once before any serialization or deserialization.
Definition at line 339 of file lora-frame-header.cc.
References m_isUplink, and NS_LOG_FUNCTION_NOARGS.
Referenced by HeaderTest::DoRun(), and ns3::lorawan::ClassAEndDeviceLorawanMac::Receive().
void ns3::lorawan::LoraFrameHeader::SetAsUplink | ( | ) |
State that this is an uplink message.
This method needs to be called at least once before any serialization or deserialization.
Definition at line 331 of file lora-frame-header.cc.
References m_isUplink, and NS_LOG_FUNCTION_NOARGS.
Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions(), ns3::lorawan::AdrComponent::BeforeSendingReply(), ns3::lorawan::LinkCheckComponent::BeforeSendingReply(), ns3::lorawan::EndDeviceStatus::GetCompleteReplyPacket(), ns3::lorawan::EndDeviceStatus::InsertReceivedPacket(), ns3::lorawan::NetworkScheduler::OnReceivedPacket(), ns3::lorawan::NetworkStatus::OnReceivedPacket(), and ns3::lorawan::ConfirmedMessagesComponent::OnReceivedPacket().
void ns3::lorawan::LoraFrameHeader::SetFCnt | ( | uint16_t | fCnt | ) |
Set the FCnt value.
fCnt | The FCnt to set. |
Definition at line 434 of file lora-frame-header.cc.
References m_fCnt.
Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions(), HeaderTest::DoRun(), and ns3::lorawan::EndDeviceStatus::GetCompleteReplyPacket().
void ns3::lorawan::LoraFrameHeader::SetFPending | ( | bool | fPending | ) |
Set the value of the FPending bit field.
fPending | Whether or not to set the FPending bit. |
Definition at line 409 of file lora-frame-header.cc.
References m_fPending.
void ns3::lorawan::LoraFrameHeader::SetFPort | ( | uint8_t | fPort | ) |
Set the FPort value.
fPort | The FPort to set. |
Definition at line 347 of file lora-frame-header.cc.
References m_fPort.
Referenced by ns3::lorawan::EndDeviceLorawanMac::ApplyNecessaryOptions().
|
private |
The ACK field of the FCtrl.
Definition at line 332 of file lora-frame-header.h.
Referenced by Deserialize(), GetAck(), Print(), Serialize(), and SetAck().
|
private |
The DevAddr field.
Definition at line 328 of file lora-frame-header.h.
Referenced by Deserialize(), GetAddress(), Print(), Serialize(), and SetAddress().
|
private |
The ADR field of the FCtrl.
Definition at line 330 of file lora-frame-header.h.
Referenced by Deserialize(), GetAdr(), Print(), Serialize(), and SetAdr().
|
private |
The ADRACKReq field of the FCtrl.
Definition at line 331 of file lora-frame-header.h.
Referenced by Deserialize(), GetAdrAckReq(), Print(), Serialize(), and SetAdrAckReq().
|
private |
The FCnt field.
Definition at line 336 of file lora-frame-header.h.
Referenced by Deserialize(), GetFCnt(), Print(), Serialize(), and SetFCnt().
|
private |
The FOpts field.
Definition at line 338 of file lora-frame-header.h.
|
private |
The FOptsLen field of the FCtrl.
Definition at line 334 of file lora-frame-header.h.
Referenced by AddCommand(), AddDevStatusReq(), AddDutyCycleAns(), AddDutyCycleReq(), AddLinkAdrAns(), AddLinkAdrReq(), AddLinkCheckAns(), AddLinkCheckReq(), AddNewChannelReq(), AddRxParamSetupAns(), AddRxParamSetupReq(), Deserialize(), GetSerializedSize(), Print(), and Serialize().
|
private |
The FPending/ClassB field of the FCtrl.
Definition at line 333 of file lora-frame-header.h.
Referenced by Deserialize(), GetFPending(), Print(), Serialize(), and SetFPending().
|
private |
The FPort field.
Definition at line 326 of file lora-frame-header.h.
Referenced by Deserialize(), GetFPort(), Print(), Serialize(), and SetFPort().
|
private |
Whether this frame header is uplink or not.
Definition at line 342 of file lora-frame-header.h.
Referenced by Deserialize(), SetAsDownlink(), and SetAsUplink().
|
private |
List containing all the MacCommand instances that are contained in this LoraFrameHeader.
Definition at line 339 of file lora-frame-header.h.
Referenced by AddCommand(), AddDevStatusReq(), AddDutyCycleAns(), AddDutyCycleReq(), AddLinkAdrAns(), AddLinkAdrReq(), AddLinkCheckAns(), AddLinkCheckReq(), AddNewChannelReq(), AddRxParamSetupAns(), AddRxParamSetupReq(), Deserialize(), GetCommands(), GetFOptsLen(), GetMacCommand(), Print(), and Serialize().