您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ HostSwap16函数代码示例

51自学网 2021-06-01 21:26:16
  C++
这篇教程C++ HostSwap16函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中HostSwap16函数的典型用法代码示例。如果您正苦于以下问题:C++ HostSwap16函数的具体用法?C++ HostSwap16怎么用?C++ HostSwap16使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了HostSwap16函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: while

ThreadError Tlv::GetOffset(const Message &aMessage, uint8_t aType, uint16_t &aOffset){    ThreadError error = kThreadError_Parse;    uint16_t offset = aMessage.GetOffset();    uint16_t end = aMessage.GetLength();    Tlv tlv;    while (offset < end)    {        aMessage.Read(offset, sizeof(Tlv), &tlv);        // skip extended TLV        if (tlv.GetLength() == kExtendedLength)        {            uint16_t length = 0;            offset += sizeof(tlv);            aMessage.Read(offset, sizeof(length), &length);            offset += sizeof(length) + HostSwap16(length);        }        else if (tlv.GetType() == aType && (offset + sizeof(tlv) + tlv.GetLength()) <= end)        {            aOffset = offset;            ExitNow(error = kThreadError_None);        }        else        {            offset += sizeof(tlv) + tlv.GetLength();        }    }exit:    return error;}
开发者ID:HarryMorris,项目名称:openthread,代码行数:34,


示例2: GetNetif

void JoinerRouter::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo){    ThreadNetif &          netif = GetNetif();    otError                error;    Coap::Message *        message = NULL;    Ip6::MessageInfo       messageInfo;    JoinerUdpPortTlv       udpPort;    JoinerIidTlv           iid;    JoinerRouterLocatorTlv rloc;    ExtendedTlv            tlv;    uint16_t               borderAgentRloc;    uint16_t               offset;    otLogInfoMeshCoP("JoinerRouter::HandleUdpReceive");    SuccessOrExit(error = GetBorderAgentRloc(GetNetif(), borderAgentRloc));    VerifyOrExit((message = NewMeshCoPMessage(netif.GetCoap())) != NULL, error = OT_ERROR_NO_BUFS);    message->Init(OT_COAP_TYPE_NON_CONFIRMABLE, OT_COAP_CODE_POST);    message->SetToken(Coap::Message::kDefaultTokenLength);    message->AppendUriPathOptions(OT_URI_PATH_RELAY_RX);    message->SetPayloadMarker();    udpPort.Init();    udpPort.SetUdpPort(aMessageInfo.GetPeerPort());    SuccessOrExit(error = message->Append(&udpPort, sizeof(udpPort)));    iid.Init();    iid.SetIid(aMessageInfo.GetPeerAddr().mFields.m8 + 8);    SuccessOrExit(error = message->Append(&iid, sizeof(iid)));    rloc.Init();    rloc.SetJoinerRouterLocator(netif.GetMle().GetRloc16());    SuccessOrExit(error = message->Append(&rloc, sizeof(rloc)));    tlv.SetType(Tlv::kJoinerDtlsEncapsulation);    tlv.SetLength(aMessage.GetLength() - aMessage.GetOffset());    SuccessOrExit(error = message->Append(&tlv, sizeof(tlv)));    offset = message->GetLength();    SuccessOrExit(error = message->SetLength(offset + tlv.GetLength()));    aMessage.CopyTo(aMessage.GetOffset(), offset, tlv.GetLength(), *message);    messageInfo.SetSockAddr(netif.GetMle().GetMeshLocal16());    messageInfo.SetPeerAddr(netif.GetMle().GetMeshLocal16());    messageInfo.GetPeerAddr().mFields.m16[7] = HostSwap16(borderAgentRloc);    messageInfo.SetPeerPort(kCoapUdpPort);    SuccessOrExit(error = netif.GetCoap().SendMessage(*message, messageInfo));    otLogInfoMeshCoP("Sent relay rx");exit:    if (error != OT_ERROR_NONE && message != NULL)    {        message->Free();    }}
开发者ID:turon,项目名称:openthread,代码行数:59,


示例3: HostSwap16

otError Udp::UpdateChecksum(Message &aMessage, uint16_t aChecksum){    aChecksum = aMessage.UpdateChecksum(aChecksum, aMessage.GetOffset(), aMessage.GetLength() - aMessage.GetOffset());    if (aChecksum != 0xffff)    {        aChecksum = ~aChecksum;    }    aChecksum = HostSwap16(aChecksum);    aMessage.Write(aMessage.GetOffset() + UdpHeader::GetChecksumOffset(), sizeof(aChecksum), &aChecksum);    return OT_ERROR_NONE;}
开发者ID:lanyuwen,项目名称:openthread,代码行数:13,


示例4: AddMplOption

ThreadError AddMplOption(Message &message, Header &header, IpProto nextHeader, uint16_t payloadLength){    ThreadError error = kThreadError_None;    HopByHopHeader hbhHeader;    OptionMpl mplOption;    hbhHeader.SetNextHeader(nextHeader);    hbhHeader.SetLength(0);    sMpl.InitOption(mplOption, HostSwap16(header.GetSource().mFields.m16[7]));    SuccessOrExit(error = message.Prepend(&mplOption, sizeof(mplOption)));    SuccessOrExit(error = message.Prepend(&hbhHeader, sizeof(hbhHeader)));    header.SetPayloadLength(sizeof(hbhHeader) + sizeof(mplOption) + payloadLength);    header.SetNextHeader(kProtoHopOpts);exit:    return error;}
开发者ID:BJangeofan,项目名称:openthread,代码行数:16,


示例5: otMessageGetLength

void UdpExample::HandleUdpReceive(otMessage *aMessage, const otMessageInfo *aMessageInfo){    uint8_t buf[1500];    int     length;    mInterpreter.mServer->OutputFormat("%d bytes from ", otMessageGetLength(aMessage) - otMessageGetOffset(aMessage));    mInterpreter.mServer->OutputFormat(        "%x:%x:%x:%x:%x:%x:%x:%x %d ", HostSwap16(aMessageInfo->mPeerAddr.mFields.m16[0]),        HostSwap16(aMessageInfo->mPeerAddr.mFields.m16[1]), HostSwap16(aMessageInfo->mPeerAddr.mFields.m16[2]),        HostSwap16(aMessageInfo->mPeerAddr.mFields.m16[3]), HostSwap16(aMessageInfo->mPeerAddr.mFields.m16[4]),        HostSwap16(aMessageInfo->mPeerAddr.mFields.m16[5]), HostSwap16(aMessageInfo->mPeerAddr.mFields.m16[6]),        HostSwap16(aMessageInfo->mPeerAddr.mFields.m16[7]), aMessageInfo->mPeerPort);    length      = otMessageRead(aMessage, otMessageGetOffset(aMessage), buf, sizeof(buf) - 1);    buf[length] = '/0';    mInterpreter.mServer->OutputFormat("%s/r/n", buf);}
开发者ID:pvanhorn,项目名称:openthread,代码行数:18,


示例6: otLogInfoMeshCoP

void Leader::HandlePetition(Coap::Header &aHeader, Message &aMessage, const Ip6::MessageInfo &aMessageInfo){    CommissioningData data;    CommissionerIdTlv commissionerId;    StateTlv::State state = StateTlv::kReject;    otLogInfoMeshCoP(GetInstance(), "received petition");    SuccessOrExit(Tlv::GetTlv(aMessage, Tlv::kCommissionerId, sizeof(commissionerId), commissionerId));    VerifyOrExit(commissionerId.IsValid());    if (mTimer.IsRunning())    {        VerifyOrExit(!strncmp(commissionerId.GetCommissionerId(), mCommissionerId.GetCommissionerId(),                              sizeof(mCommissionerId)));        ResignCommissioner();    }    data.mBorderAgentLocator.Init();    data.mBorderAgentLocator.SetBorderAgentLocator(HostSwap16(aMessageInfo.GetPeerAddr().mFields.m16[7]));    data.mCommissionerSessionId.Init();    data.mCommissionerSessionId.SetCommissionerSessionId(++mSessionId);    data.mSteeringData.Init();    data.mSteeringData.SetLength(1);    data.mSteeringData.Clear();    SuccessOrExit(GetNetif().GetNetworkDataLeader().SetCommissioningData(reinterpret_cast<uint8_t *>(&data),                                                                         data.GetLength()));    mCommissionerId = commissionerId;    state = StateTlv::kAccept;    mTimer.Start(TimerMilli::SecToMsec(kTimeoutLeaderPetition));exit:    OT_UNUSED_VARIABLE(aMessageInfo);    SendPetitionResponse(aHeader, aMessageInfo, state);}
开发者ID:xiaom-GitHub,项目名称:openthread,代码行数:41,


示例7: SetChannelPage

void ChannelTlv::SetChannel(uint16_t aChannel){    uint8_t channelPage = OT_RADIO_CHANNEL_PAGE_0;#if OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT    if ((OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MIN <= aChannel) && (aChannel <= OT_RADIO_2P4GHZ_OQPSK_CHANNEL_MAX))    {        channelPage = OT_RADIO_CHANNEL_PAGE_0;    }#endif#if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT    if ((OT_RADIO_915MHZ_OQPSK_CHANNEL_MIN <= aChannel) && (aChannel <= OT_RADIO_915MHZ_OQPSK_CHANNEL_MAX))    {        channelPage = OT_RADIO_CHANNEL_PAGE_2;    }#endif    SetChannelPage(channelPage);    mChannel = HostSwap16(aChannel);}
开发者ID:abtink,项目名称:openthread,代码行数:21,


示例8: GetNetif

otError Joiner::TryNextJoin(){    ThreadNetif & netif        = GetNetif();    otError       error        = OT_ERROR_NOT_FOUND;    JoinerRouter *joinerRouter = &mJoinerRouters[0];    for (size_t i = 1; i < OPENTHREAD_CONFIG_MAX_JOINER_ROUTER_ENTRIES; i++)    {        if (mJoinerRouters[i].mPriority > joinerRouter->mPriority)        {            joinerRouter = &mJoinerRouters[i];        }    }    if (joinerRouter->mPriority > 0)    {        Ip6::SockAddr sockaddr;        joinerRouter->mPriority = 0;        netif.GetMac().SetPanId(joinerRouter->mPanId);        netif.GetMac().SetPanChannel(joinerRouter->mChannel);        netif.GetIp6Filter().AddUnsecurePort(OPENTHREAD_CONFIG_JOINER_UDP_PORT);        sockaddr.GetAddress().mFields.m16[0] = HostSwap16(0xfe80);        sockaddr.GetAddress().SetIid(joinerRouter->mExtAddr);        sockaddr.mPort    = joinerRouter->mJoinerUdpPort;        sockaddr.mScopeId = OT_NETIF_INTERFACE_ID_THREAD;        netif.GetCoapSecure().Connect(sockaddr, Joiner::HandleSecureCoapClientConnect, this);        mState = OT_JOINER_STATE_CONNECT;        error  = OT_ERROR_NONE;    }    else    {        otLogDebgMeshCoP("No joinable networks remaining to try");    }    return error;}
开发者ID:turon,项目名称:openthread,代码行数:40,


示例9: while

otError Tlv::GetOffset(const Message &aMessage, uint8_t aType, uint16_t &aOffset){    otError error = OT_ERROR_NOT_FOUND;    uint16_t offset = aMessage.GetOffset();    uint16_t end = aMessage.GetLength();    Tlv tlv;    while (offset + sizeof(tlv) <= end)    {        uint32_t length = sizeof(tlv);        aMessage.Read(offset, sizeof(tlv), &tlv);        if (tlv.GetLength() != kExtendedLength)        {            length += tlv.GetLength();        }        else        {            uint16_t extLength;            VerifyOrExit(sizeof(extLength) == aMessage.Read(offset + sizeof(tlv), sizeof(extLength), &extLength));            length += sizeof(extLength) + HostSwap16(extLength);        }        VerifyOrExit(offset + length <= end);        if (tlv.GetType() == aType)        {            aOffset = offset;            ExitNow(error = OT_ERROR_NONE);        }        offset += static_cast<uint16_t>(length);    }exit:    return error;}
开发者ID:mtornblad,项目名称:openthread,代码行数:39,


示例10: VerifyOrExit

otError Mpl::ProcessOption(Message &aMessage, const Address &aAddress, bool aIsOutbound){    otError error;    OptionMpl option;    VerifyOrExit(aMessage.Read(aMessage.GetOffset(), sizeof(option), &option) >= OptionMpl::kMinLength &&                 (option.GetSeedIdLength() == OptionMpl::kSeedIdLength0 ||                  option.GetSeedIdLength() == OptionMpl::kSeedIdLength2),                 error = OT_ERROR_DROP);    if (option.GetSeedIdLength() == OptionMpl::kSeedIdLength0)    {        // Retrieve MPL Seed Id from the IPv6 Source Address.        option.SetSeedId(HostSwap16(aAddress.mFields.m16[7]));    }    // Check MPL Data Messages in the MPL Buffered Set against sequence number.    UpdateBufferedSet(option.GetSeedId(), option.GetSequence());    // Check if the MPL Data Message is new.    error = UpdateSeedSet(option.GetSeedId(), option.GetSequence());    if (error == OT_ERROR_NONE)    {        AddBufferedMessage(aMessage, option.GetSeedId(), option.GetSequence(), aIsOutbound);    }    else if (aIsOutbound)    {        // In case MPL Data Message is generated locally, ignore potential error of the MPL Seed Set        // to allow subsequent retransmissions with the same sequence number.        ExitNow(error = OT_ERROR_NONE);    }exit:    return error;}
开发者ID:lanyuwen,项目名称:openthread,代码行数:36,


示例11: GetFlags

 /**  * This method returns the TCP Flags.  *  * @returns The TCP Flags.  *  */ uint16_t GetFlags(void) const { return HostSwap16(mFlags); }
开发者ID:lanyuwen,项目名称:openthread,代码行数:7,


示例12: SetSeedId

 /**  * This method sets the MPL Seed Id value.  *  * @param[in]  aSeedId  The MPL Seed Id value.  *  */ void SetSeedId(uint16_t aSeedId) { mSeedId = HostSwap16(aSeedId); }
开发者ID:lanyuwen,项目名称:openthread,代码行数:7,


示例13: GetSeedId

 /**  * This method returns the MPL Seed Id value.  *  * @returns The MPL Seed Id value.  *  */ uint16_t GetSeedId(void) const { return HostSwap16(mSeedId); }
开发者ID:lanyuwen,项目名称:openthread,代码行数:7,


示例14: SetSequence

 /**  * This method sets the ICMPv6 message sequence for Echo Requests and Replies.  *  * @param[in]  aSequence  The ICMPv6 message sequence.  *  */ void SetSequence(uint16_t aSequence) { mData.m16[1] = HostSwap16(aSequence); }
开发者ID:itavero,项目名称:openthread,代码行数:7,


示例15: GetSequence

 /**  * This method returns the ICMPv6 message sequence for Echo Requests and Replies.  *  * @returns The ICMPv6 message sequence.  *  */ uint16_t GetSequence(void) const { return HostSwap16(mData.m16[1]); }
开发者ID:itavero,项目名称:openthread,代码行数:7,


示例16: GetLength

 /**  * This method returns the Length value.  *  */ uint16_t GetLength(void) const { return HostSwap16(mLength); }
开发者ID:turon,项目名称:openthread,代码行数:5,


示例17: GetDestinationPort

 /**  * This method returns the TCP Destination Port.  *  * @returns The TCP Destination Port.  *  */ uint16_t GetDestinationPort(void) const { return HostSwap16(mDestination); }
开发者ID:lanyuwen,项目名称:openthread,代码行数:7,


示例18: GetUrgentPointer

 /**  * This method returns the TCP Urgent Pointer.  *  * @returns The TCP Urgent Pointer.  *  */ uint16_t GetUrgentPointer(void) const { return HostSwap16(mUrgentPointer); }
开发者ID:lanyuwen,项目名称:openthread,代码行数:7,


示例19: GetWindow

 /**  * This method returns the TCP Window.  *  * @returns The TCP Window.  *  */ uint16_t GetWindow(void) const { return HostSwap16(mWindow); }
开发者ID:lanyuwen,项目名称:openthread,代码行数:7,


示例20: OT_UNUSED_VARIABLE

void JoinerRouter::HandleRelayTransmit(Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo){    OT_UNUSED_VARIABLE(aMessageInfo);    otError            error;    JoinerUdpPortTlv   joinerPort;    JoinerIidTlv       joinerIid;    JoinerRouterKekTlv kek;    uint16_t           offset;    uint16_t           length;    Message *          message  = NULL;    otMessageSettings  settings = {false, static_cast<otMessagePriority>(kMeshCoPMessagePriority)};    Ip6::MessageInfo   messageInfo;    VerifyOrExit(aMessage.GetType() == OT_COAP_TYPE_NON_CONFIRMABLE && aMessage.GetCode() == OT_COAP_CODE_POST,                 error = OT_ERROR_DROP);    otLogInfoMeshCoP("Received relay transmit");    SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kJoinerUdpPort, sizeof(joinerPort), joinerPort));    VerifyOrExit(joinerPort.IsValid(), error = OT_ERROR_PARSE);    SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kJoinerIid, sizeof(joinerIid), joinerIid));    VerifyOrExit(joinerIid.IsValid(), error = OT_ERROR_PARSE);    SuccessOrExit(error = Tlv::GetValueOffset(aMessage, Tlv::kJoinerDtlsEncapsulation, offset, length));    VerifyOrExit((message = mSocket.NewMessage(0, &settings)) != NULL, error = OT_ERROR_NO_BUFS);    while (length)    {        uint16_t copyLength = length;        uint8_t  tmp[16];        if (copyLength >= sizeof(tmp))        {            copyLength = sizeof(tmp);        }        aMessage.Read(offset, copyLength, tmp);        SuccessOrExit(error = message->Append(tmp, copyLength));        offset += copyLength;        length -= copyLength;    }    aMessage.CopyTo(offset, 0, length, *message);    messageInfo.mPeerAddr.mFields.m16[0] = HostSwap16(0xfe80);    memcpy(messageInfo.mPeerAddr.mFields.m8 + 8, joinerIid.GetIid(), 8);    messageInfo.SetPeerPort(joinerPort.GetUdpPort());    messageInfo.SetInterfaceId(GetNetif().GetInterfaceId());    SuccessOrExit(error = mSocket.SendTo(*message, messageInfo));    if (Tlv::GetTlv(aMessage, Tlv::kJoinerRouterKek, sizeof(kek), kek) == OT_ERROR_NONE)    {        otLogInfoMeshCoP("Received kek");        DelaySendingJoinerEntrust(messageInfo, kek);    }exit:    if (error != OT_ERROR_NONE && message != NULL)    {        message->Free();    }}
开发者ID:turon,项目名称:openthread,代码行数:68,


