nl::Weave

ملخّص

عمليات التعداد

@21{
  kFlagConnectionClosed = 0x0002,
  kFlagAutoRequestAck = 0x0004,
  kFlagDropAck = 0x0008,
  kFlagResponseExpected = 0x0010,
  kFlagAckPending = 0x0020,
  kFlagPeerRequestedAck = 0x0040,
  kFlagMsgRcvdFromPeer = 0x0080,
  kFlagAutoReleaseKey = 0x0100,
  kFlagAutoReleaseConnection = 0x0200,
  kFlagUseEphemeralUDPPort = 0x0400
}
تعداد
@36 تعداد
@37 تعداد
@38{
  kFabricIdDefaultForTest = 1ULL
}
تعداد
@39{
  kCertType_NotSpecified = 0x00,
  kCertType_General = 0x01,
  kCertType_Device = 0x02,
  kCertType_ServiceEndpoint = 0x03,
  kCertType_FirmwareSigning = 0x04,
  kCertType_AccessToken = 0x05,
  kCertType_CA = 0x06,
  kCertType_AppDefinedBase = 0x7F,
  kCertType_Max = 0xFF
}
تعداد
تحدد الغرض من الشهادة أو تطبيقها.
@40 تعداد
تحدد مصدر كلمة المرور المستخدمة في بروتوكول مصادقة يستند إلى كلمة المرور (على سبيل المثال،
@41{
  kWeaveAuthMode_NotSpecified = 0x0000,
  kWeaveAuthModeCategory_General = 0x0000,
  kWeaveAuthModeCategory_PASE = 0x1000,
  kWeaveAuthModeCategory_CASE = 0x2000,
  kWeaveAuthModeCategory_TAKE = 0x3000,
  kWeaveAuthModeCategory_GroupKey = 0x4000,
  kWeaveAuthModeCategory_AppDefinedBase = 0xC000,
  kWeaveAuthMode_Unauthenticated = kWeaveAuthModeCategory_General | 0x001,
  kWeaveAuthMode_PASE_PairingCode = kWeaveAuthModeCategory_PASE | kPasswordSource_PairingCode,
  kWeaveAuthMode_CASE_AnyCert = kWeaveAuthModeCategory_CASE | kCertType_NotSpecified,
  kWeaveAuthMode_CASE_GeneralCert = kWeaveAuthModeCategory_CASE | kCertType_General,
  kWeaveAuthMode_CASE_Device = kWeaveAuthModeCategory_CASE | kCertType_Device,
  kWeaveAuthMode_CASE_ServiceEndPoint = kWeaveAuthModeCategory_CASE | kCertType_ServiceEndpoint,
  kWeaveAuthMode_CASE_AccessToken = kWeaveAuthModeCategory_CASE | kCertType_AccessToken,
  kWeaveAuthMode_TAKE_IdentificationKey = kWeaveAuthModeCategory_TAKE | 0x001
}
تعداد
@42{
  kFabricSecretScope_All = 0x00
}
تعداد
@43{
  kTestKey_AES128CTRSHA1_DataKeyByte = 0xAB,
  kTestKey_AES128CTRSHA1_IntegrityKeyByte = 0xBA
}
تعداد
@44 تعداد
حجم متنوّع مفتاح تطبيق تشفير رسائل Weave
@45 تعداد
@53 تعداد
@54{
  kWeavePeerDescription_MaxLength = 100
}
تعداد
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
تعداد
التعريفات المتعلقة برأس رسالة Weave المشفرة.
@56{
  kEUI64_UL_Mask = 0x0200000000000000ULL,
  kEUI64_UL_Unversal = 0,
  kEUI64_UL_Local = kEUI64_UL_Mask,
  kEUI64_IG_Mask = 0x0100000000000000ULL,
  kEUI64_IG_Individual = 0,
  kEUI64_IG_Group = kEUI64_IG_Mask
}
تعداد
تعريفات حقول البت لمعرّفات IEEE EUI-64
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
تعداد
نطاقات خاصة من معرِّفات عُقد Weave.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
تعداد
أنواع التشفير لرسالة Weave.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
تعداد
وحدات بت علامة عنوان Weave Exchange.
WeaveExchangeVersion تعداد
إصدار عنوان Weave Exchange.
WeaveMessageFlags{
  kWeaveMessageFlag_ReuseMessageId = 0x00000010,
  kWeaveMessageFlag_ReuseSourceId = 0x00000020,
  kWeaveMessageFlag_DelaySend = 0x00000040,
  kWeaveMessageFlag_RetainBuffer = 0x00000080,
  kWeaveMessageFlag_MessageEncoded = 0x00001000,
  kWeaveMessageFlag_DefaultMulticastSourceAddress = 0x00002000,
  kWeaveMessageFlag_PeerRequestedAck = 0x00004000,
  kWeaveMessageFlag_DuplicateMessage = 0x00008000,
  kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized = 0x00010000,
  kWeaveMessageFlag_FromInitiator = 0x00020000,
  kWeaveMessageFlag_ViaEphemeralUDPPort = 0x00040000,
  kWeaveMessageFlag_MulticastFromLinkLocal = kWeaveMessageFlag_DefaultMulticastSourceAddress,
  kWeaveMessageFlag_DestNodeId = kWeaveHeaderFlag_DestNodeId,
  kWeaveMessageFlag_SourceNodeId = kWeaveHeaderFlag_SourceNodeId,
  kWeaveMessageFlag_TunneledData = kWeaveHeaderFlag_TunneledData,
  kWeaveMessageFlag_MsgCounterSyncReq = kWeaveHeaderFlag_MsgCounterSyncReq
}
تعداد
العلامات المرتبطة برسالة Weave الواردة أو الصادرة.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
تعداد
إصدار تنسيق Weave Message.
WeaveSubnetId{
  kWeaveSubnetId_NotSpecified = 0,
  kWeaveSubnetId_PrimaryWiFi = 1,
  kWeaveSubnetId_ThreadAlarm = 2,
  kWeaveSubnetId_WiFiAP = 3,
  kWeaveSubnetId_MobileDevice = 4,
  kWeaveSubnetId_Service = 5,
  kWeaveSubnetId_ThreadMesh = 6
}
تعداد
لدى Weave بعض أرقام الشبكة الفرعية المحجوزة لواجهات الشبكة المميزة على الأجهزة النموذجية.
WeaveVendorId تعداد

تحديدات النوع

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
يحدّد هذا الحقل فئة الأجهزة التي يمكن أن تمتلك أسرارًا القماشية وتستخدمها.
WeaveAuthMode typedef
uint16_t
تحدد كيفية مصادقة عقدة نظيرة.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
أنواع التشفير لرسالة Weave.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
وحدات بت علامة عنوان Weave Exchange.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
إصدار عنوان Weave Exchange.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
العلامات المرتبطة برسالة Weave الواردة أو الصادرة.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
إصدار تنسيق Weave Message.
WeaveSubnetId typedef
enum nl::Weave::WeaveSubnetId
لدى Weave بعض أرقام الشبكة الفرعية المحجوزة لواجهات الشبكة المميزة على الأجهزة النموذجية.

المتغيرات

ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager
FabricState
NL_DLL_EXPORT WeaveFabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager
WeaveConnection
class NL_DLL_EXPORT
WeaveExchangeManager
class NL_DLL_EXPORT
WeaveMessageLayer
class NL_DLL_EXPORT
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
const WRMPConfig
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
const uint8_t
متنوّع المفاتيح المستخدم في اشتقاق مفتاح تشفير رسالة Weave.

الدوال

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
لعرض رقم تعريف المفتاح الرئيسي لمجموعة التطبيقات المرتبط بوضع المصادقة.
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، يتم عرض سلسلة C مُغلقة فارغة يمكن للمستخدمين قراءتها ووصف الخطأ.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
إنشاء رقم تعريف عشوائي لعقدة Weave.
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
لعرض وضع مصادقة مفتاح مجموعة مقابل لمعرّف مفتاح معيّن.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
يمكنك تحويل معرّف واجهة عنوان IPv6 إلى معرّف عقدة Weave.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave CASE.
IsCertAuthMode(WeaveAuthMode authMode)
bool
صحيح إذا كان وضع المصادقة يستند إلى امتلاك مفتاح خاص مرتبط بشهادة.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
صحيح إذا كان وضع المصادقة يستند إلى امتلاك مفتاح مجموعة مشترك.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave PASE.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
صحيح إذا كان وضع المصادقة يستند إلى امتلاك كلمة مرور مشتركة.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave Take.
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 إلى معرّف ULA العام لبروتوكول IPv6.
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::Binding

تسجيل الهدف المقصود لاتصال Weave ومعلومات التهيئة ذات الصلة.

nl::Weave::Counter

يشير ذلك المصطلح إلى واجهة لإدارة العدّاد كقيمة عدد صحيح.

nl::Weave::ExchangeContext

تمثل هذه الفئة محادثة جارية (ExchangeContext) بين عقدة أو أكثر.

nl::Weave::FabricStateDelegate

تقوم هذه الفئة المجرّدة المفوَّضة بإبلاغ تغييرات حالة النسيج.

nl::Weave::HostPortList

لإدارة قائمة منافذ المضيف ومعالجتها، هي مجموعة مدمجة ذات تشفير ثنائي من صفوف معرّفات المنافذ والمضيف المرتبطة بدليل خدمة Weave.

nl::Weave::JNIUtils
nl::Weave::MonotonicallyIncreasingCounter

يشير ذلك المصطلح إلى فئة لإدارة عدّاد يتزايد بصورة رتيبة كقيمة عددية.

nl::Weave::PersistedCounter

يشير ذلك المصطلح إلى فئة لإدارة العدّاد كقيمة عدد صحيح تهدف إلى مواصلة عمليات إعادة التشغيل.

nl::Weave::WeaveConnection

تعريف فئة Weave Connection.

nl::Weave::WeaveConnectionTunnel

يشير ذلك المصطلح إلى تعريف الفئة WeaveConnectionTunnel التي تدير زوجًا من TCPEndPoints التي تم إقران WeaveConnections الأصلي بها، وتعيد WeaveMessageLayer توجيه جميع عمليات إغلاق الاتصال والبيانات.

nl::Weave::WeaveEncryptionKey_AES128CTRSHA1
nl::Weave::WeaveExchangeHeader

يحدد هذا الملف الشخصي في Weave ونوع الرسالة لرسالة Weave معينة ضمن ExchangeContext.

nl::Weave::WeaveExchangeManager

تُستخدَم هذه الفئة لإدارة ExchangeContexts مع عُقد Weave الأخرى.

nl::Weave::WeaveFabricState

بيان إعادة التوجيه إلى WeaveFabricState.

nl::Weave::WeaveKeyId

تعريف معرِّف Weave Key.

nl::Weave::WeaveMessageLayer

تمثّل هذه السمة تعريف الفئة WeaveMessageLayer التي تدير الاتصال بعُقد Weave الأخرى.

nl::Weave::WeaveMsgEncryptionKey

يحتوي على معلومات حول مفتاح تشفير رسالة Weave.

nl::Weave::WeaveMsgEncryptionKeyCache

ذاكرة التخزين المؤقت لمفاتيح تشفير رسائل Weave.

nl::Weave::WeaveSecurityManager
nl::Weave::WeaveServerBase

كائن أساسي شائع لتنفيذ خوادم (خوادم) المجيبين غير المرغوب فيها في Weave Profile والتي تضم التحقق من صحة الطلبات التي تمت مصادقتها وإرسال تقارير الحالة، وتوفر مساحة تخزين مشتركة في عضو البيانات لحالة النسيج ومدير تبادل.

nl::Weave::WeaveServerDelegateBase

يشير ذلك المصطلح إلى فئة أساسية شائعة لتنفيذ كائنات تفويض خادم Weave.

nl::Weave::WeaveSessionKey

يحتوي على معلومات حول مفتاح جلسة Weave.

nl::Weave::WeaveSessionState

تنقل حالة الاتصال اللازمة لإرسال/استلام الرسائل مع عقدة أخرى.

الهياكل

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

إعدادات WRMP.

nl::Weave::WeaveMessageInfo

معلومات عن رسالة Weave التي تجري عملية إرسالها أو استلامها.

الاتحادات

nl::Weave::WeaveEncryptionKey

مساحات الاسم

nl::Weave::ASN1

تشتمل مساحة الاسم هذه على جميع الواجهات في Weave للتعامل مع صياغة الجملة المجرّدة الأولى (ASN.1).

nl::Weave::Crypto

تشمل مساحة الاسم هذه جميع الواجهات داخل Weave لدعم التشفير المشترك.

nl::Weave::DeviceLayer
nl::Weave::DeviceManager
nl::Weave::Encoding

توفر مساحة الاسم هذه دوال لما يلي:

nl::Weave::Logging

تشمل مساحة الاسم هذه جميع الواجهات داخل Weave لدعم التسجيل المشترك.

nl::Weave::Platform
nl::Weave::Profiles

تشمل مساحة الاسم هذه جميع الواجهات المتوفرة ضمن الملفات الشخصية على Weave في Weave، وكل من الواجهة Common ومورِّد Nest Labs.

nl::Weave::SecuritySupport
nl::Weave::Stats
nl::Weave::Support
nl::Weave::System
nl::Weave::TLV

تعريفات للعمل باستخدام البيانات المرمّزة بتنسيق Weave TLV:

nl::Weave::Warm

تشمل مساحة الاسم هذه واجهات لـ عنوان Weave ووحدة التوجيه، وهي وحدة محمولة لإعداد عناوين ومسارات Weave IP.

عمليات التعداد

@21

 @21
أماكن إقامة
kFlagAckPending

إذا كان من المتوقع الرد على رسالة يتم إرسالها.

kFlagAutoReleaseConnection

يمكنك رفع إصبعك عن مفتاح تشفير الرسائل تلقائيًا عند إخلاء سياق التبادل.

kFlagAutoReleaseKey

عند ضبطها، تشير إلى أنّه تم تلقّي رسالة واحدة على الأقل من زميل في سياق التبادل هذا.

kFlagAutoRequestAck

تم ربط هذا السياق برابط WeaveConnection.

kFlagConnectionClosed

هذا السياق هو بداية عملية التبادل.

kFlagDropAck

عند ضبط السياسة، يمكنك طلب إقرار تلقائيًا عند إرسال رسالة عبر بروتوكول UDP.

kFlagMsgRcvdFromPeer

عند ضبطها، تشير إلى أنّ رسالة واحدة على الأقل تم استلامها في عملية التبادل هذه تطلب إقرارًا.

يقرأ التطبيق هذه العلامة لتحديد ما إذا كان يحتاج إلى طلب إعلام باستلام رسالة الرد التي يوشك على إرسالها. يمكن أن تشير هذه العلامة أيضًا إلى ما إذا كان التطبيق المشابهة يستخدم WRMP.

kFlagPeerRequestedAck

وعند ضبطها، تشير إلى أن هناك إقرارًا في انتظار إعادته.

kFlagResponseExpected

داخلي وتصحيح الأخطاء فقط: عند الضبط، لا ترسل طبقة التبادل إقرارًا.

kFlagUseEphemeralUDPPort

إطلاق WeaveConnection المرتبط تلقائيًا عند إتاحة سياق التبادل

@36

 @36

@37

 @37

@38

 @38
أماكن إقامة
kFabricIdDefaultForTest

معرّف القماش التلقائي، والذي يجب استخدامه لأغراض الاختبار فقط.

@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

لم تتم مصادقة النظير.

@42

 @42
أماكن إقامة
kFabricSecretScope_All

يمكن أن تمتلك جميع الأجهزة سرًا نسيجيًا مقابلة.

@43

 @43
أماكن إقامة
kTestKey_AES128CTRSHA1_DataKeyByte

يشير ذلك المصطلح إلى قيمة بايت تنشئ مفتاح تشفير يُستخدم للاختبار فقط.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

يشير ذلك المصطلح إلى قيمة بايت تنشئ مفتاح التكامل. ويتم استخدامه للاختبار فقط.

@44

 @44

حجم متنوّع مفتاح تطبيق تشفير رسائل Weave

@45

 @45

@53

 @53

@54

 @54
أماكن إقامة
kWeavePeerDescription_MaxLength

الحد الأقصى لطول السلسلة (بما في ذلك الحرف NUL) الذي يعرضه WeaveMessageLayer::GetPeerDescription().

@55

 @55

التعريفات المتعلقة برأس رسالة Weave المشفرة.

أماكن إقامة
kWeaveHeaderFlag_DestNodeId

يشير إلى أن رقم تعريف عقدة الوجهة موجود في رأس رسالة Weave.

kWeaveHeaderFlag_MsgCounterSyncReq

يشير إلى أن المرسل يطلب مزامنة عدّاد الرسائل.

kWeaveHeaderFlag_SourceNodeId

يشير إلى أن رقم تعريف عقدة المصدر موجود في رأس رسالة Weave.

kWeaveHeaderFlag_TunneledData

يشير إلى أن حمولة رسالة Weave هي حزمة IP نفقية.

@56

 @56

تعريفات حقول البت لمعرّفات IEEE EUI-64

أماكن إقامة
kEUI64_IG_Group

قيمة بت فردي/مجموعة تشير إلى معرّف EUI-64 لعنوان المجموعة.

kEUI64_IG_Individual

قيمة بت فردي/مجموعة تشير إلى معرّف EUI-64 لعنوان فردي.

kEUI64_IG_Mask

قناع بت للفرد/المجموعة (I/G) ضمن معرّف EUI-64.

تشير القيمة 0 إلى أنّ رقم التعريف هو عنوان فردي. تشير القيمة 1 إلى أن رقم التعريف هو عنوان مجموعة.

kEUI64_UL_Local

قيمة بت عام/محلي تشير إلى معرّف EUI-64 تتم إدارته محليًا.

kEUI64_UL_Mask

قناع بت للبتّ العام/المحلي (U/L) ضِمن معرّف EUI-64.

تشير القيمة 0 إلى أنّ المعرّف مُدار عالميًا (عالميًا). تشير القيمة 1 إلى أنّ المعرّف مُدار محليًا.

kEUI64_UL_Unversal

قيمة بت عام/محلي تشير إلى معرّف EUI-64 تتم إدارته عالميًا.

@57

 @57

نطاقات خاصة من معرِّفات عُقد Weave.

أماكن إقامة
kMaxAlwaysLocalWeaveNodeId

تعتبر معرّفات العُقد التي تكون أقل من هذه القيمة أو مساوية لها محلية لتسهيل الاختبار.

WeaveEncryptionType

 WeaveEncryptionType

أنواع التشفير لرسالة Weave.

أماكن إقامة
kWeaveEncryptionType_AES128CTRSHA1

تم تشفير الرسالة باستخدام تشفير AES-128-CTR مع سلامة رسالة HMAC-SHA-1.

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.

kWeaveMessageFlag_DuplicateMessage

يشير إلى أن الرسالة نسخة طبق الأصل من رسالة تم استلامها سابقًا.

kWeaveMessageFlag_FromInitiator

يشير إلى أن مصدر الرسالة هو منشئ تبادل Weave.

kWeaveMessageFlag_MessageEncoded

يشير إلى أن رسالة Weave سبق تشفيرها.

kWeaveMessageFlag_MsgCounterSyncReq

يشير إلى أن المرسل يطلب مزامنة عدّاد الرسائل من خلال التطبيقات المشابهة.

kWeaveMessageFlag_MulticastFromLinkLocal

اسم بديل متوقّف نهائيًا للنطاق "kWeaveMessageFlag_DefaultMulticastSourceAddress".

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

يشير إلى عدم مزامنة عدّاد الرسائل الرئيسية للمجموعة للنظير.

kWeaveMessageFlag_PeerRequestedAck

تشير هذه القيمة إلى أنّ مُرسِل الرسالة طلب تأكيدًا.

kWeaveMessageFlag_RetainBuffer

يشير إلى أنه يجب عدم تفريغ المخزن المؤقت للرسائل بعد الإرسال.

kWeaveMessageFlag_ReuseMessageId

يشير إلى ضرورة إعادة استخدام معرّف الرسالة الحالي.

kWeaveMessageFlag_ReuseSourceId

يشير إلى ضرورة إعادة استخدام معرّف عقدة المصدر الحالي.

kWeaveMessageFlag_SourceNodeId

يشير إلى أن رقم تعريف عقدة المصدر موجود في رأس رسالة Weave.

kWeaveMessageFlag_TunneledData

يشير إلى أن حمولة رسالة Weave هي حزمة IP نفقية.

kWeaveMessageFlag_ViaEphemeralUDPPort

يشير إلى أنه يتم إرسال/استلام الرسالة عبر منفذ UDP المحلي المؤقت.

WeaveMessageVersion

 WeaveMessageVersion

إصدار تنسيق Weave Message.

سيختار Weave إصدار الرسالة المناسب بناءً على تنسيق الإطار المطلوب لرسالة Weave. إصدار الرسالة هو kWeaveMessageVersion_V1 تلقائيًا. عند استخدام المراسلة الموثوقة في Weave، على سبيل المثال، يكون الإصدار هو kWeaveMessageVersion_V2.

أماكن إقامة
kWeaveMessageVersion_Unspecified

إصدار الرسالة غير محدَّد.

kWeaveMessageVersion_V1

الإصدار 1 من تنسيق عنوان الرسالة

kWeaveMessageVersion_V2

الإصدار 2 من تنسيق عنوان الرسالة

WeaveSubnetId

 WeaveSubnetId

لدى Weave بعض أرقام الشبكة الفرعية المحجوزة لواجهات الشبكة المميزة على الأجهزة النموذجية.

يتم تعيين هذه الأرقام هنا للثوابت الرمزية. تستخدم Weave أرقام الشبكة الفرعية هذه لضبط عناوين IPv6 ULA على الواجهات المناسبة.

أماكن إقامة
kWeaveSubnetId_MobileDevice

معرِّف الشبكة الفرعية لجميع الأجهزة الجوّالة.

kWeaveSubnetId_NotSpecified

محجوزة كقيمة غير محدّدة أو فارغة

kWeaveSubnetId_PrimaryWiFi

رقم الشبكة الفرعية لواجهة لاسلكية WiFi.

kWeaveSubnetId_Service

معرّف الشبكة الفرعية لنقاط نهاية خدمة Nest

kWeaveSubnetId_ThreadAlarm

رقم الشبكة الفرعية لواجهة الراديو لتنبيه سلسلة المحادثات

kWeaveSubnetId_ThreadMesh

معرّف الشبكة الفرعية لواجهة الراديو المتداخلة Thread.

kWeaveSubnetId_WiFiAP

رقم الشبكة الفرعية لواجهة الاتصال بشبكة Wi-Fi AP

WeaveVendorId

 WeaveVendorId

تحديدات النوع

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

يحدّد هذا الحقل فئة الأجهزة التي يمكن أن تمتلك أسرارًا القماشية وتستخدمها.

WeaveAuthMode

uint16_t WeaveAuthMode

تحدد كيفية مصادقة عقدة نظيرة.

يصف WeaveAuthMode الوسيلة التي من خلالها تمت أو ينبغي مصادقة عقدة نظير أثناء تبادل رسائل Weave. في سياق البدء، تستخدم التطبيقات WeaveAuthMode للتعبير عن وضع مصادقة الزملاء المطلوب للتبادل، وبالتالي يتم توجيه طبقات الأمان والمراسلة في Weave لتحقيق الوضع المطلوب أو تعذُّر الاتصال. في سياق الاستجابة، يحدد WeaveAuthMode كيفية مصادقة العقدة الطلب (النظير)، ما يسمح للتطبيق المستجيب بفرض عناصر التحكم في الوصول بناءً على هذه المعلومات.

يرتبط WeaveAuthMode المعين لرسالة Weave واردة بطبيعة المفتاح الذي تم استخدامه لتشفير تلك الرسالة. يُستمَد WeaveAuthMode من الآلية التي تم من خلالها إنشاء المفتاح والمعايير المستخدَمة للتحقق من هويات الأطراف المعنية في وقت إنشاء المفتاح.

يتضمن 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، على سبيل المثال، يكون الإصدار هو 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.

تمثل هذه القيمة أول 4 بايت من عبارة SHA-1 HASH من عبارة "Nest Weave Message EK and AK".

الدوال

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

لعرض رقم تعريف المفتاح الرئيسي لمجموعة التطبيقات المرتبط بوضع المصادقة.

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، يتم عرض سلسلة C مُغلقة فارغة يمكن للمستخدمين قراءتها ووصف الخطأ.

التفاصيل
المَعلمات
[in] buf
المورد الاحتياطي الذي سيتم وضع سلسلة الخطأ فيه.
[in] bufSize
حجم المخزن المؤقت المقدم بالبايت.
[in] err
الخطأ المطلوب وصفه.
المرتجعات
true إذا تمت كتابة سلسلة وصف في المخزن المؤقت المقدم.
المرتجعات
false إذا لم يكن الخطأ المقدم خطأ Weave.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

إنشاء رقم تعريف عشوائي لعقدة Weave.

تُنشئ هذه الدالة رقم تعريف عقدة Weave فريدًا محليًا بتنسيق 64 بت. تستخدم هذه الدالة مصدر بيانات عشوائيًا قويًا من ناحية التشفير لضمان تفرّد القيمة التي يتم إنشاؤها. لاحظ أن البت 57 من معرف عقدة Weave الذي تم إنشاؤه قد تم تعيينه على 1 للإشارة إلى أن معرف عقدة Weave الذي تم إنشاؤه يكون فريدًا محليًا (وليس عالميًا).

التفاصيل
المَعلمات
nodeId
مرجع إلى رقم تعريف عقدة Weave بتنسيق 64 بت.
قيم الإرجاع
WEAVE_NO_ERROR
في حال إنشاء معرِّف عقدة Weave بنجاح.

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
)

لعرض وضع مصادقة مفتاح مجموعة مقابل لمعرّف مفتاح معيّن.

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

يمكنك تحويل معرّف واجهة عنوان IPv6 إلى معرّف عقدة Weave.

لتسهيل عملية الاختبار، تُعتبر معرّفات العُقد الأقل أو المساوية لـ #kMaxLocalWeaveNodeId (65535) "محلية"، ويتم ضبط وحدة البت العامة/المحلية لها على صفر. وهذا يبسط تمثيل السلسلة لعناوين IPv6 المقابلة. على سبيل المثال، تكون قيمة ULA لمعرّف العُقدة 10 هي FD00:0:1:1::A.

التفاصيل
المَعلمات
[in] interfaceId
معرّف الواجهة 64 بت.
المرتجعات
معرف عقدة Weave 64 بت المعين.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave CASE.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

صحيح إذا كان وضع المصادقة يستند إلى امتلاك مفتاح خاص مرتبط بشهادة.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

صحيح إذا كان وضع المصادقة يستند إلى امتلاك مفتاح مجموعة مشترك.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave PASE.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

صحيح إذا كان وضع المصادقة يستند إلى امتلاك كلمة مرور مشتركة.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave Take.

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 إلى معرّف ULA العام لبروتوكول IPv6.

معرف ULA العام لعنوان النسيج هو 40 بت أقل من معرّف النسيج 64 بت للنسيج.

التفاصيل
المَعلمات
[in] fabricId
معرّف قماش Weave.
المرتجعات
معرف 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).

لتسهيل عملية الاختبار، تُعتبر معرّفات العُقد الأقل أو المساوية لـ #kMaxLocalWeaveNodeId (65535) "محلية"، ويتم ضبط وحدة البت العامة/المحلية لها على صفر. وهذا يبسط تمثيل السلسلة لعناوين IPv6 المقابلة. على سبيل المثال، تكون قيمة ULA لمعرّف العُقدة 10 هي FD00:0:1:1::A.

التفاصيل
المَعلمات
[in] nodeId
معرّف عقدة Weave 64 بت.
المرتجعات
معرف واجهة IPv6.

الحد الأقصى

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

دقيقة

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