Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl::매직

요약

열거

@21{
  kFlagConnectionClosed = 0x0002,
  kFlagAutoRequestAck = 0x0004,
  kFlagDropAck = 0x0008,
  kFlagResponseExpected = 0x0010,
  kFlagAckPending = 0x0020,
  kFlagPeerRequestedAck = 0x0040,
  kFlagMsgRcvdFromPeer = 0x0080,
  kFlagAutoReleaseKey = 0x0100,
  kFlagAutoReleaseConnection = 0x0200,
  kFlagUseEphemeralUDPPort = 0x0400
}
enum
@36 enum
@37 enum
@38{
  kFabricIdDefaultForTest = 1ULL
}
enum
@39{
  kCertType_NotSpecified = 0x00,
  kCertType_General = 0x01,
  kCertType_Device = 0x02,
  kCertType_ServiceEndpoint = 0x03,
  kCertType_FirmwareSigning = 0x04,
  kCertType_AccessToken = 0x05,
  kCertType_CA = 0x06,
  kCertType_AppDefinedBase = 0x7F,
  kCertType_Max = 0xFF
}
enum
인증서의 용도 또는 용도를 식별합니다.
@40 enum
비밀번호 기반 인증 프로토콜 (예:
@41{
  kWeaveAuthMode_NotSpecified = 0x0000,
  kWeaveAuthModeCategory_General = 0x0000,
  kWeaveAuthModeCategory_PASE = 0x1000,
  kWeaveAuthModeCategory_CASE = 0x2000,
  kWeaveAuthModeCategory_TAKE = 0x3000,
  kWeaveAuthModeCategory_GroupKey = 0x4000,
  kWeaveAuthModeCategory_AppDefinedBase = 0xC000,
  kWeaveAuthMode_Unauthenticated = kWeaveAuthModeCategory_General | 0x001,
  kWeaveAuthMode_PASE_PairingCode = kWeaveAuthModeCategory_PASE | kPasswordSource_PairingCode,
  kWeaveAuthMode_CASE_AnyCert = kWeaveAuthModeCategory_CASE | kCertType_NotSpecified,
  kWeaveAuthMode_CASE_GeneralCert = kWeaveAuthModeCategory_CASE | kCertType_General,
  kWeaveAuthMode_CASE_Device = kWeaveAuthModeCategory_CASE | kCertType_Device,
  kWeaveAuthMode_CASE_ServiceEndPoint = kWeaveAuthModeCategory_CASE | kCertType_ServiceEndpoint,
  kWeaveAuthMode_CASE_AccessToken = kWeaveAuthModeCategory_CASE | kCertType_AccessToken,
  kWeaveAuthMode_TAKE_IdentificationKey = kWeaveAuthModeCategory_TAKE | 0x001
}
enum
@42{
  kFabricSecretScope_All = 0x00
}
enum
@43{
  kTestKey_AES128CTRSHA1_DataKeyByte = 0xAB,
  kTestKey_AES128CTRSHA1_IntegrityKeyByte = 0xBA
}
enum
@44 enum
위브 메시지 암호화 애플리케이션 키 다양화 크기입니다.
@45 enum
@53 enum
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
인코딩된 Weave 메시지의 헤더와 관련된 정의입니다.
@56{
  kEUI64_UL_Mask = 0x0200000000000000ULL,
  kEUI64_UL_Unversal = 0,
  kEUI64_UL_Local = kEUI64_UL_Mask,
  kEUI64_IG_Mask = 0x0100000000000000ULL,
  kEUI64_IG_Individual = 0,
  kEUI64_IG_Group = kEUI64_IG_Mask
}
enum
IEEE EUI-64 식별자의 비트필드 정의
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
특수 범위 Weave 노드 ID
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Weave 메시지의 암호화 유형입니다.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Weave Exchange 헤더 플래그 비트입니다.
WeaveExchangeVersion enum
Weave Exchange 헤더 버전입니다.
WeaveMessageFlags{
  kWeaveMessageFlag_ReuseMessageId = 0x00000010,
  kWeaveMessageFlag_ReuseSourceId = 0x00000020,
  kWeaveMessageFlag_DelaySend = 0x00000040,
  kWeaveMessageFlag_RetainBuffer = 0x00000080,
  kWeaveMessageFlag_MessageEncoded = 0x00001000,
  kWeaveMessageFlag_DefaultMulticastSourceAddress = 0x00002000,
  kWeaveMessageFlag_PeerRequestedAck = 0x00004000,
  kWeaveMessageFlag_DuplicateMessage = 0x00008000,
  kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized = 0x00010000,
  kWeaveMessageFlag_FromInitiator = 0x00020000,
  kWeaveMessageFlag_ViaEphemeralUDPPort = 0x00040000,
  kWeaveMessageFlag_MulticastFromLinkLocal = kWeaveMessageFlag_DefaultMulticastSourceAddress,
  kWeaveMessageFlag_DestNodeId = kWeaveHeaderFlag_DestNodeId,
  kWeaveMessageFlag_SourceNodeId = kWeaveHeaderFlag_SourceNodeId,
  kWeaveMessageFlag_TunneledData = kWeaveHeaderFlag_TunneledData,
  kWeaveMessageFlag_MsgCounterSyncReq = kWeaveHeaderFlag_MsgCounterSyncReq
}
enum
수신 또는 발신 Weave 메시지와 연결된 플래그입니다.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum
Weave 메시지 형식의 버전입니다.
WeaveSubnetId{
  kWeaveSubnetId_NotSpecified = 0,
  kWeaveSubnetId_PrimaryWiFi = 1,
  kWeaveSubnetId_ThreadAlarm = 2,
  kWeaveSubnetId_WiFiAP = 3,
  kWeaveSubnetId_MobileDevice = 4,
  kWeaveSubnetId_Service = 5,
  kWeaveSubnetId_ThreadMesh = 6
}
enum
Weave에는 일반 기기에서 고유한 네트워크 인터페이스를 위한 예약된 서브넷 번호가 있습니다.
WeaveVendorId enum

Typedef

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
패브릭 보안 비밀을 소유하고 사용할 수 있는 기기의 카테고리를 식별합니다.
WeaveAuthMode typedef
uint16_t
피어 노드가 인증되는 방식을 식별합니다.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Weave 메시지의 암호화 유형입니다.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Weave Exchange 헤더 플래그 비트입니다.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
Weave Exchange 헤더 버전입니다.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
수신 또는 발신 Weave 메시지와 연결된 플래그입니다.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Weave 메시지 형식의 버전입니다.
WeaveSubnetId typedef
enum nl::Weave::WeaveSubnetId
Weave에는 일반 기기에서 고유한 네트워크 인터페이스를 위한 예약된 서브넷 번호가 있습니다.

변수

ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager
FabricState
NL_DLL_EXPORT WeaveFabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager
WeaveConnection
class NL_DLL_EXPORT
WeaveExchangeManager
class NL_DLL_EXPORT
WeaveMessageLayer
class NL_DLL_EXPORT
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
const WRMPConfig
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
const uint8_t
Weave 메시지 암호화 키 파생에 사용되는 키 구분자입니다.

Functions

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
인증 모드와 연결된 애플리케이션 그룹 마스터 키 ID를 반환합니다.
CASEAuthMode(uint8_t certType)
WeaveAuthMode
지정된 인증서 유형에 해당하는 CASE 인증 모드를 반환합니다.
CertTypeFromAuthMode(WeaveAuthMode authMode)
uint8_t
지정된 인증 모드의 비밀번호 소스를 반환합니다.
DecodeHeaderField(const uint16_t headerField, WeaveMessageInfo *msgInfo)
void
DefaultOnMessageReceived(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
EncodeHeaderField(const WeaveMessageInfo *msgInfo)
uint16_t
FindMessageName(uint32_t inProfileId, uint8_t inMsgType)
const char *
FindProfileName(uint32_t inProfileId)
const char *
FormatWeaveError(char *buf, uint16_t bufSize, int32_t err)
bool
Weave 오류가 발생한 경우 오류를 읽을 수 있도록 사람이 읽을 수 있는 NULL 종료 C 문자열을 반환합니다.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
임의의 Weave 노드 ID를 생성합니다.
GetFibonacciForIndex(uint32_t index)
uint32_t
이 함수는 지정된 32비트 색인에 대한 32비트 Fibonacci 번호를 생성합니다.
GetMessageName(uint32_t profileId, uint8_t msgType)
const char *
GetProfileName(uint32_t profileId)
const char *
GetRandU16(void)
uint16_t
이 함수는 부호 없는 16비트 랜덤 숫자를 생성합니다.
GetRandU32(void)
uint32_t
이 함수는 부호 없는 32비트 랜덤 숫자를 생성합니다.
GetRandU64(void)
uint64_t
이 함수는 부호 없는 64비트 랜덤 숫자를 생성합니다.
GetRandU8(void)
uint8_t
이 함수는 부호 없는 8비트 랜덤 숫자를 생성합니다.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
지정된 키 ID에 해당하는 그룹 키 인증 모드를 반환합니다.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
IPv6 주소 인터페이스 식별자를 Weave 노드 식별자로 변환합니다.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 Weave CASE 프로토콜을 기반으로 하는 경우 True입니다.
IsCertAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 인증서와 연결된 비공개 키의 소유 여부에 기반한 경우 true입니다.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 공유 그룹 키의 소유권에 기반한 경우 true입니다.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 Weave PASE 프로토콜을 기반으로 하는 경우 참입니다.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 공유 비밀번호를 소유하는 경우 true입니다.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
인증 모드가 Weave TAKE 프로토콜을 기반으로 하는 경우 True입니다.
IsWRMPControlMessage(uint32_t profileId, uint8_t msgType)
bool
J2N_ByteArray(JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen)
J2N_ByteArrayFieldVal(JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen)
J2N_ByteArrayInPlace(JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen)
J2N_EnumFieldVal(JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal)
J2N_EnumVal(JNIEnv *env, jobject enumObj, int & outVal)
J2N_IntFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jint & outVal)
J2N_LongFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal)
J2N_ShortFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal)
J2N_StringFieldVal(JNIEnv *env, jobject obj, const char *fieldName, char *& outVal)
MakeClassName(const char *basePackageName, const char *relativeClassName, char *& classNameBuf)
PASEAuthMode(uint8_t pwSource)
WeaveAuthMode
지정된 비밀번호 소스에 해당하는 PASE 인증 모드를 반환합니다.
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
uint8_t
지정된 인증 모드의 비밀번호 소스를 반환합니다.
PrintTunnelInfo(const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data)
void
ToHex(const uint8_t data)
char
ToHexString(const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize)
void
WeaveEncryptionKeyToString(uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
void
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
uint64_t
Weave 패브릭 식별자를 IPv6 ULA 전역 식별자로 변환합니다.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
지원 중단되었으므로 WeaveMessageLayer::GetPeerDescription()을 대신 사용합니다.
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
지원 중단되었으므로 WeaveMessageLayer::GetPeerDescription()을 대신 사용합니다.
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Weave 노드 식별자를 IPv6 주소 인터페이스 식별자로 변환합니다.
max(const _T & a, const _T & b)
const _T &
min(const _T & a, const _T & b)
const _T &

클래스

nl::Weave::결합

Weave 통신 및 관련 구성 정보의 의도된 대상을 캡처합니다.

nl::Weave::카운터

카운터를 정수 값으로 관리하기 위한 인터페이스입니다.

nl::위::ExchangeContext

이 클래스는 두 개 이상의 노드 간에 진행 중인 대화 (ExchangeContext)를 나타냅니다.

nl::Weave::FabricStateDelegate

이 추상 대리자 클래스는 패브릭 상태 변경사항을 전달합니다.

nl::Weave::HostPortList

호스트 포트 목록을 관리하고 조작하기 위해 Weave 서비스 디렉터리와 연결된 바이너리로 인코딩된 호스트 및 포트 식별자 튜플의 간결한 컬렉션입니다.

nl::Weave::JNIUtils를 사용합니다.
nl::Weave::단조 증가 카운터

단조롭게 증가하는 카운터를 정수 값으로 관리하는 클래스입니다.

nl::Weave::영구 카운터

재부팅 내내 지속하기 위한 정수 값으로 카운터를 관리하는 클래스입니다.

nl::Weave::WeaveConnection

Weave Connection 클래스의 정의입니다.

nl::Weave::WeaveConnectionTunnel

WeaveConnectionTunnel 클래스 정의: 원본 WeaveConnection이 결합된 TCPEndPoints를 관리하며, 그 사이에 WeaveMessageLayer가 모든 데이터와 연결 클로저를 전달합니다.

nl::Weave::WeaveEncryptionKey_AES128CTRSHA1을 참조하세요.
nl::Weave::WeaveExchangeHeader

ExchangeContext 내 특정 Weave 메시지의 Weave 프로필 및 메시지 유형을 지정합니다.

nl::Weave::WeaveExchangeManager

이 클래스는 다른 Weave 노드와 ExchangeContexts를 관리하는 데 사용됩니다.

nl::Weave::WeaveFabricState

WeaveFabricState의 선언 선언

nl::Weave::WeaveKeyId

Weave 키 식별자의 정의입니다.

nl::Weave::WeaveMessageLayer

다른 Weave 노드와의 통신을 관리하는 WeaveMessageLayer 클래스의 정의입니다.

nl::위브::WeaveMsgEncryptionKey

Weave 메시지 암호화 키에 대한 정보를 포함합니다.

nl::Weave::WeaveMsgEncryptionKeyCache

Weave 메시지 암호화 키의 키 캐시

nl::위브::WeaveSecurityManager
nl::위브::WeaveServerBase

인증된 요청 유효성 검사와 상태 보고서 전송을 캡슐화하고 패브릭 상태와 교환 관리자를 위한 공통 데이터 멤버 스토리지를 제공하는 Weave 프로필 요청자 (서버) 구현을 위한 기본 기본 객체입니다.

nl::Weave::WeaveServerDelegateBase를 사용하세요.

Weave 서버 위임 객체를 구현하기 위한 공통 기본 클래스입니다.

nl::Weave::WeaveSessionKey

Weave 세션 키에 대한 정보를 포함합니다.

nl::Weave::WeaveSessionState

다른 노드와 메시지를 주고받는 데 필요한 통신 상태를 전달합니다.

구조체

nl::Weave::JNILibraryMethod
nl::위::WRMPConfig

WRMP 구성

nl::Weave::WeaveMessageInfo

전송 또는 수신 진행 중인 Weave 메시지에 대한 정보입니다.

유니온

nl::위브::WeaveEncryptionKey

네임스페이스

nl::위브::ASN

이 네임스페이스에는 추상 구문 표기법 (ASN.1) 작업을 위한 Weave 내의 모든 인터페이스가 포함됩니다.

nl::위브::암호화

이 네임스페이스는 공유 암호화 지원을 위해 Weave 내의 모든 인터페이스를 포함합니다.

nl::Weave::기기 레이어
nl::Weave::기기 관리자
nl::위브::인코딩

이 네임스페이스는 다음과 같은 함수를 제공합니다.

nl::Weave::로깅

이 네임스페이스는 공유 로깅 지원을 위해 Weave 내의 모든 인터페이스를 포함합니다.

nl::Weave::플랫폼
nl::Weave::프로필

이 네임스페이스에는 Weave 프로필 내 Weve의 모든 인터페이스(Common 및 Nest Labs 공급업체별 인터페이스)가 포함되어 있습니다.

nl::Weave::보안 지원
nl::위브::통계
nl::Weave::지원
nl::Weave::시스템
nl::Weave::TLV

Weave TLV 형식으로 인코딩된 데이터를 사용하기 위한 정의입니다.

nl::Weave::

이 네임스페이스에는 Weave IP 주소와 경로를 구성하기 위한 이동식 모듈인 Weave Address 및 Routing 모듈의 인터페이스가 포함되어 있습니다.

열거

@21

 @21
속성
kFlagAckPending

전송하려는 메시지에 대한 응답이 예상되는 경우

kFlagAutoReleaseConnection

Exchange 컨텍스트가 해제되면 메시지 암호화 키가 자동으로 해제됩니다.

kFlagAutoReleaseKey

설정된 경우 이 교환 컨텍스트에서 피어로부터 하나 이상의 메시지를 수신했음을 나타냅니다.

kFlagAutoRequestAck

이 컨텍스트는 WeaveConnection과 연결되어 있었습니다.

kFlagConnectionClosed

이 컨텍스트는 거래소의 시작점입니다.

kFlagDropAck

설정하면 UDP를 통해 메일이 전송될 때마다 자동으로 확인을 요청합니다.

kFlagMsgRcvdFromPeer

설정된 경우 이 거래소에서 수신된 하나 이상의 메시지가 확인을 요청했음을 나타냅니다.

이 플래그는 애플리케이션에서 전송하려는 응답 메시지에 대한 확인을 요청해야 하는지 결정하기 위해 읽습니다. 이 플래그는 피어가 WRMP를 사용 중인지도 나타낼 수 있습니다.

kFlagPeerRequestedAck

설정된 경우 회신 확인이 대기 중임을 나타냅니다.

kFlagResponseExpected

내부 및 디버그만: 설정된 경우 Exchange 계층에서 확인을 전송하지 않습니다.

kFlagUseEphemeralUDPPort

거래소 컨텍스트가 해제되면 연결된 WeaveConnection이 자동으로 해제됩니다.

@36

 @36

@37

 @37

@38

 @38
속성
kFabricIdDefaultForTest

테스트 목적으로만 사용해야 하는 기본 패브릭 ID입니다.

@39

 @39

인증서의 용도 또는 용도를 식별합니다.

인증서 유형은 인증서의 목적 또는 애플리케이션을 설명하는 라벨입니다. 인증서 유형은 해당 인증서의 속성이 아니라 인증서 구조 및/또는 컨텍스트가 사용되는 컨텍스트에서 파생됩니다. 인증서 유형 열거에는 일반적으로 사용되는 인증서 애플리케이션을 설명하는 사전 정의된 값 집합이 포함됩니다. 개발자는 맞춤 인증서 또는 고유한 보안 속성이 포함된 인증서를 설명한 애플리케이션별 유형으로 인증서 유형 값 범위를 확장할 수도 있습니다.

인증서 유형은 요청자가 제시하는 인증서 유형에 따라 애플리케이션 기능 액세스 권한이 영향을 받는 액세스 제어 정책을 구현하는 데 주로 사용됩니다.

속성
kCertType_AccessToken

Weave 액세스 토큰 인증서

kCertType_AppDefinedBase

애플리케이션별 인증서 유형은 '>= 이 값을 가져야 합니다.

kCertType_CA

CA 인증서

kCertType_Device

Weave 기기 인증서

kCertType_FirmwareSigning

Weave 펌웨어 서명 인증서

kCertType_General

일반적인 유형 또는 구체적이지 않은 유형의 인증서입니다.

kCertType_Max

인증서 유형은 이 값보다 클 수 없습니다.

kCertType_NotSpecified

인증서 유형이 지정되지 않았습니다.

kCertType_ServiceEndpoint

Weave 서비스 엔드포인트 인증서

@40

 @40

비밀번호 기반 인증 프로토콜 (예:

위브 PASE)

@41

 @41
속성
kWeaveAuthModeCategory_AppDefinedBase

애플리케이션에서 정의한 인증 카테고리의 기본값입니다.

kWeaveAuthModeCategory_CASE

Weave CASE 프로토콜을 사용하여 피어를 인증했습니다.

kWeaveAuthModeCategory_General

일련의 일반 메커니즘 중 하나를 사용하여 피어를 인증했습니다.

kWeaveAuthModeCategory_GroupKey

공유 그룹 키를 사용하여 피어를 인증했습니다.

kWeaveAuthModeCategory_PASE

Weave PASE 프로토콜을 사용하여 피어를 인증했습니다.

kWeaveAuthModeCategory_TAKE

Weave TAKE 프로토콜을 사용하여 피어를 인증했습니다.

kWeaveAuthMode_CASE_AccessToken

Weave 액세스 토큰 인증서와 함께 CASE를 사용하여 피어를 인증했습니다.

kWeaveAuthMode_CASE_AnyCert

CASE를 임의의 인증서 또는 알 수 없는 유형의 인증서와 함께 CASE를 사용하여 인증했습니다.

kWeaveAuthMode_CASE_Device

Weave 기기 인증서로 CASE를 사용하여 피어를 인증했습니다.

kWeaveAuthMode_CASE_GeneralCert

일반 또는 특정 인증서 유형에 CASE를 사용하여 인증된 피어

kWeaveAuthMode_CASE_ServiceEndPoint

Weave 서비스 엔드포인트 인증서로 CASE를 사용하여 피어를 인증했습니다.

kWeaveAuthMode_NotSpecified

인증 모드가 지정되지 않았습니다.

kWeaveAuthMode_PASE_PairingCode

기기 페어링 코드와 함께 PASE를 사용하여 피어가 인증되었습니다.

kWeaveAuthMode_TAKE_IdentificationKey

TAKE를 사용하여 토큰 식별 키를 사용하여 피어를 인증했습니다.

kWeaveAuthMode_Unauthenticated

피어가 인증되지 않았습니다.

@42

 @42
속성
kFabricSecretScope_All

모든 기기는 해당 패브릭 보안 비밀을 보유할 수 있습니다.

@43

 @43
속성
kTestKey_AES128CTRSHA1_DataKeyByte

테스트에만 사용되는 암호화 키를 구성하는 바이트 값입니다.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

테스트용으로만 사용되는 무결성 키를 구성하는 바이트 값입니다.

@44

 @44

위브 메시지 암호화 애플리케이션 키 다양화 크기입니다.

@45

 @45

@53

 @53

@74

 @54
속성
kWeavePeerDescription_MaxLength

WeaveMessageLayer::GetPeerDescription()에서 반환된 최대 문자열 길이(NUL 문자 포함)입니다.

@75

 @55

인코딩된 Weave 메시지의 헤더와 관련된 정의입니다.

속성
kWeaveHeaderFlag_DestNodeId

Weave 메시지 헤더에 대상 노드 ID가 있음을 나타냅니다.

kWeaveHeaderFlag_MsgCounterSyncReq

발신자가 메일 카운터 동기화를 요청함을 나타냅니다.

kWeaveHeaderFlag_SourceNodeId

Weave 메시지 헤더에 소스 노드 ID가 있음을 나타냅니다.

kWeaveHeaderFlag_TunneledData

Weave 메시지 페이로드가 터널링된 IP 패킷임을 나타냅니다.

@56

 @56

IEEE EUI-64 식별자의 비트필드 정의

속성
kEUI64_IG_Group

그룹 주소 EUI-64 식별자를 나타내는 개별/그룹 비트 값입니다.

kEUI64_IG_Individual

개별 주소 EUI-64 식별자를 나타내는 개별/그룹 비트 값입니다.

kEUI64_IG_Mask

EUI-64 식별자 내의 개인/그룹 (I/G) 비트용 비트마스크입니다.

값 0은 ID가 개별 주소임을 나타냅니다. 값 1은 ID가 그룹 주소임을 나타냅니다.

kEUI64_UL_Local

로컬에서 관리되는 EUI-64 식별자를 나타내는 범용/로컬 비트 값입니다.

kEUI64_UL_Mask

EUI-64 식별자 내의 범용/로컬 (U/L) 비트용 비트마스크.

값 0은 ID가 범용 (전역적으로) 관리됨을 나타냅니다. 값 1은 ID가 로컬에서 관리됨을 나타냅니다.

kEUI64_UL_Unversal

범용 관리 EUI-64 식별자를 나타내는 범용/로컬 비트 값입니다.

@77

 @57

특수 범위 Weave 노드 ID

속성
kMaxAlwaysLocalWeaveNodeId

테스트 식별자의 경우 이 값과 같거나 낮은 노드 식별자가 로컬으로 간주됩니다.

위브암호화 유형

 WeaveEncryptionType

Weave 메시지의 암호화 유형입니다.

속성
kWeaveEncryptionType_AES128CTRSHA1

HMAC-SHA-1 메시지 무결성이 있는 AES-128-CTR 암호화를 사용하여 암호화된 메시지입니다.

kWeaveEncryptionType_None

메일이 암호화되지 않습니다.

WeaveExchangeFlags

 WeaveExchangeFlags

Weave Exchange 헤더 플래그 비트입니다.

속성
kWeaveExchangeFlag_AckId

현재 메시지가 이전에 수신된 메시지에 대한 확인 시점이 될 때 설정합니다.

kWeaveExchangeFlag_Initiator

교환 주체가 현재 메시지를 보내는 시간을 설정합니다.

kWeaveExchangeFlag_NeedsAck

현재 메시지가 수신자에게 확인을 요청할 때 설정합니다.

WeaveExchangeVersion

 WeaveExchangeVersion

Weave Exchange 헤더 버전입니다.

WeaveMessageFlags

 WeaveMessageFlags

수신 또는 발신 Weave 메시지와 연결된 플래그입니다.

여기에 정의된 값은 WeaveMessageInfo.Flags 필드 내에서 사용됩니다.

속성
kWeaveMessageFlag_DefaultMulticastSourceAddress

IPv6 멀티캐스트 메시지를 보낼 때 기본 IPv6 소스 주소 선택을 사용해야 함을 나타냅니다.

kWeaveMessageFlag_DelaySend

메일 전송이 지연되어야 함을 나타냅니다.

kWeaveMessageFlag_DestNodeId

Weave 메시지 헤더에 대상 노드 ID가 있음을 나타냅니다.

kWeaveMessageFlag_DuplicateMessage

메시지가 이전에 수신된 메시지와 중복되었음을 나타냅니다.

kWeaveMessageFlag_FromInitiator

메시지 소스가 Weave 교환의 시작점임을 나타냅니다.

kWeaveMessageFlag_MessageEncoded

Weave 메시지가 이미 인코딩되었음을 나타냅니다.

kWeaveMessageFlag_MsgCounterSyncReq

발신자가 피어의 메시지 카운터 동기화를 요청함을 나타냅니다.

kWeaveMessageFlag_MulticastFromLinkLocal

kWeaveMessageFlag_DefaultMulticastSourceAddress에 대한 별칭이 지원 중단되었습니다.

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

동종 앱 그룹 키 메시지 카운터가 동기화되지 않았음을 나타냅니다.

kWeaveMessageFlag_PeerRequestedAck

메시지의 발신자가 확인을 요청했음을 나타냅니다.

kWeaveMessageFlag_RetainBuffer

전송 후 메시지 버퍼를 해제하면 안 된다는 것을 나타냅니다.

kWeaveMessageFlag_ReuseMessageId

기존 메시지 식별자를 재사용해야 함을 나타냅니다.

kWeaveMessageFlag_ReuseSourceId

기존 소스 노드 식별자를 재사용해야 함을 나타냅니다.

kWeaveMessageFlag_SourceNodeId

Weave 메시지 헤더에 소스 노드 ID가 있음을 나타냅니다.

kWeaveMessageFlag_TunneledData

Weave 메시지 페이로드가 터널링된 IP 패킷임을 나타냅니다.

kWeaveMessageFlag_ViaEphemeralUDPPort

메시지가 로컬 임시 UDP 포트를 통해 전송/수신 중임을 나타냅니다.

WeaveMessageVersion

 WeaveMessageVersion

Weave 메시지 형식의 버전입니다.

Weave는 Weave 메시지에 필요한 프레임 형식을 기반으로 적절한 메시지 버전을 선택합니다. 기본적으로 메시지 버전은 kWeaveMessageVersion_V1입니다. 예를 들어 Weave Reliable Messaging을 사용하는 경우 버전은 kWeaveMessageVersion_V2입니다.

속성
kWeaveMessageVersion_Unspecified

메시지 버전이 지정되지 않았습니다.

kWeaveMessageVersion_V1

메일 헤더 형식 버전 V1.

kWeaveMessageVersion_V2

메일 헤더 형식 버전 V2입니다.

Weave서브넷 ID

 WeaveSubnetId

Weave에는 일반 기기에서 고유한 네트워크 인터페이스를 위한 예약된 서브넷 번호가 있습니다.

이 숫자는 기호 상수에 할당됩니다. Weave는 이러한 서브넷 번호를 사용하여 적절한 인터페이스에서 IPv6 ULA 주소를 구성합니다.

속성
kWeaveSubnetId_MobileDevice

모든 휴대기기의 서브넷 식별자입니다.

kWeaveSubnetId_NotSpecified

지정되지 않거나 null 값으로 예약되었습니다.

kWeaveSubnetId_PrimaryWiFi

Wi-Fi 라디오 인터페이스 서브넷 번호입니다.

kWeaveSubnetId_Service

Nest 서비스 엔드포인트의 서브넷 식별자입니다.

kWeaveSubnetId_ThreadAlarm

스레드 알람 라디오 인터페이스 서브넷 번호입니다.

kWeaveSubnetId_ThreadMesh

스레드 메시 무선 인터페이스 서브넷 식별자입니다.

kWeaveSubnetId_WiFiAP

로컬 Wi-Fi AP 인터페이스 서브넷 번호입니다.

WeaveVendorId

 WeaveVendorId

Typedef

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

패브릭 보안 비밀을 소유하고 사용할 수 있는 기기의 카테고리를 식별합니다.

WeaveAuthMode

uint16_t WeaveAuthMode

피어 노드가 인증되는 방식을 식별합니다.

WeaveAuthMode는 Weave 메시지 교환 중에 피어 노드가 인증되었거나 인증되어야 하는 수단을 설명합니다. 시작 컨텍스트에서 애플리케이션은 WeaveAuthMode를 사용하여 교환에 대해 원하는 피어 인증 모드를 표현하고, Weave 보안 및 메시지 레이어에 원하는 모드를 달성하거나 통신에 실패하도록 지시합니다. 응답 컨텍스트에서 WeaveAuthMode는 요청 노드 (피어)가 인증된 방식을 식별하여 응답 애플리케이션이 이 정보를 기반으로 액세스 제어를 시행할 수 있도록 합니다.

수신 Weave 메시지에 할당된 WeaveAuthMode는 해당 메시지를 암호화하는 데 사용된 키의 특성과 관련이 있습니다. WeaveAuthMode는 키가 설정된 메커니즘과 키 설정 시 통신 상대의 신원을 확인하는 데 사용되는 기준을 가져옵니다.

WeaveAuthMode에는 일반적인 인증 모드를 설명하는 사전 정의된 값이 포함됩니다. 키 계약 메커니즘 (CASE, PASE, GroupKey 등)으로 분류됩니다. 개발자는 특정 암호화 키에 연결할 수 있는 애플리케이션별 모드를 정의하여 WeaveAuthMode를 확장할 수 있습니다.

위브암호화 키

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

위브암호화 유형

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Weave 메시지의 암호화 유형입니다.

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Weave Exchange 헤더 플래그 비트입니다.

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

Weave Exchange 헤더 버전입니다.

WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

수신 또는 발신 Weave 메시지와 연결된 플래그입니다.

여기에 정의된 값은 WeaveMessageInfo.Flags 필드 내에서 사용됩니다.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Weave 메시지 형식의 버전입니다.

Weave는 Weave 메시지에 필요한 프레임 형식을 기반으로 적절한 메시지 버전을 선택합니다. 기본적으로 메시지 버전은 kWeaveMessageVersion_V1입니다. 예를 들어 Weave Reliable Messaging을 사용하는 경우 버전은 kWeaveMessageVersion_V2입니다.

Weave서브넷 ID

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave에는 일반 기기에서 고유한 네트워크 인터페이스를 위한 예약된 서브넷 번호가 있습니다.

이 숫자는 기호 상수에 할당됩니다. Weave는 이러한 서브넷 번호를 사용하여 적절한 인터페이스에서 IPv6 ULA 주소를 구성합니다.

변수

거래소

NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr

FabricState

NL_DLL_EXPORT WeaveFabricState FabricState

메시지 레이어

NL_DLL_EXPORT WeaveMessageLayer MessageLayer

보안 관리자

NL_DLL_EXPORT WeaveSecurityManager SecurityMgr

위브연결

class NL_DLL_EXPORT WeaveConnection

WeaveExchangeManager 계정

class NL_DLL_EXPORT WeaveExchangeManager

WeaveMessageLayer

class NL_DLL_EXPORT WeaveMessageLayer

gDefaultWRMPConfig입니다.

const WRMPConfig gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
                                        WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }

