nl:: Weave
الملخّص
رفوف النوع |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
يحدّد فئة الأجهزة التي يمكنها امتلاك سرّة نسيج واستخدامها. |
WeaveAuthMode
|
typedefuint16_t
يحدّد كيفية مصادقة عقدة الزملاء. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
أنواع التشفير لرسالة Weave. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
وحدات البت لرأس Weave Exchange |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
إصدار عنوان Weave Exchange |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
العلامات المرتبطة برسالة Weave الواردة أو الصادرة. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
إصدار تنسيق Weave Message. |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
يتضمن Weave بعض أرقام الشبكات الفرعية المحجوزة لواجهات الشبكة المميزة على الأجهزة النموذجية. |
المتغيّرات |
|
---|---|
ExchangeMgr
|
NL_DLL_EXPORT WeaveExchangeManager
|
FabricState
|
NL_DLL_EXPORT WeaveFabricState
|
MessageLayer
|
NL_DLL_EXPORT WeaveMessageLayer
|
SecurityMgr
|
NL_DLL_EXPORT WeaveSecurityManager
|
WeaveConnection
|
class NL_DLL_EXPORT
|
WeaveExchangeManager
|
class NL_DLL_EXPORT
|
WeaveMessageLayer
|
class NL_DLL_EXPORT
|
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
|
const WRMPConfig
|
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
|
const uint8_t
أداة التنويع الرئيسية المستخدمة لاشتقاق مفتاح تشفير Weave.
|
الدوال |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
يعرض معرِّف المفتاح الرئيسي لمجموعة التطبيقات المرتبط بوضع المصادقة.
|
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 ومعلومات الإعداد المرتبطة. |
nl:: |
واجهة لإدارة عدّاد كقيمة لعدد صحيح. |
nl:: |
تمثّل هذه الفئة محادثة جارية (ExchangeContext) بين عقدتين أو أكثر. |
nl:: |
تُبلغ فئة المفوَّض هذه المجرّدة تغييرات حالة الأقمشة. |
nl:: |
لإدارة ومعالجة قائمة منفذ المضيف، هي مجموعة صغيرة ذات ترميز ثنائي تكون مضيفات معرّفات المضيف والمنافذ المرتبطة بدليل Weave Service. |
nl:: |
|
nl:: |
فئة لإدارة عدّاد الزيادة الأحادية كقيمة عددية. |
nl:: |
فئة لإدارة العدّاد كقيمة لعدد صحيح تهدف إلى الاستمرار في جميع عمليات إعادة التشغيل. |
nl:: |
تعريف فئة Weave Connection. |
nl:: |
تعريف فئة WeaveConnectionTunnel التي تدير زوجًا من نقاط TCPEndPoints التي تم إقران WeaveConnections الأصلية معها، والتي تربط WeaveMessageLayer كل حالات إغلاق البيانات والاتصال. |
nl:: |
|
nl:: |
ويحدِّد هذا الإعداد ملف Weave الشخصي ونوع رسالة معينة من Weave داخل ExchangeContext. |
nl:: |
يتم استخدام هذه الفئة لإدارة سياقات Exchange مع عُقد 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 للعمل مع تدوين البنية التجريدية الأولى (ASN.1). |
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات ضمن Weave للحصول على دعم التشفير المشترك. |
nl:: |
|
nl:: |
|
nl:: |
تقدّم مساحة الاسم هذه وظائف لما يلي: |
nl:: |
تتضمن مساحة الاسم هذه جميع الواجهات ضمن Weave للحصول على دعم التسجيل المشترك. |
nl:: |
|
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات ضمن الملفات الشخصية في Weave للملفات الشخصية في كل من Weave، وكل من الموردين العامين والمختبرين في Nest Labs. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
تعريفات للعمل مع بيانات مشفّرة بتنسيق 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
|
لم تتم مصادقة النظير. |
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_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 التي تم إنهاؤها بواسطة ساعي فارغة، والتي تصف الخطأ.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلَمات |
|
||||||
المرتجعات |
true إذا تمت كتابة سلسلة وصف في المخزن المؤقت الذي تم توفيره.
|
||||||
المرتجعات |
خطأ إذا لم يكن الخطأ المقدم خطأ من Weave.
|
إنشاء WeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
إنشاء رقم تعريف عقدة Weave عشوائي.
تنشئ هذه الدالة رقم تعريف عقد Weave فريدًا محليًا بإصدار 64 بت. تستخدم هذه الدالة مصدر بيانات عشوائيًا قويًا مشفّرًا لضمان تفرّد القيمة الناتجة. تجدر الإشارة إلى أنه يتم ضبط البت 57 من رقم تعريف عقدة Weave الذي تم إنشاؤه على 1 للإشارة إلى أن رقم تعريف عقد 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.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
معرّف 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 بت.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
المعرّف العمومي لبروتوكول 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.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
المرتجعات |
معرّف واجهة IPv6.
|
الحد الأقصى
const _T & max( const _T & a, const _T & b )
دقيقة
const _T & min( const _T & a, const _T & b )