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 تعداد
حجم تنويع مفتاح تطبيق تشفير الرسائل.
@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.
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 تعريف الكتابة
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
تحدد فئة الأجهزة التي يمكن أن تمتلك أسرارًا النسيج وتستخدمها.
WeaveAuthMode تعريف الكتابة
uint16_t
تحدد كيفية مصادقة عقدة النظير.
WeaveEncryptionKey تعريف الكتابة
WeaveEncryptionType تعريف الكتابة
enum nl::Weave::WeaveEncryptionType
أنواع التشفير لرسالة Weave.
WeaveExchangeFlags تعريف الكتابة
enum nl::Weave::WeaveExchangeFlags
وحدات بت علامة عنوان Weave Exchange.
WeaveExchangeVersion تعريف الكتابة
enum nl::Weave::WeaveExchangeVersion
إصدار عنوان Weave Exchange.
WeaveMessageFlags تعريف الكتابة
enum nl::Weave::WeaveMessageFlags
العلامات المرتبطة برسالة Weave واردة أو صادرة.
WeaveMessageHeader تعريف الكتابة
WeaveMessageVersion تعريف الكتابة
enum nl::Weave::WeaveMessageVersion
إصدار تنسيق رسالة Weave.
WeaveSubnetId تعريف الكتابة
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 NULL منتهية الصلاحية قابلة للقراءة البشرية تصف الخطأ.
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

تعريف فئة اتصال النسيج.

nl::Weave::WeaveConnectionTunnel

يشير ذلك المصطلح إلى تعريف فئة WeaveConnectionTunnel، التي تدير زوجًا من نقاط TCPEndPoint التي تم إقران اتصالات 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.

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 للعمل باستخدام بناء الجملة المجرّدة Notation One (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 for Weave الشخصية، التي تتعلّق بكل من Common وNest Labs.

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

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

nl::Weave::Warm

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

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

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

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

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

قناع Bitmation لوحدة البت الفردية/المجموعة (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.

سيختار 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

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

kWeaveSubnetId_ThreadMesh

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

kWeaveSubnetId_WiFiAP

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

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.

سيختار 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 NULL منتهية الصلاحية قابلة للقراءة البشرية تصف الخطأ.

التفاصيل
المعلمات
[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.

لتسهيل الاختبار، تُعتبر معرّفات العُقد الأقل أو تساوي #kMaxAlwaysLocalWeaveNodeId (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 لعنوان النسيج هو الجزء السفلي من معرّف النسيج المكوّن من 64 بت والذي يبلغ طوله 40 بت.

التفاصيل
المعلمات
[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).

لتسهيل الاختبار، تُعتبر معرّفات العُقد الأقل أو تساوي #kMaxAlwaysLocalWeaveNodeId (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
)