kWeaveMsgEncAppKeyDiversifier

const uint8_t kWeaveMsgEncAppKeyDiversifier[] = { 0xB1, 0x1D, 0xAE, 0x5B }

Weave 메시지 암호화 키 파생에 사용되는 키 구분자입니다.

이 값은 \'Nest Weave Message EK 및 AK&quot 구문의 SHA-1 HASH 중 처음 4바이트를 나타냅니다.

Functions

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

인증 모드와 연결된 애플리케이션 그룹 마스터 키 ID를 반환합니다.

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

지정된 인증서 유형에 해당하는 CASE 인증 모드를 반환합니다.

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

지정된 인증 모드의 비밀번호 소스를 반환합니다.

디코드헤더필드

void DecodeHeaderField(
  const uint16_t headerField,
  WeaveMessageInfo *msgInfo
)

DefaultOnMessageReceived

void DefaultOnMessageReceived(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

EncodeHeaderField

uint16_t EncodeHeaderField(
  const WeaveMessageInfo *msgInfo
)

FindMessageName

const char * FindMessageName(
  uint32_t inProfileId,
  uint8_t inMsgType
)

FindProfileName

const char * FindProfileName(
  uint32_t inProfileId
)

FormatWeaveError

bool FormatWeaveError(
  char *buf,
  uint16_t bufSize,
  int32_t err
)

Weave 오류가 발생한 경우 오류를 읽을 수 있도록 사람이 읽을 수 있는 NULL 종료 C 문자열을 반환합니다.

세부정보
매개변수
[in] buf
오류 문자열이 배치될 버퍼입니다.
[in] bufSize
제공된 버퍼의 크기(바이트)입니다.
[in] err
설명할 오류입니다.
반환
설명 문자열을 제공된 버퍼에 작성한 경우 true입니다.
반환
제공된 오류가 Weave 오류가 아닌 경우 false입니다.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

임의의 Weave 노드 ID를 생성합니다.

이 함수는 64비트 로컬 고유 Weave 노드 ID를 생성합니다. 이 함수는 생성된 값의 고유성을 보장하기 위해 암호화 방식으로 강력한 임의 데이터 소스를 사용합니다. 생성된 Weave 노드 ID의 비트 57은 1로 설정되어 생성된 Weave 노드 ID가 전역이 아니라 로컬에서 고유함을 나타냅니다.

세부정보
매개변수
nodeId
64비트 Weave 노드 ID에 대한 참조입니다.
반환 값
WEAVE_NO_ERROR
Weave 노드 ID가 생성된 경우.

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

이 함수는 지정된 32비트 색인에 대한 32비트 Fibonacci 번호를 생성합니다.

세부정보
반환
부호 없는 32비트 Fibonacci 번호입니다.

GetMessageName

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

GetProfileName

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

이 함수는 부호 없는 16비트 랜덤 숫자를 생성합니다.

세부정보
반환
부호 없는 16비트 정수입니다.

GetRandU32

uint32_t GetRandU32(
  void
)

이 함수는 부호 없는 32비트 랜덤 숫자를 생성합니다.

세부정보
반환
부호 없는 32비트 정수입니다.

GetRandU64

uint64_t GetRandU64(
  void
)

이 함수는 부호 없는 64비트 랜덤 숫자를 생성합니다.

세부정보
반환
부호 없는 64비트 정수입니다.

GetRandU8

uint8_t GetRandU8(
  void
)

이 함수는 부호 없는 8비트 랜덤 숫자를 생성합니다.

세부정보
반환
부호 없는 8비트 임의의 정수입니다.

공급업체 이름 가져오기

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

지정된 키 ID에 해당하는 그룹 키 인증 모드를 반환합니다.

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

IPv6 주소 인터페이스 식별자를 Weave 노드 식별자로 변환합니다.

테스트의 편의를 위해 노드 식별자는 #kMaxAlwaysLocalWeaveNodeId (65535) 이하이며 'local'로 간주되며 범용/로컬 비트를 0으로 설정합니다. 이렇게 하면 상응하는 IPv6 주소의 문자열 표현이 간소화됩니다. 예를 들어 노드 식별자 10의 ULA는 FD00:0:1:1::A입니다.

세부정보
매개변수
[in] interfaceId
64비트 인터페이스 식별자입니다.
반환
매핑된 64비트 Weave 노드 식별자입니다.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 Weave CASE 프로토콜을 기반으로 하는 경우 True입니다.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 인증서와 연결된 비공개 키의 소유 여부에 기반한 경우 true입니다.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 공유 그룹 키의 소유권에 기반한 경우 true입니다.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 Weave PASE 프로토콜을 기반으로 하는 경우 참입니다.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 공유 비밀번호를 소유하는 경우 true입니다.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

인증 모드가 Weave TAKE 프로토콜을 기반으로 하는 경우 True입니다.

IsWRMPControlMessage

bool IsWRMPControlMessage(
  uint32_t profileId,
  uint8_t msgType
)

J2N_바이트 배열

WEAVE_ERROR J2N_ByteArray(
  JNIEnv *env,
  jbyteArray inArray,
  uint8_t *& outArray,
  uint32_t & outArrayLen
)

J2N_ByteArrayFieldVal

WEAVE_ERROR J2N_ByteArrayFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  uint8_t *& outArray,
  uint32_t & outArrayLen
)