示例21: SetLength

 /**  * This method sets the Length value.  *  * @param[in]  aLength  The Length value.  *  */ void SetLength(uint16_t aLength) {     Tlv::SetLength(kExtendedLength);     mLength = HostSwap16(aLength); }
开发者ID:turon,项目名称:openthread,代码行数:11,


示例22: HostSwap16

void Coap::HandleServerResponse(otCoapHeader *aHeader, otMessage *aMessage, const otMessageInfo *aMessageInfo){    otError error = OT_ERROR_NONE;    otCoapHeader responseHeader;    otMessage *responseMessage;    otCoapCode responseCode = OT_COAP_CODE_EMPTY;    char responseContent = '0';    mInterpreter.mServer->OutputFormat("Received coap request from [%x:%x:%x:%x:%x:%x:%x:%x]: ",                                       HostSwap16(aMessageInfo->mSockAddr.mFields.m16[0]),                                       HostSwap16(aMessageInfo->mSockAddr.mFields.m16[1]),                                       HostSwap16(aMessageInfo->mSockAddr.mFields.m16[2]),                                       HostSwap16(aMessageInfo->mSockAddr.mFields.m16[3]),                                       HostSwap16(aMessageInfo->mSockAddr.mFields.m16[4]),                                       HostSwap16(aMessageInfo->mSockAddr.mFields.m16[5]),                                       HostSwap16(aMessageInfo->mSockAddr.mFields.m16[6]),                                       HostSwap16(aMessageInfo->mSockAddr.mFields.m16[7]));    switch (otCoapHeaderGetCode(aHeader))    {    case OT_COAP_CODE_GET:        mInterpreter.mServer->OutputFormat("GET");        break;    case OT_COAP_CODE_DELETE:        mInterpreter.mServer->OutputFormat("DELETE");        break;    case OT_COAP_CODE_PUT:        mInterpreter.mServer->OutputFormat("PUT");        break;    case OT_COAP_CODE_POST:        mInterpreter.mServer->OutputFormat("POST");        break;    default:        mInterpreter.mServer->OutputFormat("Undefined/r/n");        return;    }    PrintPayload(aMessage);    if ((otCoapHeaderGetType(aHeader) == OT_COAP_TYPE_CONFIRMABLE) || otCoapHeaderGetCode(aHeader) == OT_COAP_CODE_GET)    {        if (otCoapHeaderGetCode(aHeader) == OT_COAP_CODE_GET)        {            responseCode = OT_COAP_CODE_CONTENT;        }        else        {            responseCode = OT_COAP_CODE_VALID;        }        otCoapHeaderInit(&responseHeader, OT_COAP_TYPE_ACKNOWLEDGMENT, responseCode);        otCoapHeaderSetMessageId(&responseHeader, otCoapHeaderGetMessageId(aHeader));        otCoapHeaderSetToken(&responseHeader, otCoapHeaderGetToken(aHeader), otCoapHeaderGetTokenLength(aHeader));        if (otCoapHeaderGetCode(aHeader) == OT_COAP_CODE_GET)        {            otCoapHeaderSetPayloadMarker(&responseHeader);        }        responseMessage = otCoapNewMessage(mInterpreter.mInstance, &responseHeader);        VerifyOrExit(responseMessage != NULL, error = OT_ERROR_NO_BUFS);        if (otCoapHeaderGetCode(aHeader) == OT_COAP_CODE_GET)        {            SuccessOrExit(error = otMessageAppend(responseMessage, &responseContent, sizeof(responseContent)));        }        SuccessOrExit(error = otCoapSendResponse(mInterpreter.mInstance, responseMessage, aMessageInfo));    }exit:    if (error != OT_ERROR_NONE && responseMessage != NULL)    {        mInterpreter.mServer->OutputFormat("Cannot send coap response message: Error %d: %s/r/n",                                           error, otThreadErrorToString(error));        otMessageFree(responseMessage);    }    else if (responseCode >= OT_COAP_CODE_RESPONSE_MIN)    {        mInterpreter.mServer->OutputFormat("coap response sent successfully!/r/n");    }}
开发者ID:lanyuwen,项目名称:openthread,代码行数:87,


