nl:: Weave
خلاصه
Typedefs |
|
|---|---|
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». |
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 با پایان NULL قابلخواندن برای انسان را که خطا را توصیف میکند برمیگرداند.
|
GenerateWeaveNodeId(uint64_t & nodeId)
|
NL_DLL_EXPORT WEAVE_ERROR
تولید شناسه گره Weave تصادفی.
|
GetFibonacciForIndex(uint32_t index)
|
uint32_t
این تابع عدد فیبوناچی ۳۲ بیتی را برای نمایه ۳۲ بیتی دادهشده تولید میکند.
|
GetMessageName(uint32_t profileId, uint8_t msgType)
|
const char *
|
GetProfileName(uint32_t profileId)
|
const char *
|
GetRandU16(void)
|
uint16_t
این تابع عدد تصادفی بدون علامت ۱۶ بیتی تولید میکند.
|
GetRandU32(void)
|
uint32_t
این تابع عدد تصادفی بدون علامت ۳۲ بیتی تولید میکند.
|
GetRandU64(void)
|
uint64_t
این تابع عدد تصادفی بدون علامت ۶۴ بیتی تولید میکند.
|
GetRandU8(void)
|
uint8_t
این تابع عدد تصادفی بدون علامت ۸ بیتی تولید میکند.
|
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
اگر حالت اصالتسنجی براساس داشتن کلید خصوصی مرتبط با گواهی باشد، True است.
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
اگر حالت اصالتسنجی براساس داشتن کلید گروه همرسانیشده باشد، درست است.
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
اگر حالت اصالتسنجی براساس پروتکل Weave PASE باشد، مقدار True (درست) است.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
اگر حالت اصالتسنجی براساس داشتن گذرواژه مشترک باشد، True است.
|
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». |
|
nl:: |
|
|
nl:: |
کلاسی برای مدیریت شمارنده یکنواخت افزایشی بهعنوان مقدار صحیح. |
|
nl:: |
کلاسی برای مدیریت شمارنده بهعنوان مقدار عدد صحیح که برای ماندگاری در راهاندازیهای مجدد درنظر گرفته شده است. |
|
nl:: |
تعریف کلاس «اتصال Weave». |
|
nl:: |
تعریف کلاس WeaveConnectionTunnel که جفت TCPEndPoints را که 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 برای کار با «نشانگذاری نحوی انتزاعی یک» (ASN.1) میشود. |
|
nl:: |
این فضای نام شامل همه میاناهای درون Weave برای پشتیبانی رمزنگاری مشترک است. |
|
nl:: |
|
|
nl:: |
|
|
nl:: |
این فضای نام توابعی برای موارد زیر ارائه میدهد: |
|
nl:: |
این فضای نام شامل همه میاناهای درون Weave برای پشتیبانی از ثبت گزارش مشترک است. |
|
nl:: |
|
|
nl:: |
این فضای نام شامل همه میاناهای درون Weave برای نمایههای Weave، هم مشترک و هم مختص فروشنده Nest Labs است. |
|
nl:: |
|
|
nl:: |
|
|
nl:: |
|
|
nl:: |
|
|
nl:: |
تعاریف کار با دادههای کدبندیشده در قالب TLV در Weave. |
|
nl:: |
این فضای نام شامل رابطهایی برای «نشانی Weave» و «واحد مسیریابی» است، یک «واحد» قابلحمل برای پیکربندی نشانیهای 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
|
شناسه پیشفرض Fabric که فقط باید برای اهداف آزمایشی استفاده شود. |
@39
@39
هدف یا کاربرد گواهی را مشخص میکند.
نوع گواهینامه برچسبی است که هدف یا کاربرد گواهینامه را توصیف میکند. انواع گواهینامه بهعنوان مشخصههای گواهینامههای مربوطه منتقل نمیشوند، بلکه از ساختار گواهینامه و/یا زمینهای که در آن استفاده میشود استخراج میشوند. شمارش نوع گواهی شامل مجموعهای از مقادیر ازپیش تعریفشده است که برنامههای گواهی رایج را توصیف میکند. توسعهدهندگان همچنین میتوانند محدوده مقدار نوع گواهینامه را با انواع مختص برنامه که گواهینامههای سفارشی یا گواهینامههای دارای ویژگیهای امنیتی منحصربهفرد را توصیف میکنند گسترش دهند.
انواع گواهی عمدتاً در اجرای خطمشیهای کنترل دسترسی استفاده میشوند، جایی که دسترسی به ویژگیهای برنامه تحت تأثیر نوع گواهی ارائهشده توسط درخواستکننده قرار میگیرد.
| مشخصات | |
|---|---|
kCertType_AccessToken
|
گواهی کد دسترسی Weave. |
kCertType_AppDefinedBase
|
انواع گواهی مختص برنامه باید مقادیر >= این مقدار داشته باشند. |
kCertType_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
|
همتا اصالتسنجی نشده است. |
@43
@43
| مشخصات | |
|---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
مقدار بایت که کلید رمزگذاری را میسازد و فقط برای آزمایش استفاده میشود. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
مقدار بایت که کلید تمامیت را میسازد و فقط برای آزمایش استفاده میشود. |
@44
@44
اندازه تنوعبخش کلید برنامه رمزگذاری پیام Weave.
@45
@45
@53
@53
@۵۴
@54
| مشخصات | |
|---|---|
kWeavePeerDescription_MaxLength
|
حداکثر طول رشته (شامل نویسه NUL) که توسط WeaveMessageLayer::GetPeerDescription() برگردانده شده است. |
@۵۵
@55
تعاریف مربوط به سرصفحه پیام کدگذاریشده Weave.
| مشخصات | |
|---|---|
kWeaveHeaderFlag_DestNodeId
|
نشان میدهد که شناسه گره مقصد در سرایند پیام Weave وجود دارد. |
kWeaveHeaderFlag_MsgCounterSyncReq
|
نشان میدهد که فرستنده درخواست همگامسازی شمارنده پیام دارد. |
kWeaveHeaderFlag_SourceNodeId
|
نشان میدهد که شناسه گره منبع در سرایند پیام Weave وجود دارد. |
kWeaveHeaderFlag_TunneledData
|
نشان میدهد که بار پیام Weave یک بسته IP تونلدار است. |
@۵۶
@56
تعریفهای فیلد بیت برای «شناسههای IEEE EUI-64».
| مشخصات | |
|---|---|
kEUI64_IG_Group
|
مقدار بیت فردی/گروهی که نشاندهنده شناسه EUI-64 نشانی گروه است. |
kEUI64_IG_Individual
|
مقدار بیت «فرد/گروه» که نشاندهنده شناسه نشانی فردی EUI-64 است. |
kEUI64_IG_Mask
|
ماسک بیتی برای بیت «فردی/گروهی» (I/G) در شناسه EUI-64. مقدار ۰ نشان میدهد که شناسه یک نشانی فردی است. مقدار ۱ نشان میدهد که شناسه نشانی گروه است. |
kEUI64_UL_Local
|
مقدار بیت همگانی/محلی که نشاندهنده شناسه EUI-64 مدیریتشده بهصورت محلی است. |
kEUI64_UL_Mask
|
ماسک بیت برای بیت «جهانی/محلی» (U/L) در شناسه EUI-64. مقدار ۰ نشان میدهد که شناسه بهصورت جهانی مدیریت میشود. مقدار ۱ نشان میدهد که شناسه بهصورت محلی مدیریت میشود. |
kEUI64_UL_Unversal
|
مقدار بیت همگانی/محلی که نشاندهنده شناسه EUI-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
|
وقتی پیام فعلی درخواست تأیید از گیرنده دارد، تنظیم میشود. |
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 Reliable Messaging، نسخه kWeaveMessageVersion_V2 است.
| مشخصات | |
|---|---|
kWeaveMessageVersion_Unspecified
|
نسخه پیام نامشخص. |
kWeaveMessageVersion_V1
|
نسخه قالب سرایند پیام V1. |
kWeaveMessageVersion_V2
|
نسخه قالب سرصفحه پیام V2. |
WeaveSubnetId
WeaveSubnetId
Weave چند شماره زیرشبکه رزروشده برای میاناهای شبکه متمایز در دستگاههای معمولی دارد.
این اعداد در اینجا به ثابتهای نمادین اختصاص داده شدهاند. Weave از این شمارههای زیرشبکه برای پیکربندی نشانیهای IPv6 ULA در میاناهای مناسب استفاده میکند.
| مشخصات | |
|---|---|
kWeaveSubnetId_MobileDevice
|
شناسه زیرشبکه برای همه دستگاههای همراه. |
kWeaveSubnetId_NotSpecified
|
بهعنوان مقدار نامشخص یا تهی رزرو شده است. |
kWeaveSubnetId_PrimaryWiFi
|
شماره زیرشبکه میانای رادیویی Wi-Fi. |
kWeaveSubnetId_Service
|
شناسه زیرشبکه برای نقاط پایانی «سرویس Nest». |
kWeaveSubnetId_ThreadAlarm
|
شماره زیرشبکه رابط رادیویی زنگ خطر Thread. |
kWeaveSubnetId_ThreadMesh
|
شناسه زیرشبکه میانای رادیویی مش Thread. |
kWeaveSubnetId_WiFiAP
|
شماره زیرشبکه رابط «نقطه دسترسی Wi-Fi محلی». |
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».
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.
این مقدار نشاندهنده ۴ بایت اول «درهمسازی اساچاِی-۱» عبارت «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 یکتای محلی ۶۴ بیتی تولید میکند. این تابع از منبع داده تصادفی قوی رمزنگاریشده استفاده میکند تا یکتا بودن مقدار تولیدشده را تضمین کند. توجه داشته باشید که بیت ۵۷ شناسه گره Weave تولیدشده روی ۱ تنظیم شده است تا نشان دهد شناسه گره Weave تولیدشده بهصورت محلی (نه جهانی) منحصربهفرد است.
| جزئیات | |||
|---|---|---|---|
| پارامترها |
|
||
| مقادیر برگشتی |
|
||
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
این تابع عدد فیبوناچی ۳۲ بیتی را برای نمایه ۳۲ بیتی دادهشده تولید میکند.
| جزئیات | |
|---|---|
| برگرداندن |
عدد فیبوناچی ۳۲ بیتی بدون علامت.
|
GetMessageName
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
GetProfileName
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
این تابع عدد تصادفی بدون علامت ۱۶ بیتی تولید میکند.
| جزئیات | |
|---|---|
| کالاهای مرجوعی |
عدد صحیح تصادفی ۱۶ بیتی بدون علامت.
|
GetRandU32
uint32_t GetRandU32( void )
این تابع عدد تصادفی بدون علامت ۳۲ بیتی تولید میکند.
| جزئیات | |
|---|---|
| برگرداندن |
عدد صحیح تصادفی بدون علامت ۳۲ بیتی.
|
GetRandU64
uint64_t GetRandU64( void )
این تابع عدد تصادفی بدون علامت ۶۴ بیتی تولید میکند.
| جزئیات | |
|---|---|
| برگرداندن |
عدد صحیح تصادفی بدون علامت ۶۴ بیتی.
|
GetRandU8
uint8_t GetRandU8( void )
این تابع عدد تصادفی بدون علامت ۸ بیتی تولید میکند.
| جزئیات | |
|---|---|
| کالاهای مرجوعی |
عدد صحیح تصادفی بدون علامت ۸ بیتی.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
حالت اصالتسنجی کلید گروه مربوطه را برای شناسه کلید ارائهشده برمیگرداند.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
شناسه واسط نشانی IPv6 را به شناسه گره Weave تبدیل کنید.
برای سهولت در آزمایش، شناسههای گره کمتر یا مساوی با #kMaxAlwaysLocalWeaveNodeId (۶۵۵۳۵) «محلی» درنظر گرفته میشوند و بیت جهانی/محلی آنها روی صفر تنظیم میشود. این کار نمایش رشته نشانیهای IPv6 مربوطه را ساده میکند. برای مثال، ULA برای شناسه گره 10 بهصورت FD00:0:1:1::A خواهد بود.
| جزئیات | |||
|---|---|---|---|
| پارامترها |
|
||
| کالاهای مرجوعی |
شناسه گره Weave ۶۴ بیتی تخصیصدادهشده.
|
||
IsCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
اگر حالت اصالتسنجی براساس پروتکل Weave CASE باشد، درست است.
IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
اگر حالت اصالتسنجی براساس داشتن کلید خصوصی مرتبط با گواهی باشد، True است.
IsGroupKeyAuthMode
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
اگر حالت اصالتسنجی براساس داشتن کلید گروه همرسانیشده باشد، درست است.
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
اگر حالت اصالتسنجی براساس پروتکل Weave PASE باشد، مقدار True (درست) است.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
اگر حالت اصالتسنجی براساس داشتن گذرواژه مشترک باشد، True است.
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 را به شناسه جهانی IPv6 ULA تبدیل کنید.
شناسه جهانی ULA برای نشانی پارچه، ۴۰ بیت پایینتر از شناسه پارچه ۶۴ بیتی پارچه است.
| جزئیات | |||
|---|---|---|---|
| پارامترها |
|
||
| کالاهای مرجوعی |
شناسه جهانی 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 با وارونه کردن بیت جهانی/محلی (بیت ۵۷ با احتساب LSB بهعنوان ۰) به شناسههای میانای تبدیل میشوند.
برای سهولت در آزمایش، شناسههای گره کمتر یا مساوی با #kMaxAlwaysLocalWeaveNodeId (۶۵۵۳۵) «محلی» درنظر گرفته میشوند و بیت جهانی/محلی آنها روی صفر تنظیم میشود. این کار نمایش رشته نشانیهای 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 )