J2N_ByteArrayInPlace

WEAVE_ERROR J2N_ByteArrayInPlace(
  JNIEnv *env,
  jbyteArray inArray,
  uint8_t *outArray,
  uint32_t maxArrayLen
)

J2N_EnumFieldVal

WEAVE_ERROR J2N_EnumFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  const char *fieldType,
  int & outVal
)

J2N_EnumVal

WEAVE_ERROR J2N_EnumVal(
  JNIEnv *env,
  jobject enumObj,
  int & outVal
)

J2N_IntFieldVal

WEAVE_ERROR J2N_IntFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jint & outVal
)

J2N_롱필드Val

WEAVE_ERROR J2N_LongFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jlong & outVal
)

J2N_ShortFieldVal

WEAVE_ERROR J2N_ShortFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  jshort & outVal
)

J2N_문자열필드Val

WEAVE_ERROR J2N_StringFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  char *& outVal
)

MakeClassName

WEAVE_ERROR MakeClassName(
  const char *basePackageName,
  const char *relativeClassName,
  char *& classNameBuf
)

PASEAuthMode

WeaveAuthMode PASEAuthMode(
  uint8_t pwSource
)

지정된 비밀번호 소스에 해당하는 PASE 인증 모드를 반환합니다.

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

지정된 인증 모드의 비밀번호 소스를 반환합니다.

