diff --git a/src/core/common/tlvs.cpp b/src/core/common/tlvs.cpp index bb6eb4d29..90aef0a47 100644 --- a/src/core/common/tlvs.cpp +++ b/src/core/common/tlvs.cpp @@ -257,7 +257,7 @@ otError Tlv::AppendUint32Tlv(Message &aMessage, uint8_t aType, uint32_t aValue) return tlv32.AppendTo(aMessage); } -otError Tlv::AppendTlv(Message &aMessage, uint8_t aType, const uint8_t *aValue, uint8_t aLength) +otError Tlv::AppendTlv(Message &aMessage, uint8_t aType, const void *aValue, uint8_t aLength) { otError error = OT_ERROR_NONE; Tlv tlv; diff --git a/src/core/common/tlvs.hpp b/src/core/common/tlvs.hpp index 91581f6fc..cebf55e7b 100644 --- a/src/core/common/tlvs.hpp +++ b/src/core/common/tlvs.hpp @@ -347,7 +347,7 @@ public: * @retval OT_ERROR_NO_BUFS Insufficient available buffers to grow the message. * */ - static otError AppendTlv(Message &aMessage, uint8_t aType, const uint8_t *aValue, uint8_t aLength); + static otError AppendTlv(Message &aMessage, uint8_t aType, const void *aValue, uint8_t aLength); protected: enum diff --git a/src/core/meshcop/border_agent.cpp b/src/core/meshcop/border_agent.cpp index 3868f86bb..9d5070559 100644 --- a/src/core/meshcop/border_agent.cpp +++ b/src/core/meshcop/border_agent.cpp @@ -459,8 +459,8 @@ bool BorderAgent::HandleUdpReceive(const Message &aMessage, const Ip6::MessageIn aMessage.CopyTo(aMessage.GetOffset(), offset, udpLength, *message); } - SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kIPv6Address, aMessageInfo.GetPeerAddr().mFields.m8, - sizeof(Ip6::Address))); + SuccessOrExit(error = + Tlv::AppendTlv(*message, Tlv::kIPv6Address, &aMessageInfo.GetPeerAddr(), sizeof(Ip6::Address))); SuccessOrExit(error = Get().SendMessage(*message, Get().GetPeerAddress())); diff --git a/src/core/meshcop/dataset_manager.cpp b/src/core/meshcop/dataset_manager.cpp index ec2b2d392..2c705cfb7 100644 --- a/src/core/meshcop/dataset_manager.cpp +++ b/src/core/meshcop/dataset_manager.cpp @@ -486,7 +486,7 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con if (aDataset.mComponents.mIsMasterKeyPresent) { SuccessOrExit(error = - Tlv::AppendTlv(*message, Tlv::kNetworkMasterKey, aDataset.mMasterKey.m8, sizeof(MasterKey))); + Tlv::AppendTlv(*message, Tlv::kNetworkMasterKey, &aDataset.mMasterKey, sizeof(MasterKey))); } if (aDataset.mComponents.mIsNetworkNamePresent) @@ -499,13 +499,13 @@ otError DatasetManager::SendSetRequest(const otOperationalDataset &aDataset, con if (aDataset.mComponents.mIsExtendedPanIdPresent) { - SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kExtendedPanId, aDataset.mExtendedPanId.m8, + SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kExtendedPanId, &aDataset.mExtendedPanId, sizeof(Mac::ExtendedPanId))); } if (aDataset.mComponents.mIsMeshLocalPrefixPresent) { - SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kMeshLocalPrefix, aDataset.mMeshLocalPrefix.m8, + SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kMeshLocalPrefix, &aDataset.mMeshLocalPrefix, sizeof(otMeshLocalPrefix))); } diff --git a/src/core/meshcop/joiner_router.cpp b/src/core/meshcop/joiner_router.cpp index bbdaf2546..4f9b29b9f 100644 --- a/src/core/meshcop/joiner_router.cpp +++ b/src/core/meshcop/joiner_router.cpp @@ -358,13 +358,13 @@ Coap::Message *JoinerRouter::PrepareJoinerEntrustMessage(void) SuccessOrExit(error = message->SetPayloadMarker()); message->SetSubType(Message::kSubTypeJoinerEntrust); - SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kNetworkMasterKey, Get().GetMasterKey().m8, - sizeof(MasterKey))); + SuccessOrExit( + error = Tlv::AppendTlv(*message, Tlv::kNetworkMasterKey, &Get().GetMasterKey(), sizeof(MasterKey))); - SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kMeshLocalPrefix, Get().GetMeshLocalPrefix().m8, + SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kMeshLocalPrefix, &Get().GetMeshLocalPrefix(), sizeof(otMeshLocalPrefix))); - SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kExtendedPanId, Get().GetExtendedPanId().m8, + SuccessOrExit(error = Tlv::AppendTlv(*message, Tlv::kExtendedPanId, &Get().GetExtendedPanId(), sizeof(Mac::ExtendedPanId))); networkName.Init(); diff --git a/src/core/thread/address_resolver.cpp b/src/core/thread/address_resolver.cpp index 3610ba478..26961fdc1 100644 --- a/src/core/thread/address_resolver.cpp +++ b/src/core/thread/address_resolver.cpp @@ -559,7 +559,7 @@ otError AddressResolver::SendAddressQuery(const Ip6::Address &aEid) SuccessOrExit(error = message->AppendUriPathOptions(OT_URI_PATH_ADDRESS_QUERY)); SuccessOrExit(error = message->SetPayloadMarker()); - SuccessOrExit(error = Tlv::AppendTlv(*message, ThreadTlv::kTarget, aEid.mFields.m8, sizeof(aEid))); + SuccessOrExit(error = Tlv::AppendTlv(*message, ThreadTlv::kTarget, &aEid, sizeof(aEid))); messageInfo.GetPeerAddr().SetToRealmLocalAllRoutersMulticast(); @@ -673,7 +673,7 @@ void AddressResolver::SendAddressError(const Ip6::Address &aTarget, SuccessOrExit(error = message->AppendUriPathOptions(OT_URI_PATH_ADDRESS_ERROR)); SuccessOrExit(error = message->SetPayloadMarker()); - SuccessOrExit(error = Tlv::AppendTlv(*message, ThreadTlv::kTarget, aTarget.mFields.m8, sizeof(aTarget))); + SuccessOrExit(error = Tlv::AppendTlv(*message, ThreadTlv::kTarget, &aTarget, sizeof(aTarget))); SuccessOrExit(error = Tlv::AppendTlv(*message, ThreadTlv::kMeshLocalEid, aMeshLocalIid, Ip6::Address::kInterfaceIdentifierSize)); @@ -843,7 +843,7 @@ void AddressResolver::SendAddressQueryResponse(const Ip6::Address &aTarget, SuccessOrExit(error = message->AppendUriPathOptions(OT_URI_PATH_ADDRESS_NOTIFY)); SuccessOrExit(error = message->SetPayloadMarker()); - SuccessOrExit(error = Tlv::AppendTlv(*message, ThreadTlv::kTarget, aTarget.mFields.m8, sizeof(aTarget))); + SuccessOrExit(error = Tlv::AppendTlv(*message, ThreadTlv::kTarget, &aTarget, sizeof(aTarget))); SuccessOrExit(error = Tlv::AppendTlv(*message, ThreadTlv::kMeshLocalEid, aMeshLocalIid, Ip6::Address::kInterfaceIdentifierSize)); SuccessOrExit(error = Tlv::AppendUint16Tlv(*message, ThreadTlv::kRloc16, Get().GetRloc16())); diff --git a/src/core/thread/network_diagnostic.cpp b/src/core/thread/network_diagnostic.cpp index 7a65880db..0d2f0aaee 100644 --- a/src/core/thread/network_diagnostic.cpp +++ b/src/core/thread/network_diagnostic.cpp @@ -307,7 +307,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(const Message & aRequest, { case NetworkDiagnosticTlv::kExtMacAddress: SuccessOrExit( - error = Tlv::AppendTlv(aResponse, type, Get().GetExtAddress().m8, sizeof(Mac::ExtAddress))); + error = Tlv::AppendTlv(aResponse, type, &Get().GetExtAddress(), sizeof(Mac::ExtAddress))); break; case NetworkDiagnosticTlv::kAddress16: