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
تنشئ هذه الدالة رقم Fibonacci 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 إلى معرّف عالمي 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::الربط

يشير إلى الهدف المقصود من اتصالات Weave ومعلومات الإعداد المرتبطة.

nl::Weave::منضدة

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

nl::Weave::ExchangeContext

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

nl::Weave::FabricStateDelegate

تُبلغ فئة المفوَّض هذه المجرّدة تغييرات حالة الأقمشة.

nl::Weave::HostPortList

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

nl::Weave::JNIUtils
nl::Weave::MonotonicallyraisingCounter

فئة لإدارة عدّاد الزيادة الأحادية كقيمة عددية.

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

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

nl::Weave::WeaveFabricState

بيان للأمام من WeaveFabricState.

nl::Weave::WeaveKeyId

تمثّل هذه الخاصية تعريف معرّف مفتاح Weave.

nl::Weave::WeaveMessageLayer

تعريف فئة WeaveMessageLayer التي تدير الاتصال بعُقد Weave الأخرى.

nl::Weave::WeaveMsgEncryptionKey

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

nl::Weave::WeaveMsgEncryptionKeyCache

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

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

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

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 للحصول على دعم التشفير المشترك.

nl::Weave::DeviceLayer
nl::Weave::DeviceManager
nl::Weave::الترميز

تقدّم مساحة الاسم هذه وظائف لما يلي:

nl::Weave::التسجيل

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

nl::Weave::النظام الأساسي
nl::Weave::الملفات الشخصية

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

nl::Weave::SecuritySupport
nl::Weave::الإحصاءات
nl::Weave::الدعم
nl::Weave::النظام
nl::Weave::TLV

تعريفات للعمل مع بيانات مشفّرة بتنسيق Weave TLV.

nl::الأسلاك:الدفء

تشمل مساحة الاسم هذه واجهات لكل من Weave Address ووحدة التوجيه، وهي وحدة محمولة لضبط عناوين IP Weave والمسارات.

تعداد

@21

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

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

kFlagAutoReleaseConnection

يمكنك تحرير مفتاح تشفير الرسالة تلقائيًا عند تحرير سياق التبادل.

kFlagAutoReleaseKey

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

kFlagAutoRequestAck

كان هذا السياق مرتبطًا بخدمة WeaveConnection.

kFlagConnectionClosed

هذا السياق هو بدء التبادل.

kFlagDropAck

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

kFlagMsgRcvdFromPeer

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

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

kFlagPeerRequestedAck

عند ضبطها، يعني ذلك أن هناك إقرارًا يفيد بإعادة إرسالك.

kFlagResponseExpected

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

kFlagUseEphemeralUDPPort

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

@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 PASS)

@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

تمت المصادقة مع نظيره باستخدام GET مع مفتاح تعريف الرمز المميز.

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

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

kEUI64_IG_Individual

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

kEUI64_IG_Mask

Bitmask لـ Bit Individual/Group (I/G) ضمن معرّف EUI-64.

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

kEUI64_UL_Local

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

kEUI64_UL_Mask

Bitmask لوحدة بت عامة/محلية (U/L) ضمن معرّف EUI-64.

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

kEUI64_UL_Unversal

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

@57

 @57

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

أماكن إقامة
kMaxAlwaysLocalWeaveNodeId

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

WeaveEncryptionType

 WeaveEncryptionType

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

أماكن إقامة
kWeaveEncryptionType_AES128CTRSHA1

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

kWeaveEncryptionType_None

الرسالة غير مشفّرة.

علامات WeaveExchangeFlags

 WeaveExchangeFlags

وحدات البت لرأس Weave Exchange

أماكن إقامة
kWeaveExchangeFlag_AckId

يمكنك تحديد هذا الإعداد عندما تكون الرسالة الحالية إقرارًا لرسالة المستلَمة سابقًا.

kWeaveExchangeFlag_Initiator

يتم تحديد الوقت الذي يتم فيه إرسال الرسالة الحالية من خلال بادئ عملية التبادل.

kWeaveExchangeFlag_NeedsAck

يمكنك ضبط هذا الإعداد عندما تطلب الرسالة الحالية إقرارًا من المستلم.

إصدار WeaveExchange

 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 المؤقت.

إصدار WeaveMessage

 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

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

kWeaveSubnetId_Service

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

kWeaveSubnetId_ThreadAlarm

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

kWeaveSubnetId_ThreadMesh

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

