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 ファブリック ID を IPv6 ULA グローバル ID に変換します。
|
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 ノードの ID を IPv6 アドレスのインターフェース ID に変換します。
|
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 が結合された TCPEndPoint のペアを管理します。このペアの間で WeaveMessageLayer がすべてのデータと接続のクロージャーを転送します。 |
nl:: |
|
nl:: |
ExchangeContext 内の特定の Weave メッセージの Weave プロファイルとメッセージ タイプを指定します。 |
nl:: |
このクラスは、他の Weave ノードとの ExchangeContext の管理に使用されます。 |
nl:: |
WeaveFabricState の上位宣言。 |
nl:: |
Weave Key ID の定義。 |
nl:: |
他の Weave ノードとの通信を管理する WeaveMessageLayer クラスの定義。 |
nl:: |
Weave メッセージの暗号鍵に関する情報が含まれています。 |
nl:: |
Weave メッセージ暗号鍵の鍵キャッシュ。 |
nl:: |
|
nl:: |
認証済みリクエストの検証とステータス レポートの送信をカプセル化し、ファブリック状態とエクスチェンジ マネージャー用の共通のデータメンバー ストレージを提供する、Weave プロファイルの非要請型レスポンダー(サーバー)を実装するための共通のベース オブジェクト。 |
nl:: |
Weave サーバー デリゲート オブジェクトを実装するための共通の基本クラス。 |
nl:: |
Weave セッション キーに関する情報が含まれています。 |
nl:: |
別のノードとのメッセージの送受信に必要な通信状態を伝達する。 |
構造体 |
|
---|---|
nl:: |
|
nl:: |
WRMP 構成。 |
nl:: |
送受信中の Weave メッセージに関する情報。 |
共用体 |
|
---|---|
nl:: |
Namespace |
|
---|---|
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 の IP アドレスとルートを設定するためのポータブル モジュールである Weave アドレスおよびルーティング モジュールのインターフェースが含まれています。 |
列挙型
@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
|
ピアは、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
|
宛先ノード 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 識別子内のユニバーサル/ローカル(U/L)ビットのビットマスク。 値 0 は、ID がユニバーサル(グローバル)に管理されていることを示します。値が 1 の場合、その ID はローカルで管理されています。 |
kEUI64_UL_Unversal
|
ユニバーサル管理の EUI-64 識別子を示すユニバーサル/ローカル ビット値。 |
@57
@57
Weave ノード ID の特殊な範囲。
プロパティ | |
---|---|
kMaxAlwaysLocalWeaveNodeId
|
この値以下の Weave ノード ID は、テストの便宜上ローカルと見なされます。 |
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 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
|
すべてのモバイル デバイスのサブネット ID。 |
kWeaveSubnetId_NotSpecified
|
未指定または null 値として予約されています。 |
kWeaveSubnetId_PrimaryWiFi
|
Wi-Fi 無線インターフェースのサブネット番号。 |
kWeaveSubnetId_Service
|
Nest Service エンドポイントのサブネット 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、PAASE、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 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 文字列を返します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
指定されたバッファに description 文字列が書き込まれた場合は 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)以下のノード ID は「local」と見なされ、Universal/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 プロトコルに基づいている場合は 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 ファブリック ID を IPv6 ULA グローバル ID に変換します。
ファブリック アドレスの 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 ノードの ID を IPv6 アドレスのインターフェース ID に変換します。
Weave のノード識別子は、ユニバーサル/ローカル EUI-64 であり、RFC-3513 に従って、ユニバーサル/ローカル ビット(LSB を 0 としてカウントするビット 57)を反転することによってインターフェース識別子に変換されます。
テストの便宜上、#kMaxAlwaysLocalWeaveNodeId(65535)以下のノード ID は「local」と見なされ、Universal/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 )