nl:: Weave
요약
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 Message 형식의 버전입니다. |
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 메시지 암호화 키 파생에 사용되는 키 다양자입니다.
|
함수 |
|
---|---|
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비트 피보나치 숫자를 생성합니다.
|
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 프로토콜을 기반으로 하는 경우 true입니다.
|
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 클래스의 정의는 원래 WeaveConnections가 결합된 TCPEndPoint 쌍을 관리하고 그 사이에 WeaveMessageLayer가 모든 데이터와 연결 클로저를 전달합니다. |
nl:: |
|
nl:: |
이는 ExchangeContext 내에서 특정 Weave 메시지의 Weave 프로필과 메시지 유형을 지정합니다. |
nl:: |
이 클래스는 다른 Weave 노드로 ExchangeContexts를 관리하는 데 사용됩니다. |
nl:: |
WeaveFabricState의 전방 선언 |
nl:: |
Weave Key 식별자의 정의입니다. |
nl:: |
다른 Weave 노드와의 통신을 관리하는 WeaveMessageLayer 클래스의 정의 |
nl:: |
Weave 메시지 암호화 키에 대한 정보가 포함됩니다. |
nl:: |
Weave 메시지 암호화 키의 키 캐시입니다. |
nl:: |
|
nl:: |
Weave 프로필 요청하지 않은 응답자 (서버)를 구현하기 위한 일반적인 기본 객체로, 인증된 요청의 유효성 검사와 상태 보고서를 캡슐화하고 패브릭 상태와 교환 관리자를 위한 공통 데이터 멤버 저장소를 제공합니다. |
nl:: |
Weave 서버 대리자 객체를 구현하기 위한 공통 기본 클래스입니다. |
nl:: |
Weave 세션 키에 대한 정보를 포함합니다. |
nl:: |
다른 노드와 메시지를 주고받는 데 필요한 통신 상태를 전달합니다. |
구조체 |
|
---|---|
nl:: |
|
nl:: |
WRMP 구성 |
nl:: |
전송 또는 수신 중인 Weave 메시지에 대한 정보입니다. |
Union |
|
---|---|
nl:: |
네임스페이스 |
|
---|---|
nl:: |
이 네임스페이스는 AASN.1 (Abstract Syntax Notation One) 작업을 위한 Weave 내의 모든 인터페이스를 포함합니다. |
nl:: |
이 네임스페이스는 암호화 공유를 위해 Weave 내의 모든 인터페이스를 포함합니다. |
nl:: |
|
nl:: |
|
nl:: |
이 네임스페이스는 다음과 같은 함수를 제공합니다. |
nl:: |
이 네임스페이스는 로깅 공유를 위해 Weave 내의 모든 인터페이스를 포함합니다. |
nl:: |
|
nl:: |
이 네임스페이스에는 Weave 프로필 내 모든 인터페이스(Common 및 Nest Labs 공급업체 전용)가 포함됩니다. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Weave TLV 형식으로 인코딩된 데이터 작업에 대한 정의입니다. |
nl:: |
이 네임스페이스에는 Weave IP 주소 및 경로를 구성하기 위한 이동식 모듈인 Weave Address and Routing 모듈용 인터페이스가 포함되어 있습니다. |
열거
@21
@21
속성 | |
---|---|
kFlagAckPending
|
전송되는 메시지에 대한 응답이 예상되는 경우 |
kFlagAutoReleaseConnection
|
교환 컨텍스트가 해제되면 메시지 암호화 키가 자동으로 해제됩니다. |
kFlagAutoReleaseKey
|
설정되면 이 교환 컨텍스트의 피어로부터 메시지가 하나 이상 수신되었음을 나타냅니다. |
kFlagAutoRequestAck
|
이 컨텍스트는 WeaveConnection과 연결되어 있습니다. |
kFlagConnectionClosed
|
이 컨텍스트가 교환을 시작한 사람입니다. |
kFlagDropAck
|
설정되면 메시지가 UDP를 통해 전송될 때마다 자동으로 확인을 요청합니다. |
kFlagMsgRcvdFromPeer
|
설정되면 이 교환에서 수신한 하나 이상의 메시지가 확인을 요청했음을 나타냅니다. 애플리케이션은 이 플래그를 읽어 보내려는 응답 메시지에 대한 확인을 요청해야 하는지 결정합니다. 이 플래그는 피어가 WRMP를 사용 중인지 여부도 나타낼 수 있습니다. |
kFlagPeerRequestedAck
|
설정되면 반환 대기 중인 확인이 있음을 나타냅니다. |
kFlagResponseExpected
|
내부 및 디버그 전용: 설정되면 교환 레이어는 확인을 전송하지 않습니다. |
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
비밀번호 기반 인증 프로토콜 (예:
Weave 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를 사용하여 피어 인증되었거나 알 수 없는 유형의 인증서입니다. |
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
Weave 메시지 암호화 애플리케이션 키 다양화 크기입니다.
@45
@45
@53
@53
@54
@54
속성 | |
---|---|
kWeavePeerDescription_MaxLength
|
WeaveMessageLayer::GetPeerDescription()에서 반환하는 문자열(NUL 문자 포함)의 최대 길이 |
@55
@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 식별자를 나타냅니다. |
@57
@57
Weave 노드 ID의 특수 범위.
속성 | |
---|---|
kMaxAlwaysLocalWeaveNodeId
|
이 값보다 작거나 같은 Weave 노드 식별자는 테스트 편의를 위해 로컬로 간주됩니다. |
WeaveEncryptionType
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 Message 형식의 버전입니다.
Weave는 Weave 메시지에 필요한 프레임 형식에 따라 적절한 메시지 버전을 선택합니다. 기본적으로 메시지 버전은 kWeaveMessageVersion_V1입니다. 예를 들어 Weave Reliable Messaging을 사용하는 경우 이 버전은 kWeaveMessageVersion_V2입니다.
속성 | |
---|---|
kWeaveMessageVersion_Unspecified
|
지정되지 않은 메시지 버전입니다. |
kWeaveMessageVersion_V1
|
메일 헤더 형식 버전 V1입니다. |
kWeaveMessageVersion_V2
|
메일 헤더 형식 버전 V2입니다. |
WeaveSubnetId
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는 키가 설정된 메커니즘과 키 설정 시 통신 당사자의 ID를 확인하는 데 사용되는 기준에서 파생됩니다.
WeaveAuthMode에는 일반적인 인증 모드를 설명하는 사전 정의된 값 집합이 포함되어 있습니다. 이는 키 일치 메커니즘 (CASE, PASE, GroupKey 등)으로 분류됩니다. 개발자는 특정 암호화 키에 연결할 수 있는 애플리케이션별 모드를 정의하여 WeaveAuthMode를 확장할 수 있습니다.
WeaveEncryptionKey
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
WeaveEncryptionType
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 Message 형식의 버전입니다.
Weave는 Weave 메시지에 필요한 프레임 형식에 따라 적절한 메시지 버전을 선택합니다. 기본적으로 메시지 버전은 kWeaveMessageVersion_V1입니다. 예를 들어 Weave Reliable Messaging을 사용하는 경우 이 버전은 kWeaveMessageVersion_V2입니다.
WeaveSubnetId
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave에는 일반적인 장치의 고유한 네트워크 인터페이스를 위해 몇 가지 예약된 서브넷 번호가 있습니다.
이 숫자는 기호 상수에 할당됩니다. 이러한 서브넷 번호는 Weave가 적절한 인터페이스에 IPv6 ULA 주소를 구성하는 데 사용됩니다.
변수
ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr
FabricState
NL_DLL_EXPORT WeaveFabricState FabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer MessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager SecurityMgr
WeaveConnection
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바이트를 나타냅니다. 있습니다.
함수
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
인증 모드와 연결된 애플리케이션 그룹 마스터 키 ID를 반환합니다.
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
지정된 인증서 유형에 해당하는 CASE 인증 모드를 반환합니다.
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
지정된 인증 모드의 비밀번호 소스를 반환합니다.
DecodeHeaderField
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입니다.
|
||||||
반환 |
false 제공된 오류가 Weave 오류가 아닌 경우.
|
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비트 피보나치 숫자를 생성합니다.
세부정보 | |
---|---|
반환 |
32비트 부호 없는 피보나치 숫자입니다.
|
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비트 임의의 정수입니다.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
지정된 키 ID에 해당하는 그룹 키 인증 모드를 반환합니다.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
IPv6 주소 인터페이스 식별자를 Weave 노드 식별자로 변환합니다.
테스트의 편의를 위해 #kMaxAlwaysLocalWeaveNodeId (65535)보다 작거나 같은 노드 식별자는 '로컬'로 간주되며 범용/로컬 비트가 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 프로토콜을 기반으로 하는 경우 true입니다.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
인증 모드가 공유 비밀번호 소유에 기반하는 경우 true입니다.
IsTAKEAuthMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
인증 모드가 Weave TAKE 프로토콜을 기반으로 하는 경우 true입니다.
IsWRMPControlMessage
bool IsWRMPControlMessage( uint32_t profileId, uint8_t msgType )
J2N_ByteArray
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_LongFieldVal
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_StringFieldVal
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 )
ToHex
char ToHex( const uint8_t data )
ToHexString
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 노드 식별자는 범용/로컬 EUI-64로, RFC-3513에 따라 범용/로컬 비트를 반전하여 인터페이스 식별자로 변환됩니다 (비트 57은 LSB를 0으로 계산).
테스트의 편의를 위해 #kMaxAlwaysLocalWeaveNodeId (65535)보다 작거나 같은 노드 식별자는 '로컬'로 간주되며 범용/로컬 비트가 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 )