kWeaveSubnetId_WiFiAP

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

معرّف WeaveVendor

 WeaveVendorId

رفوف النوع

قماش سرّي

uint8_t FabricSecretRotationScheme

نطاق نسيجي

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

إصدار WeaveExchange

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

إصدار عنوان Weave Exchange

علامات WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

العلامات المرتبطة برسالة Weave الواردة أو الصادرة.

ويتم استخدام القيم المحدَّدة هنا للاستخدام داخل الحقل WeaveMessageInfo.Flags.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

إصدار WeaveMessage

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

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

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

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

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

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

المتغيّرات

إدارة Exchange

NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr

حالة أقمشة

NL_DLL_EXPORT WeaveFabricState FabricState

طبقة الرسالة

NL_DLL_EXPORT WeaveMessageLayer MessageLayer

إدارة الأمان

NL_DLL_EXPORT WeaveSecurityManager SecurityMgr

WeaveConnection

class NL_DLL_EXPORT WeaveConnection

مدير WeaveExchange

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 وAK".

الدوال

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

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

وضع CASEAuth

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

عرض وضع مصادقة CASE مقابل لنوع شهادة معيّن.

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

عرض مصدر كلمة المرور لوضع المصادقة المحدد.

فك ترميز الحقل

void DecodeHeaderField(
  const uint16_t headerField,
  WeaveMessageInfo *msgInfo
)

DefaultOnMessageReceived

void DefaultOnMessageReceived(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

حقل الترميز

uint16_t EncodeHeaderField(
  const WeaveMessageInfo *msgInfo
)

FindMessageName

const char * FindMessageName(
  uint32_t inProfileId,
  uint8_t inMsgType
)

اسم الملف الشخصي

const char * FindProfileName(
  uint32_t inProfileId
)

خطأ في Weave

bool FormatWeaveError(
  char *buf,
  uint16_t bufSize,
  int32_t err
)

عند عرض خطأ Weave، يتم عرض سلسلة C التي تم إنهاؤها بواسطة ساعي فارغة، والتي تصف الخطأ.

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

إنشاء WeaveNodeId

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
)

تنشئ هذه الدالة رقم Fibonacci 32 بت لفهرس 32 بت معيّن.

التفاصيل
المرتجعات
رقم fibonacci غير موقَّع 32 بت.

GetMessageName

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

اسم الملف الشخصي

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
)

وضع KeyKeyAuth

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

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

رقم تعريف IPv6InterfaceIdToWeaveNode

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

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

لتسهيل إجراء الاختبار، يتم اعتبار معرّفات العُقد أقل من أو تساوي #kMaxAlwaysLocalWeaveNodeId (65535) 'local'، ويتم ضبط وحدة البت العامة أو المحلية على صفر. يعمل ذلك على تبسيط تمثيل السلسلة لعناوين IPv6 المقابلة. على سبيل المثال، سيكون رمز ULA لمعرّف العقدة 10 هو FD00:0:1:1::A.

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

وضع المصادقة isCASE

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

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

وضع المصادقة

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

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

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

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

وضع IsPASEAuth

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

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

وضع PasswordPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

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

وضع {/1}AuthAuthAuth

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
)

وضع PASEAuth

WeaveAuthMode PASEAuthMode(
  uint8_t pwSource
)

عرض وضع مصادقة PASE مطابق لكلمة مرور معينة.

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

عرض مصدر كلمة المرور لوضع المصادقة المحدد.

معلومات الطباعة

void PrintTunnelInfo(
  const WeaveConnectionTunnel & tun,
  const TCPEndPoint & fromEndPoint,
  const TCPEndPoint & toEndPoint,
  const PacketBuffer & data
)

هيكس

char ToHex(
  const uint8_t data
)

سلسلة HHEXString

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 لعنوان النسيج هو 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 هي واجهات برمجة التطبيقات العامة (IEI-64) العامة/المحلية، والتي يتم تحويلها وفقًا للمعيار RFC-3513 إلى معرّفات الواجهة من خلال قلب وحدة البت/العام (55 بت احتساب LSB على أنها 0).

لتسهيل إجراء الاختبار، يتم اعتبار معرّفات العُقد أقل من أو تساوي #kMaxAlwaysLocalWeaveNodeId (65535) 'local'، ويتم ضبط وحدة البت العامة أو المحلية على صفر. يعمل ذلك على تبسيط تمثيل السلسلة لعناوين 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
)