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 メッセージ形式のバージョン。 |
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:: |
このクラスは、2 つ以上のノード間での進行中の会話(ExchangeContext)を表します。 |
nl:: |
この抽象デリゲート クラスは、ファブリックの状態の変化を通知します。 |
nl:: |
ホストポートリストを管理および操作するための、Weave Service Directory に関連付けられたホストおよびポート識別子タプルのコンパクトでバイナリエンコードされたコレクション。 |
nl:: |
|
nl:: |
単調に増加するカウンタを整数値として管理するためのクラス。 |
nl:: |
再起動後も保持されるよう、整数値としてカウンタを管理するクラス。 |
nl:: |
Weave Connection クラスの定義。 |
nl:: |
WeaveConnectionTunnel クラスの定義。元の WeaveConnections が結合され、WeaveMessageLayer によってすべてのデータと接続クロージャが転送される TCPEndPoint のペアを管理します。 |
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 メッセージに関する情報。 |
共用体 |
|
---|---|
nl:: |
名前空間 |
|
---|---|
nl:: |
この名前空間には、Abstract Syntax Notation One(ASN.1)で動作する Weave 内のすべてのインターフェースが含まれています。 |
nl:: |
この名前空間には、共有暗号サポート用の Weave 内のすべてのインターフェースが含まれます。 |
nl:: |
|
nl:: |
|
nl:: |
この名前空間は、次の関数を提供します。 |
nl:: |
この名前空間には、共有ロギングをサポートする Weave 内のすべてのインターフェースが含まれます。 |
nl:: |
|
nl:: |
この名前空間には、Weave for Weave プロファイルのすべてのインターフェースが含まれます(Common と Nest Labs のベンダー固有の両方)。 |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Weave TLV 形式でエンコードされたデータを操作するための定義 |
nl:: |
この名前空間には、Weave Address and Routing モジュールのインターフェースが含まれています。これは、Weave の IP アドレスとルートを構成するためのポータブル モジュールです。 |
列挙型
@21
@21
プロパティ | |
---|---|
kFlagAckPending
|
送信中のメッセージに対してレスポンスが想定されるかどうか。 |
kFlagAutoReleaseConnection
|
交換のコンテキストが解放されたときに、メッセージ暗号鍵を自動的に解放します。 |
kFlagAutoReleaseKey
|
設定されている場合、この交換コンテキストで少なくとも 1 つのメッセージをピアから受信したことを示します。 |
kFlagAutoRequestAck
|
このコンテキストは WeaveConnection に関連付けられていました。 |
kFlagConnectionClosed
|
このコンテキストは交換の開始元です。 |
kFlagDropAck
|
設定すると、メッセージが UDP 経由で送信されるたびに確認応答を自動的にリクエストします。 |
kFlagMsgRcvdFromPeer
|
設定されている場合、このエクスチェンジで受信した少なくとも 1 つのメッセージが確認応答をリクエストしたことを示します。 アプリケーションがこのフラグを読み取って、送信しようとしているレスポンス メッセージの確認応答をリクエストする必要があるかどうかを判断します。このフラグは、ピアが 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
|
CASE を使用して Weave アクセス トークン証明書でピア認証を行います。 |
kWeaveAuthMode_CASE_AnyCert
|
任意の証明書、または不明なタイプの証明書で CASE を使用してピア認証を行います。 |
kWeaveAuthMode_CASE_Device
|
CASE を使用して Weave デバイス証明書でピア認証を行います。 |
kWeaveAuthMode_CASE_GeneralCert
|
CASE を使用して一般的な証明書タイプまたは非特定の証明書タイプでピア認証を行う。 |
kWeaveAuthMode_CASE_ServiceEndPoint
|
CASE を使用して Weave サービス エンドポイント証明書でピア認証を行います。 |
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() によって返される文字列の最大長(null 文字を含む)。 |
@55
@55
エンコードされた Weave メッセージのヘッダーに関する定義。
プロパティ | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
宛先ノード ID が Weave メッセージ ヘッダーに存在することを示します。 |
kWeaveHeaderFlag_MsgCounterSyncReq
|
送信者がメッセージ カウンタの同期をリクエストしていることを示します。 |
kWeaveHeaderFlag_SourceNodeId
|
ソースノード ID が Weave メッセージ ヘッダーに存在することを示します。 |
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 識別子内の Universal/Local(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
|
宛先ノード ID が Weave メッセージ ヘッダーに存在することを示します。 |
kWeaveMessageFlag_DuplicateMessage
|
メッセージが以前に受信したメッセージと重複していることを示します。 |
kWeaveMessageFlag_FromInitiator
|
メッセージの送信元が Weave エクスチェンジのイニシエータであることを示します。 |
kWeaveMessageFlag_MessageEncoded
|
Weave メッセージがすでにエンコードされていることを示します。 |
kWeaveMessageFlag_MsgCounterSyncReq
|
送信者がピアのメッセージ カウンタの同期をリクエストしていることを示します。 |
kWeaveMessageFlag_MulticastFromLinkLocal
|
|
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
ピアのグループキー メッセージ カウンタが同期されていないことを示します。 |
kWeaveMessageFlag_PeerRequestedAck
|
メッセージの送信者が確認応答をリクエストしたことを示します。 |
kWeaveMessageFlag_RetainBuffer
|
送信後にメッセージ バッファを解放しないことを示します。 |
kWeaveMessageFlag_ReuseMessageId
|
既存のメッセージ ID を再利用する必要があることを示します。 |
kWeaveMessageFlag_ReuseSourceId
|
既存のソースノード ID を再利用する必要があることを示します。 |
kWeaveMessageFlag_SourceNodeId
|
ソースノード ID が Weave メッセージ ヘッダーに存在することを示します。 |
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。 |
WeaveSubnetId
WeaveSubnetId
Weave には、一般的なデバイスの識別ネットワーク インターフェース用に予約済みのサブネット番号があります。
ここでは、これらの番号がシンボリック定数に割り当てられます。これらのサブネット番号は、Weave が適切なインターフェースに IPv6 ULA アドレスを設定するために使用されます。
プロパティ | |
---|---|
kWeaveSubnetId_MobileDevice
|
すべてのモバイル デバイスのサブネット識別子。 |
kWeaveSubnetId_NotSpecified
|
指定なしまたは null 値として予約されています。 |
kWeaveSubnetId_PrimaryWiFi
|
Wi-Fi 無線インターフェースのサブネット番号。 |
kWeaveSubnetId_Service
|
Nest サービス エンドポイントのサブネット ID。 |
kWeaveSubnetId_ThreadAlarm
|
Thread アラームの無線インターフェースのサブネット番号。 |
kWeaveSubnetId_ThreadMesh
|
Thread メッシュ無線インターフェースのサブネット ID。 |
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 メッセージ形式のバージョン。
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 and 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。
|
||||||
戻り値 |
指定されたエラーが 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 ビットのフィボナッチ数を生成します。
詳細 | |
---|---|
戻り値 |
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 アドレスの文字列表現が簡素化されます。たとえば、ノード ID 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 で 0 として LSB をカウント)を反転することでインターフェース識別子に変換されます。
テストの便宜上、#kMaxAlwaysLocalWeaveNodeId(65535)以下のノード識別子は「ローカル」と見なし、ユニバーサル/ローカル ビットを 0 に設定します。これにより、対応する IPv6 アドレスの文字列表現が簡素化されます。たとえば、ノード ID 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 )