nl:: بافت

خلاصه

شمارش ها

@21 {
kFlagConnectionClosed = 0x0002,
kFlagAutoRequestAck = 0x0004,
kFlagDropAck = 0x0008,
kFlagResponseExpected = 0x0010,
kFlagAckPending = 0x0020,
kFlagPeerRequestedAck = 0x0040,
kFlagMsgRcvdFromPeer = 0x0080,
kFlagAutoReleaseKey = 0x0100,
kFlagAutoReleaseConnection = 0x0200,
kFlagUseEphemeralUDPPort = 0x0400
}
enum
@36 enum
@37 enum
@38 {
kFabricIdDefaultForTest = 1ULL
}
enum
@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
}
enum
هدف یا کاربرد گواهی را مشخص می کند.
@40 enum
منبع رمز عبور مورد استفاده در یک پروتکل احراز هویت مبتنی بر رمز عبور را شناسایی می کند (مثلاً
@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
}
enum
@42 {
kFabricSecretScope_All = 0x00
}
enum
@43 {
kTestKey_AES128CTRSHA1_DataKeyByte = 0xAB,
kTestKey_AES128CTRSHA1_IntegrityKeyByte = 0xBA
}
enum
@44 enum
اندازه تنوع دهنده کلید برنامه رمزگذاری پیام را ببافید.
@45 enum
@53 enum
@54 {
kWeavePeerDescription_MaxLength = 100
}
enum
@55 {
kWeaveHeaderFlag_DestNodeId = 0x0100,
kWeaveHeaderFlag_SourceNodeId = 0x0200,
kWeaveHeaderFlag_TunneledData = 0x0400,
kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
تعاریف مربوط به هدر یک پیام 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
}
enum
تعاریف میدان بیت برای شناسه های IEEE EUI-64.
@57 {
kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
محدوده های ویژه شناسه گره بافت.
WeaveEncryptionType {
kWeaveEncryptionType_None = 0,
kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
انواع رمزگذاری برای پیام Weave.
WeaveExchangeFlags {
kWeaveExchangeFlag_Initiator = 0x1,
kWeaveExchangeFlag_AckId = 0x2,
kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
بیت های پرچم هدر Weave Exchange.
WeaveExchangeVersion enum
نسخه هدر 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
}
enum
پرچم های مرتبط با پیام Weave ورودی یا خروجی.
WeaveMessageVersion {
kWeaveMessageVersion_Unspecified = 0,
kWeaveMessageVersion_V1 = 1,
kWeaveMessageVersion_V2 = 2
}
enum
نسخه فرمت Weave Message.
WeaveSubnetId {
kWeaveSubnetId_NotSpecified = 0,
kWeaveSubnetId_PrimaryWiFi = 1,
kWeaveSubnetId_ThreadAlarm = 2,
kWeaveSubnetId_WiFiAP = 3,
kWeaveSubnetId_MobileDevice = 4,
kWeaveSubnetId_Service = 5,
kWeaveSubnetId_ThreadMesh = 6
}
enum
Weave تعدادی اعداد زیرشبکه رزرو شده برای رابط های شبکه متمایز در دستگاه های معمولی دارد.
WeaveVendorId enum

Typedefs

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
دسته دستگاه هایی را که می توانند راز پارچه را در اختیار داشته باشند و از آنها استفاده کنند را مشخص می کند.
WeaveAuthMode typedef
uint16_t
نحوه احراز هویت یک گره همتا را مشخص می کند.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
انواع رمزگذاری برای پیام Weave.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
بیت های پرچم هدر Weave Exchange.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
نسخه هدر Weave Exchange.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
پرچم های مرتبط با پیام Weave ورودی یا خروجی.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
نسخه فرمت Weave Message.
WeaveSubnetId typedef
enum nl::Weave::WeaveSubnetId
Weave تعدادی اعداد زیرشبکه رزرو شده برای رابط های شبکه متمایز در دستگاه های معمولی دارد.

متغیرها

ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager
FabricState
NL_DLL_EXPORT WeaveFabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager
WeaveConnection
class NL_DLL_EXPORT
WeaveExchangeManager
class NL_DLL_EXPORT
WeaveMessageLayer
class NL_DLL_EXPORT
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
const WRMPConfig
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
const uint8_t
متنوع کننده کلید برای استخراج کلید رمزگذاری پیام Weave استفاده می شود.

کارکرد

AppGroupMasterKeyIdFromAuthMode (WeaveAuthMode authMode)
uint8_t
شناسه کلید اصلی گروه برنامه مرتبط با حالت احراز هویت را برمی‌گرداند.
CASEAuthMode (uint8_t certType)
WeaveAuthMode
حالت احراز هویت CASE مربوطه را برای یک نوع گواهی مشخص برمی‌گرداند.
CertTypeFromAuthMode (WeaveAuthMode authMode)
uint8_t
منبع رمز عبور را برای حالت احراز هویت داده شده برمی گرداند.
DecodeHeaderField (const uint16_t headerField, WeaveMessageInfo *msgInfo)
void
DefaultOnMessageReceived ( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
EncodeHeaderField (const WeaveMessageInfo *msgInfo)
uint16_t
FindMessageName (uint32_t inProfileId, uint8_t inMsgType)
const char *
FindProfileName (uint32_t inProfileId)
const char *
FormatWeaveError (char *buf, uint16_t bufSize, int32_t err)
bool
با توجه به یک خطای Weave، یک رشته C پایان‌پذیر NULL قابل خواندن برای انسان را برمی‌گرداند که خطا را توصیف می‌کند.
GenerateWeaveNodeId (uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
شناسه گره بافت تصادفی را ایجاد کنید.
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 را به یک شناسه جهانی 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

این کلاس یک مکالمه در حال انجام ( ExchangeContext ) بین دو یا چند گره را نشان می دهد.

nl:: بافت:: FabricStateDelegate

این کلاس نماینده انتزاعی تغییرات حالت فابریک را مخابره می کند.

nl:: بافت:: HostPortList

برای مدیریت و دستکاری فهرست پورت میزبان، مجموعه ای فشرده و کدگذاری شده باینری از تاپل های شناسه میزبان و پورت مرتبط با فهرست خدمات Weave.

nl:: بافت:: JNIUtils
nl:: بافت:: یکنواخت افزایش شمارنده

کلاسی برای مدیریت یک شمارنده یکنواخت افزایشی به عنوان یک مقدار صحیح.

nl:: بافت:: PersistedCounter

کلاسی برای مدیریت یک شمارنده به عنوان یک مقدار صحیح که در راه‌اندازی مجدد باقی می‌ماند.

nl:: Weave:: WeaveConnection

تعریف کلاس Weave Connection.

nl:: Weave:: WeaveConnectionTunnel

تعریف کلاس WeaveConnectionTunnel ، که یک جفت TCPEndPoints را مدیریت می کند که WeaveConnection های اصلی آن ها جفت شده اند، و WeaveMessageLayer بین آن ها تمام داده ها و بسته شدن اتصالات را ارسال می کند.

nl:: بافت:: WeaveEncryptionKey_AES128CTRSHA1
nl:: بافت:: WeaveExchangeHeader

این نمایه Weave و نوع پیام یک پیام Weave خاص را در یک ExchangeContext مشخص می کند.

nl:: Weave:: WeaveExchangeManager

این کلاس برای مدیریت ExchangeContexts با سایر گره های Weave استفاده می شود.

nl:: بافت:: WeaveFabricState

اعلامیه فوروارد WeaveFabricState .

nl:: بافت:: WeaveKeyId

تعریف شناسه کلید بافت.

nl:: Weave:: WeaveMessageLayer

تعریف کلاس WeaveMessageLayer که ارتباط با سایر گره های Weave را مدیریت می کند.

nl:: Weave:: WeaveMsgEncryptionKey

حاوی اطلاعاتی درباره کلید رمزگذاری پیام Weave است.

nl:: Weave:: WeaveMsgEncryptionKeyCache

حافظه پنهان کلید برای کلیدهای رمزگذاری پیام Weave.

nl:: Weave:: WeaveSecurityManager
nl:: بافت:: WeaveServerBase

شی پایه معمولی برای اجرای پاسخ‌دهنده‌های ناخواسته پروفایل Weave (سرورها) که تأیید درخواست‌های تأیید شده و ارسال گزارش‌های وضعیت را محصور می‌کند و ذخیره‌سازی مشترک اعضای داده را برای وضعیت پارچه و یک مدیر تبادل فراهم می‌کند.

nl:: بافت:: WeaveServerDelegateBase

یک کلاس پایه مشترک برای پیاده سازی اشیاء نمایندگی سرور Weave.

nl:: بافت:: WeaveSessionKey

حاوی اطلاعاتی درباره کلید جلسه Weave است.

nl:: بافت:: WeaveSessionState

وضعیت ارتباطی مورد نیاز برای ارسال/دریافت پیام با گره دیگری را منتقل می کند.

سازه ها

nl:: بافت:: JNILibraryMethod
nl:: بافت:: WRMPConfig

پیکربندی WRMP

nl:: Weave:: WeaveMessageInfo

اطلاعاتی در مورد یک پیام Weave که در مرحله ارسال یا دریافت است.

اتحادیه ها

nl:: Weave:: WeaveEncryptionKey

فضاهای نام

nl:: بافت:: ASN1

این فضای نام شامل تمام رابط های داخل Weave برای کار با Abstract Syntax Notation One (ASN.1) است.

nl:: بافت:: Crypto

این فضای نام شامل تمام رابط‌های درون Weave برای پشتیبانی رمزنگاری مشترک است.

nl:: بافت:: DeviceLayer
nl:: بافت:: DeviceManager
nl:: بافت:: رمزگذاری

این فضای نام توابعی را برای:

nl:: بافت:: چوب بری

این فضای نام شامل تمام رابط‌های موجود در Weave برای پشتیبانی از گزارش مشترک است.

nl:: بافت:: بستر
nl:: بافت:: پروفایل

این فضای نام شامل تمام رابط‌های موجود در نمایه‌های Weave for Weave، هم Common و هم Nest Labs ویژه فروشنده است.

nl:: بافت:: پشتیبانی امنیتی
nl:: بافت:: آمار
nl:: بافت:: ساپورت
nl:: بافت:: سیستم
nl:: بافت:: TLV

تعاریف کار با داده های کدگذاری شده در قالب Weave TLV .

nl:: بافت:: گرم

این فضای نام شامل رابط‌هایی برای Weave Address و Routing Module، یک ماژول قابل حمل برای پیکربندی آدرس‌های 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

منبع رمز عبور مورد استفاده در یک پروتکل احراز هویت مبتنی بر رمز عبور را شناسایی می کند (مثلاً

بافت 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

بیت ماسک برای بیت فردی/گروهی (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

محدوده های ویژه شناسه گره بافت.

خواص
kMaxAlwaysLocalWeaveNodeId

شناسه گره های بافت کمتر یا مساوی از این مقدار برای راحتی تست محلی در نظر گرفته می شوند.

WeaveEncryptionType

 WeaveEncryptionType

انواع رمزگذاری برای پیام Weave.

خواص
kWeaveEncryptionType_AES128CTRSHA1

پیام با استفاده از رمزگذاری AES-128-CTR با یکپارچگی پیام HMAC-SHA-1 رمزگذاری شده است.

kWeaveEncryptionType_None

پیام رمزگذاری نشده است

WeaveExchangeFlags

 WeaveExchangeFlags

بیت های پرچم هدر Weave Exchange.

خواص
kWeaveExchangeFlag_AckId

زمانی را تنظیم کنید که پیام فعلی تأییدیه یک پیام دریافتی قبلی باشد.

kWeaveExchangeFlag_Initiator

زمانی را تنظیم کنید که پیام فعلی توسط آغازگر یک تبادل ارسال شود.

kWeaveExchangeFlag_NeedsAck

زمانی را تنظیم کنید که پیام فعلی از گیرنده تأیید درخواست می کند.

WeaveExchangeVersion

 WeaveExchangeVersion

نسخه هدر Weave Exchange.

WeaveMessageFlags

 WeaveMessageFlags

پرچم های مرتبط با پیام Weave ورودی یا خروجی.

مقادیر تعریف شده در اینجا برای استفاده در فیلد WeaveMessageInfo.Flags هستند.

خواص
kWeaveMessageFlag_DefaultMulticastSourceAddress

نشان می دهد که انتخاب آدرس منبع IPv6 پیش فرض باید هنگام ارسال پیام های چندپخشی IPv6 استفاده شود.

kWeaveMessageFlag_DelaySend

نشان می دهد که ارسال پیام نیاز به تاخیر دارد.

kWeaveMessageFlag_DestNodeId

نشان می دهد که شناسه گره مقصد در هدر پیام Weave وجود دارد.

kWeaveMessageFlag_DuplicateMessage

نشان می دهد که پیام تکراری از پیام دریافتی قبلی است.

kWeaveMessageFlag_FromInitiator

نشان می دهد که منبع پیام آغازگر تبادل Weave است.

kWeaveMessageFlag_MessageEncoded

نشان می دهد که پیام Weave قبلاً کدگذاری شده است.

kWeaveMessageFlag_MsgCounterSyncReq

نشان می دهد که فرستنده همگام سازی شمارنده پیام همتا را درخواست می کند.

kWeaveMessageFlag_MulticastFromLinkLocal

نام مستعار منسوخ شده برای kWeaveMessageFlag_DefaultMulticastSourceAddress .

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

نشان می دهد که شمارنده پیام کلید گروهی همتا هماهنگ نیست.

kWeaveMessageFlag_PeerRequestedAck

نشان می دهد که فرستنده پیام درخواست تایید کرده است.

kWeaveMessageFlag_RetainBuffer

نشان می دهد که بافر پیام نباید پس از ارسال آزاد شود.

kWeaveMessageFlag_ReuseMessageId

نشان می دهد که شناسه پیام موجود باید دوباره استفاده شود.

kWeaveMessageFlag_ReuseSourceId

نشان می دهد که شناسه گره منبع موجود باید دوباره استفاده شود.

kWeaveMessageFlag_SourceNodeId

نشان می دهد که شناسه گره منبع در سرفصل پیام Weave وجود دارد.

kWeaveMessageFlag_TunneledData

نشان می دهد که بار پیام Weave یک بسته IP تونل شده است.

kWeaveMessageFlag_ViaEphemeralUDPPort

نشان می دهد که پیام از طریق پورت UDP زودگذر محلی ارسال/دریافت می شود.

WeaveMessageVersion

 WeaveMessageVersion

نسخه فرمت Weave Message.

Weave نسخه پیام مناسب را بر اساس قالب فریم مورد نیاز برای پیام Weave انتخاب می کند. به طور پیش فرض، نسخه پیام kWeaveMessageVersion_V1 است. برای مثال، هنگام استفاده از Weave Reliable Messaging، نسخه kWeaveMessageVersion_V2 است.

خواص
kWeaveMessageVersion_Unspecified

نسخه پیام نامشخص

kWeaveMessageVersion_V1

فرمت هدر پیام نسخه V1.

kWeaveMessageVersion_V2

فرمت هدر پیام نسخه V2.

WeaveSubnetId

 WeaveSubnetId

Weave تعدادی اعداد زیرشبکه رزرو شده برای رابط های شبکه متمایز در دستگاه های معمولی دارد.

این اعداد در اینجا به ثابت های نمادین نسبت داده می شوند. این اعداد زیرشبکه توسط Weave برای پیکربندی آدرس های IPv6 ULA بر روی رابط های مناسب استفاده می شود.

خواص
kWeaveSubnetId_MobileDevice

شناسه زیر شبکه برای همه دستگاه های تلفن همراه.

kWeaveSubnetId_NotSpecified

به عنوان یک مقدار نامشخص یا تهی رزرو شده است.

kWeaveSubnetId_PrimaryWiFi

شماره زیرشبکه رابط رادیویی WiFi.

kWeaveSubnetId_Service

شناسه زیرشبکه برای نقاط پایانی Nest Service.

kWeaveSubnetId_ThreadAlarm

شماره زیرشبکه رابط رادیویی زنگ هشدار موضوع.

kWeaveSubnetId_ThreadMesh

شناسه زیرشبکه رابط رادیویی Thread mesh.

kWeaveSubnetId_WiFiAP

شماره زیرشبکه رابط محلی Wi-Fi AP.

WeaveVendorId

 WeaveVendorId

Typedefs

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

دسته دستگاه هایی را که می توانند راز پارچه را در اختیار داشته باشند و از آنها استفاده کنند را مشخص می کند.

WeaveAuthMode

uint16_t WeaveAuthMode

نحوه احراز هویت یک گره همتا را مشخص می کند.

WeaveAuthMode ابزاری را توصیف می کند که توسط آن یک گره همتا در طول تبادل پیام Weave احراز هویت شده است یا باید احراز هویت شود. در زمینه شروع، برنامه‌ها از WeaveAuthMode برای بیان حالت احراز هویت همتا مورد نظر برای تبادل استفاده می‌کنند، در نتیجه به لایه‌های امنیتی Weave و پیام‌رسانی دستور می‌دهند تا به حالت مورد نظر دست یابند یا ارتباط را از بین ببرند. در یک زمینه پاسخگو، WeaveAuthMode نحوه احراز هویت گره درخواست کننده (همتا) را شناسایی می کند و به برنامه پاسخ دهنده اجازه می دهد تا کنترل های دسترسی را بر اساس این اطلاعات اعمال کند.

WeaveAuthMode اختصاص داده شده به پیام Weave ورودی به ماهیت کلیدی که برای رمزگذاری آن پیام استفاده شده است، مرتبط است. WeaveAuthMode از مکانیزمی که توسط آن کلید ایجاد شد و معیارهای مورد استفاده برای تأیید هویت طرف های ارتباطی در زمان استقرار کلید نشأت می گیرد.

WeaveAuthMode شامل مجموعه ای از مقادیر از پیش تعریف شده است که حالت های رایج احراز هویت را توصیف می کند. اینها توسط مکانیسم توافق کلید (CASE، PASE، GroupKey، و غیره) تجزیه می شوند. توسعه دهندگان می توانند WeaveAuthMode را با تعریف حالت های خاص برنامه، که می توانند به کلیدهای رمزگذاری خاص متصل کنند، گسترش دهند.

WeaveEncryptionKey

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveEncryptionType

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

انواع رمزگذاری برای پیام Weave.

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

بیت های پرچم هدر Weave Exchange.

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

نسخه هدر Weave Exchange.

WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

پرچم های مرتبط با پیام Weave ورودی یا خروجی.

مقادیر تعریف شده در اینجا برای استفاده در فیلد WeaveMessageInfo.Flags هستند.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

نسخه فرمت Weave Message.

Weave نسخه پیام مناسب را بر اساس قالب فریم مورد نیاز برای پیام Weave انتخاب می کند. به طور پیش فرض، نسخه پیام kWeaveMessageVersion_V1 است. برای مثال، هنگام استفاده از Weave Reliable Messaging، نسخه kWeaveMessageVersion_V2 است.

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave تعدادی اعداد زیرشبکه رزرو شده برای رابط های شبکه متمایز در دستگاه های معمولی دارد.

این اعداد در اینجا به ثابت های نمادین نسبت داده می شوند. این اعداد زیرشبکه توسط Weave برای پیکربندی آدرس های IPv6 ULA بر روی رابط های مناسب استفاده می شود.

متغیرها

ExchangeMgr

NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr

Fabric State

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

لایه WeaveMessage

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 64 بیتی محلی منحصر به فرد را تولید می کند. این تابع از منبع داده تصادفی رمزنگاری قوی برای تضمین منحصر به فرد بودن ارزش تولید شده استفاده می کند. توجه داشته باشید که بیت 57 از شناسه گره Weave تولید شده روی 1 تنظیم شده است تا نشان دهد که شناسه گره Weave تولید شده به صورت محلی (نه جهانی) منحصر به فرد است.

جزئیات
مولفه های
nodeId
ارجاع به شناسه گره 64 بیتی Weave.
ارزش های بازگشتی
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
)

درست است اگر حالت احراز هویت مبتنی بر داشتن یک کلید گروه مشترک باشد.

حالت IsPASEAuth

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

اگر حالت احراز هویت بر اساس پروتکل Weave PASE باشد درست است.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

درست است اگر حالت احراز هویت مبتنی بر داشتن رمز عبور مشترک باشد.

حالت IsTAKEAuth

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
)

منبع رمز عبور را برای حالت احراز هویت داده شده برمی گرداند.

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 را به یک شناسه جهانی IPv6 ULA تبدیل کنید.

شناسه جهانی ULA برای آدرس فابریک، 40 بیت پایینی شناسه فابریک 64 بیتی فابریک است.

جزئیات
مولفه های
[in] fabricId
شناسه پارچه Weave.
برمی گرداند
شناسه جهانی IPv6 نقشه برداری شده

WeaveMessageSourceToStr

void WeaveMessageSourceToStr(
  char *buf,
  uint32_t bufSize,
  const WeaveMessageInfo *msgInfo
)

منسوخ شده از WeaveMessageLayer::GetPeerDescription() استفاده کنید.

WeaveNodeAddrToStr

void WeaveNodeAddrToStr(
  char *buf,
  uint32_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  WeaveConnection *con
)

منسوخ شده از WeaveMessageLayer::GetPeerDescription() استفاده کنید.

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

یک شناسه گره Weave را به شناسه رابط آدرس IPv6 تبدیل کنید.

شناسه‌های گره بافت، EUI-64های جهانی/محلی هستند که در هر RFC-3513 با معکوس کردن بیت جهانی/محلی به شناسه‌های رابط تبدیل می‌شوند (بیت 57 LSB را 0 حساب می‌کند).

برای راحتی آزمایش، شناسه‌های گره کمتر یا مساوی با #kMaxAlwaysLocalWeaveNodeId (65535) «محلی» در نظر گرفته می‌شوند و بیت جهانی/محلی آن‌ها روی صفر تنظیم شده است. این امر نمایش رشته ای آدرس های IPv6 مربوطه را ساده می کند. برای مثال یک ULA برای شناسه گره 10 FD00:0 :1:1::A خواهد بود.

جزئیات
مولفه های
[in] nodeId
شناسه گره 64 بیتی Weave.
برمی گرداند
شناسه رابط IPv6

حداکثر

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

دقیقه

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