PrintTunnelInfo

void PrintTunnelInfo(
  const WeaveConnectionTunnel & tun,
  const TCPEndPoint & fromEndPoint,
  const TCPEndPoint & toEndPoint,
  const PacketBuffer & data
)

16진수

char ToHex(
  const uint8_t data
)

ToHexex문자열

void ToHexString(
  const uint8_t *data,
  size_t dataLen,
  char *& outBuf,
  size_t & outBufSize
)

WeaveEncryptionKeyToString:

void WeaveEncryptionKeyToString(
  uint8_t encType,
  const WeaveEncryptionKey & key,
  char *buf,
  size_t bufSize
)

WeaveFabricIdToIPv6GlobalId

uint64_t WeaveFabricIdToIPv6GlobalId(
  uint64_t fabricId
)

Weave 패브릭 식별자를 IPv6 ULA 전역 식별자로 변환합니다.

패브릭 주소의 ULA 전역 식별자는 패브릭 64비트 패브릭 ID의 하위 40비트입니다.

세부정보
매개변수
[in] fabricId
위브 패브릭 식별자입니다.
반환
매핑된 IPv6 전역 식별자

WeaveMessageSourceToStr

void WeaveMessageSourceToStr(
  char *buf,
  uint32_t bufSize,
  const WeaveMessageInfo *msgInfo
)

