nl:: 매직
요약
Typedef |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
패브릭 보안 비밀을 소유하고 사용할 수 있는 기기의 카테고리를 식별합니다. |
WeaveAuthMode
|
typedefuint16_t
피어 노드가 인증되는 방식을 식별합니다. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Weave 메시지의 암호화 유형입니다. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Weave Exchange 헤더 플래그 비트입니다. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
Weave Exchange 헤더 버전입니다. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
수신 또는 발신 Weave 메시지와 연결된 플래그입니다. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
Weave 메시지 형식의 버전입니다. |
WeaveSubnetId
|
typedefenum 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 통신 및 관련 구성 정보의 의도된 대상을 캡처합니다. |
nl:: |
카운터를 정수 값으로 관리하기 위한 인터페이스입니다. |
nl:: |
이 클래스는 두 개 이상의 노드 간에 진행 중인 대화 (ExchangeContext)를 나타냅니다. |
nl:: |
이 추상 대리자 클래스는 패브릭 상태 변경사항을 전달합니다. |
nl:: |
호스트 포트 목록을 관리하고 조작하기 위해 Weave 서비스 디렉터리와 연결된 바이너리로 인코딩된 호스트 및 포트 식별자 튜플의 간결한 컬렉션입니다. |
nl:: |
|
nl:: |
단조롭게 증가하는 카운터를 정수 값으로 관리하는 클래스입니다. |
nl:: |
재부팅 내내 지속하기 위한 정수 값으로 카운터를 관리하는 클래스입니다. |
nl:: |
Weave Connection 클래스의 정의입니다. |
nl:: |
WeaveConnectionTunnel 클래스 정의: 원본 WeaveConnection이 결합된 TCPEndPoints를 관리하며, 그 사이에 WeaveMessageLayer가 모든 데이터와 연결 클로저를 전달합니다. |
nl:: |
|
nl:: |
ExchangeContext 내 특정 Weave 메시지의 Weave 프로필 및 메시지 유형을 지정합니다. |
nl:: |
이 클래스는 다른 Weave 노드와 ExchangeContexts를 관리하는 데 사용됩니다. |
nl:: |
WeaveFabricState의 선언 선언 |
nl:: |
Weave 키 식별자의 정의입니다. |
nl:: |
다른 Weave 노드와의 통신을 관리하는 WeaveMessageLayer 클래스의 정의입니다. |
nl:: |
Weave 메시지 암호화 키에 대한 정보를 포함합니다. |
nl:: |
Weave 메시지 암호화 키의 키 캐시 |
nl:: |
|
nl:: |
인증된 요청 유효성 검사와 상태 보고서 전송을 캡슐화하고 패브릭 상태와 교환 관리자를 위한 공통 데이터 멤버 스토리지를 제공하는 Weave 프로필 요청자 (서버) 구현을 위한 기본 기본 객체입니다. |
nl:: |
Weave 서버 위임 객체를 구현하기 위한 공통 기본 클래스입니다. |
nl:: |
Weave 세션 키에 대한 정보를 포함합니다. |
nl:: |
다른 노드와 메시지를 주고받는 데 필요한 통신 상태를 전달합니다. |
구조체 |
|
---|---|
nl:: |
|
nl:: |
WRMP 구성 |
nl:: |
전송 또는 수신 진행 중인 Weave 메시지에 대한 정보입니다. |
유니온 |
|
---|---|
nl:: |
네임스페이스 |
|
---|---|
nl:: |
이 네임스페이스에는 추상 구문 표기법 (ASN.1) 작업을 위한 Weave 내의 모든 인터페이스가 포함됩니다. |
nl:: |
이 네임스페이스는 공유 암호화 지원을 위해 Weave 내의 모든 인터페이스를 포함합니다. |
nl:: |
|
nl:: |
|
nl:: |
이 네임스페이스는 다음과 같은 함수를 제공합니다. |
nl:: |
이 네임스페이스는 공유 로깅 지원을 위해 Weave 내의 모든 인터페이스를 포함합니다. |
nl:: |
|
nl:: |
이 네임스페이스에는 Weave 프로필 내 Weve의 모든 인터페이스(Common 및 Nest Labs 공급업체별 인터페이스)가 포함되어 있습니다. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Weave TLV 형식으로 인코딩된 데이터를 사용하기 위한 정의입니다. |
nl:: |
이 네임스페이스에는 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
@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
|
피어가 인증되지 않았습니다. |
@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 식별자를 나타내는 범용/로컬 비트 값입니다. |
위브암호화 유형
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_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" 구문의 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 문자열을 반환합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
설명 문자열을 제공된 버퍼에 작성한 경우 true입니다.
|
||||||
반환 |
제공된 오류가 Weave 오류가 아닌 경우 false입니다.
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
임의의 Weave 노드 ID를 생성합니다.
이 함수는 64비트 로컬 고유 Weave 노드 ID를 생성합니다. 이 함수는 생성된 값의 고유성을 보장하기 위해 암호화 방식으로 강력한 임의 데이터 소스를 사용합니다. 생성된 Weave 노드 ID의 비트 57은 1로 설정되어 생성된 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입니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
매핑된 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비트입니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
매핑된 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입니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
IPv6 인터페이스 식별자입니다.
|
최대
const _T & max( const _T & a, const _T & b )
분
const _T & min( const _T & a, const _T & b )