示例23: GetChecksum

 /**  * This method returns the TCP Checksum.  *  * @returns The TCP Checksum.  *  */ uint16_t GetChecksum(void) const { return HostSwap16(mChecksum); }
开发者ID:lanyuwen,项目名称:openthread,代码行数:7,


示例24: SetChecksum

 /**  * This method sets the ICMPv6 message checksum.  *  * @param[in]  aChecksum  The ICMPv6 message checksum.  *  */ void SetChecksum(uint16_t aChecksum) { mChecksum = HostSwap16(aChecksum); }
开发者ID:itavero,项目名称:openthread,代码行数:7,


示例25: GetSourcePort

 /**  * This method returns the TCP Source Port.  *  * @returns The TCP Source Port.  *  */ uint16_t GetSourcePort(void) const { return HostSwap16(mSource); }
开发者ID:lanyuwen,项目名称:openthread,代码行数:7,


示例26: GetId

 /**  * This method returns the ICMPv6 message ID for Echo Requests and Replies.  *  * @returns The ICMPv6 message ID.  *  */ uint16_t GetId(void) const { return HostSwap16(mData.m16[0]); }
开发者ID:itavero,项目名称:openthread,代码行数:7,


示例27: GetNetif

otError Dhcp6Server::UpdateService(void){    ThreadNetif &netif = GetNetif();    otError error = OT_ERROR_NONE;    bool found;    uint8_t i;    uint16_t rloc16 = netif.GetMle().GetRloc16();    Ip6::Address *address = NULL;    otNetworkDataIterator iterator;    otBorderRouterConfig config;    Lowpan::Context lowpanContext;    // remove dhcp agent aloc and prefix delegation    for (i = 0; i < OPENTHREAD_CONFIG_NUM_DHCP_PREFIXES; i++)    {        found = false;        if (!mAgentsAloc[i].mValid)        {            continue;        }        address = &(mAgentsAloc[i].GetAddress());        iterator = OT_NETWORK_DATA_ITERATOR_INIT;        while (netif.GetNetworkDataLeader().GetNextOnMeshPrefix(&iterator, rloc16, &config) == OT_ERROR_NONE)        {            if (!config.mDhcp)            {                continue;            }            netif.GetNetworkDataLeader().GetContext(*static_cast<const Ip6::Address *>(&(config.mPrefix.mPrefix)),                                                    lowpanContext);            if (address->mFields.m8[15] == lowpanContext.mContextId)            {                // still in network data                found = true;                break;            }        }        if (!found)        {            netif.GetNetworkDataLeader().GetContext(address->mFields.m8[15], lowpanContext);            netif.RemoveUnicastAddress(mAgentsAloc[i]);            mAgentsAloc[i].mValid = false;            RemovePrefixAgent(lowpanContext.mPrefix);        }    }    // add dhcp agent aloc and prefix delegation    iterator = OT_NETWORK_DATA_ITERATOR_INIT;    while (netif.GetNetworkDataLeader().GetNextOnMeshPrefix(&iterator, rloc16, &config) == OT_ERROR_NONE)    {        found = false;        if (!config.mDhcp)        {            continue;        }        netif.GetNetworkDataLeader().GetContext(*static_cast<const Ip6::Address *>(&config.mPrefix.mPrefix),                                                lowpanContext);        for (i = 0; i < OPENTHREAD_CONFIG_NUM_DHCP_PREFIXES; i++)        {            address = &(mAgentsAloc[i].GetAddress());            if ((mAgentsAloc[i].mValid) && (address->mFields.m8[15] == lowpanContext.mContextId))            {                found = true;                break;            }        }        // alreay added        if (found)        {            continue;        }        for (i = 0; i < OPENTHREAD_CONFIG_NUM_DHCP_PREFIXES; i++)        {            if (!mAgentsAloc[i].mValid)            {                address = &(mAgentsAloc[i].GetAddress());                memcpy(address, netif.GetMle().GetMeshLocalPrefix(), 8);                address->mFields.m16[4] = HostSwap16(0x0000);                address->mFields.m16[5] = HostSwap16(0x00ff);                address->mFields.m16[6] = HostSwap16(0xfe00);                address->mFields.m8[14] = Ip6::Address::kAloc16Mask;                address->mFields.m8[15] = lowpanContext.mContextId;                mAgentsAloc[i].mPrefixLength = 128;                mAgentsAloc[i].mPreferred = true;                mAgentsAloc[i].mValid = true;                netif.AddUnicastAddress(mAgentsAloc[i]);                AddPrefixAgent(config.mPrefix);//.........这里部分代码省略.........
开发者ID:NCTU-ivan,项目名称:embarc_osp,代码行数:101,


示例28: SetId

 /**  * This method sets the ICMPv6 message ID for Echo Requests and Replies.  *  * @param[in]  aId  The ICMPv6 message ID.  *  */ void SetId(uint16_t aId) { mData.m16[0] = HostSwap16(aId); }
开发者ID:itavero,项目名称:openthread,代码行数:7,



注:本文中的HostSwap16函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ HscxVersion函数代码示例
C++ HootException函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。