지원 중단되었으므로 WeaveMessageLayer::GetPeerDescription()을 대신 사용합니다.

WeaveNodeAddrToStr

void WeaveNodeAddrToStr(
  char *buf,
  uint32_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  WeaveConnection *con
)

지원 중단되었으므로 WeaveMessageLayer::GetPeerDescription()을 대신 사용합니다.

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

Weave 노드 식별자를 IPv6 주소 인터페이스 식별자로 변환합니다.

Weave Node 식별자는 범용/로컬 EUI-64이며, RFC-3513에 따라 범용/로컬 비트를 반전 (인터페이스 비트는 0으로 간주하여 57비트)하여 인터페이스 식별자로 변환됩니다.

테스트의 편의를 위해 노드 식별자는 #kMaxAlwaysLocalWeaveNodeId (65535) 이하이며 'local'로 간주되며 범용/로컬 비트를 0으로 설정합니다. 이렇게 하면 상응하는 IPv6 주소의 문자열 표현이 간소화됩니다. 예를 들어 노드 식별자 10의 ULA는 FD00:0:1:1::A입니다.

세부정보
매개변수
[in] nodeId
64비트 Weave 노드 식별자입니다.
반환
IPv6 인터페이스 식별자입니다.

최대

const _T & max(
  const _T & a,
  const _T & b
)

const _T & min(
  const _T & a,
  const _T & b
)