nl:: Weave
ملخّص
تعريف الأنواع |
|
---|---|
FabricSecretRotationScheme
|
تعريف الكتابةuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_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
|
تعريف الكتابةstruct WeaveMessageInfo
|
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 ومعلومات الإعداد ذات الصلة. |
nl:: |
واجهة لإدارة العدّاد كقيمة عدد صحيح |
nl:: |
تمثل هذه الفئة محادثة جارية (ExchangeContext) بين نقطتين أو أكثر. |
nl:: |
يوضّح هذا الفصل التجريدي المفوَّض التغييرات في حالة النسيج. |
nl:: |
لإدارة "قائمة منافذ المضيف" ومعالجتها، تمثل هذه المجموعة مجموعة مدمجة ذات ترميز ثنائي من صفوف معرف المضيف والمنفذ المرتبطة بدليل خدمة Weave. |
nl:: |
|
nl:: |
يشير ذلك المصطلح إلى فئة لإدارة عدّاد الزيادة بشكل رتيب كقيمة عددية. |
nl:: |
يشير ذلك المصطلح إلى فئة لإدارة العدّاد كقيمة عددية تهدف إلى الاستمرار في عمليات إعادة التشغيل. |
nl:: |
تعريف فئة اتصال النسيج. |
nl:: |
يشير ذلك المصطلح إلى تعريف فئة WeaveConnectionTunnel، التي تدير زوجًا من نقاط TCPEndPoint التي تم إقران اتصالات WeaveConnections الأصلية بها، والتي تعيد سلسلة WeaveMessageLayer توجيه جميع حالات إغلاق البيانات والاتصالات من خلالها. |
nl:: |
|
nl:: |
يحدد هذا ملف Weave الشخصي ونوع الرسالة لرسالة Weave معينة داخل ExchangeContext. |
nl:: |
تُستخدم هذه الفئة لإدارة ExchangeContexts مع عُقد Weave الأخرى. |
nl:: |
إعادة توجيه بيان WeaveFabricState. |
nl:: |
تعريف معرِّف مفتاح Weave. |
nl:: |
تعريف فئة WeaveMessageLayer، التي تدير الاتصال مع عُقد Weave الأخرى. |
nl:: |
تحتوي على معلومات حول مفتاح تشفير رسالة Weave. |
nl:: |
ذاكرة التخزين المؤقت لمفاتيح تشفير رسائل Weave |
nl:: |
|
nl:: |
كائن أساسي شائع لتنفيذ المجيبين (الخوادم) غير المطلوبين لملف تعريف Weave الذي يتضمن التحقق من صحة الطلبات التي تمت مصادقتها وإرسال تقارير الحالة ويوفر مساحة تخزين مشتركة لأعضاء البيانات لحالة النسيج ومدير التبادل. |
nl:: |
فئة أساسية مشتركة لتنفيذ كائنات تفويض خادم Weave. |
nl:: |
يحتوي على معلومات حول مفتاح جلسة Weave. |
nl:: |
ينقل حالة الاتصال اللازمة لإرسال/استلام الرسائل باستخدام عقدة أخرى. |
بُنى |
|
---|---|
nl:: |
|
nl:: |
إعدادات WRMP |
nl:: |
معلومات حول رسالة Weave قيد إرسالها أو استلامها. |
الاتحادات |
|
---|---|
nl:: |
مساحات الاسم |
|
---|---|
nl:: |
تتضمن مساحة الاسم هذه جميع الواجهات داخل Weave للعمل باستخدام بناء الجملة المجرّدة Notation One (ASN.1). |
nl:: |
تتضمن مساحة الاسم هذه جميع الواجهات داخل Weave لدعم التشفير المشترك. |
nl:: |
|
nl:: |
|
nl:: |
توفّر مساحة الاسم هذه دوال من أجل: |
nl:: |
تتضمن مساحة الاسم هذه جميع الواجهات داخل Weave لدعم التسجيل المشترك. |
nl:: |
|
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave for Weave الشخصية، التي تتعلّق بكل من Common وNest Labs. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
تعريفات التعامل مع البيانات المشفرة بتنسيق Weave TLV. |
nl:: |
تشمل مساحة الاسم هذه واجهات لعنوان ووحدة التوجيه، وهي وحدة محمولة لتكوين عناوين 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_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 منتهية الصلاحية قابلة للقراءة البشرية تصف الخطأ.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
المرتجعات |
true إذا تمت كتابة سلسلة وصف في المخزن المؤقت المقدم.
|
||||||
المرتجعات |
false إذا لم يكن الخطأ المقدم خطأ Weave.
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
إنشاء رقم تعريف عقدة Weave عشوائي.
تنشئ هذه الدالة معرّف عقدة Weave فريد محليًا 64 بت. تستخدم هذه الدالة مصدر بيانات عشوائيًا قويًا من خلال التشفير لضمان تفرُّد القيمة الناتجة. لاحظ أنه تم تعيين البت 57 من معرف عقدة Weave الذي تم إنشاؤه على 1 للإشارة إلى أن معرف عقدة 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.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
المرتجعات |
معرّف عقدة 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 بت.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
المرتجعات |
المعرف العام لبروتوكول 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.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
المرتجعات |
معرِّف واجهة IPv6.
|
الحد الأقصى
const _T & max( const _T & a, const _T & b )
دقيقة
const _T & min( const _T & a, const _T & b )