nl::Weave

Özet

Numaralandırmalar

@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
Sertifikanın amacını veya uygulamasını tanımlar.
@40 enum
Şifre tabanlı bir kimlik doğrulama protokolünde (ör.
@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
Örgü ileti şifreleme uygulama anahtarı çeşitleyici boyutu.
@45 enum
@53 enum
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
Kodlanmış Weave mesajının başlığıyla ilgili tanımlar.
@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 Tanımlayıcıları için bit alanı tanımları.
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Özel Örgü Düğüm Kimlikleri aralıkları.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Weave mesajının şifreleme türleri.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Weave Exchange başlık işaret bitleri.
WeaveExchangeVersion enum
Weave Exchange başlık sürümü.
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
Gelen veya giden Weave iletisiyle ilişkili işaretler.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum
Weave Message biçiminin sürümü.
WeaveSubnetId{
  kWeaveSubnetId_NotSpecified = 0,
  kWeaveSubnetId_PrimaryWiFi = 1,
  kWeaveSubnetId_ThreadAlarm = 2,
  kWeaveSubnetId_WiFiAP = 3,
  kWeaveSubnetId_MobileDevice = 4,
  kWeaveSubnetId_Service = 5,
  kWeaveSubnetId_ThreadMesh = 6
}
enum
Weave, tipik cihazlardaki ayırt edici ağ arayüzleri için bazı ayrılmış alt ağ numaralarına sahiptir.
WeaveVendorId enum

Typedef'ler

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
Kumaş sırrı içerebilen ve kullanabilen cihazların kategorisini tanımlar.
WeaveAuthMode typedef
uint16_t
Bir eş düğümün kimliğinin nasıl doğrulandığını tanımlar.
WeaveEncryptionKey typedef
WeaveEncryptionType typedef
enum nl::Weave::WeaveEncryptionType
Weave mesajının şifreleme türleri.
WeaveExchangeFlags typedef
enum nl::Weave::WeaveExchangeFlags
Weave Exchange başlık işaret bitleri.
WeaveExchangeVersion typedef
enum nl::Weave::WeaveExchangeVersion
Weave Exchange başlık sürümü.
WeaveMessageFlags typedef
enum nl::Weave::WeaveMessageFlags
Gelen veya giden Weave iletisiyle ilişkili işaretler.
WeaveMessageHeader typedef
WeaveMessageVersion typedef
enum nl::Weave::WeaveMessageVersion
Weave Message biçiminin sürümü.
WeaveSubnetId typedef
enum nl::Weave::WeaveSubnetId
Weave, tipik cihazlardaki ayırt edici ağ arayüzleri için bazı ayrılmış alt ağ numaralarına sahiptir.

Değişkenler

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 mesaj şifreleme anahtarı türevi için kullanılan anahtar çeşitleyici.

İşlevler

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
Kimlik doğrulama moduyla ilişkilendirilmiş uygulama grubu ana anahtar kimliğini döndürür.
CASEAuthMode(uint8_t certType)
WeaveAuthMode
Belirli bir sertifika türüne karşılık gelen CASE kimlik doğrulama modunu döndürür.
CertTypeFromAuthMode(WeaveAuthMode authMode)
uint8_t
Belirtilen kimlik doğrulama modu için şifre kaynağını döndürür.
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 hatası verildiğinde, hatayı açıklayan, kullanıcıların okuyabileceği NULL sonlu bir C dizesi döndürür.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
Rastgele Weave düğümü kimliği oluşturun.
GetFibonacciForIndex(uint32_t index)
uint32_t
Bu işlev, belirli bir 32 bit dizin için 32 bitlik Fibonacci sayısı oluşturur.
GetMessageName(uint32_t profileId, uint8_t msgType)
const char *
GetProfileName(uint32_t profileId)
const char *
GetRandU16(void)
uint16_t
Bu işlev, 16 bitlik işaretsiz rastgele sayı oluşturur.
GetRandU32(void)
uint32_t
Bu işlev, 32 bitlik işaretsiz rastgele sayı oluşturur.
GetRandU64(void)
uint64_t
Bu işlev, 64 bitlik işaretsiz rastgele sayı oluşturur.
GetRandU8(void)
uint8_t
Bu işlev, 8 bitlik işaretsiz rastgele sayı oluşturur.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
Belirli bir anahtar kimliğine karşılık gelen grup anahtarı kimlik doğrulama modunu döndürür.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
IPv6 adresi arayüz tanımlayıcısını Weave düğümü tanımlayıcısına dönüştürün.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu Weave CASE protokolüne dayanıyorsa doğru değerini döndürür.
IsCertAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, bir sertifikayla ilişkili özel anahtara sahip olmayı temel alıyorsa doğru değerini döndürür.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu paylaşılan bir grup anahtarına sahip olmayı temel alıyorsa doğru değerini döndürür.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu Weave PASE protokolüne dayanıyorsa doğru değerini döndürür.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, paylaşılan bir şifreye sahip olmaya dayanıyorsa doğru değerini döndürür.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu Weave TAKE protokolüne dayanıyorsa doğru değerini döndürür.
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
Belirli bir şifre kaynağı için karşılık gelen PASE kimlik doğrulama modunu döndürür.
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
uint8_t
Belirtilen kimlik doğrulama modu için şifre kaynağını döndürür.
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 kumaş tanımlayıcısını IPv6 ULA genel tanımlayıcısına dönüştürün.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
KULLANIMDAN KALDIRILDI Bunun yerine WeaveMessageLayer::GetPeerDescription() kullanın.
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
KULLANIMDAN KALDIRILDI Bunun yerine WeaveMessageLayer::GetPeerDescription() kullanın.
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Weave düğüm tanımlayıcısını IPv6 adresi arayüz tanımlayıcısına dönüştürün.
max(const _T & a, const _T & b)
const _T &
min(const _T & a, const _T & b)
const _T &

Sınıflar

nl::Weave::Binding

Bir Weave iletişiminin amaçlanan hedefini ve ilişkili yapılandırma bilgilerini yakalar.

nl::Weave::Counter

Bir sayacı tam sayı değeri olarak yönetme arayüzü.

nl::Weave::ExchangeContext

Bu sınıf, iki veya daha fazla düğüm arasında devam eden bir görüşmeyi (ExchangeContext) temsil eder.

nl::Weave::FabricStateDelegate

Bu soyut yetki verilen sınıf, kumaş durumu değişikliklerini iletir.

nl::Weave::HostPortList

Ana Makine Bağlantı Noktası Listesi'ni yönetmek ve işlemek için Weave Hizmet Dizini ile ilişkilendirilmiş ana makine ve bağlantı noktası tanımlayıcı deliklerinin kompakt, ikili kodlu bir koleksiyonudur.

nl::Weave::JNIUtils
nl::Weave::MonotonicallyIncreasingCounter

Monoton olarak artan bir sayacı tam sayı değeri olarak yönetmeye yönelik bir sınıf.

nl::Weave::PersistedCounter

Bir sayacı, yeniden başlatmalar boyunca kalıcı olması amaçlanan bir tam sayı değeri olarak yönetmek için kullanılan sınıf.

nl::Weave::WeaveConnection

Örgü Bağlantı sınıfının tanımı.

nl::Weave::WeaveConnectionTunnel

Orijinal WeaveConnection'ları eşlenmiş bir TCPEndPoint çiftini yöneten ve aralarında WeaveMessageLayer'ın tüm verileri ve bağlantı kapatmalarını ileten bir çift TCPEndPoint'i yöneten WeaveConnectionTunnel sınıfının tanımı.

nl::Weave::WeaveEncryptionKey_AES128CTRSHA1
nl::Weave::WeaveExchangeHeader

Bu, ExchangeContext içindeki belirli bir Weave mesajının Weave profilini ve mesaj türünü belirtir.

nl::Weave::WeaveExchangeManager

Bu sınıf, ExchangeContexts'i diğer Weave düğümleriyle yönetmek için kullanılır.

nl::Weave::WeaveFabricState

WeaveFabricState'in ileriye yönelik bildirimi.

nl::Weave::WeaveKeyId

Örgü Anahtar tanımlayıcısının tanımı.

nl::Weave::WeaveMessageLayer

Diğer Weave düğümleriyle iletişimi yöneten WeaveMessageLayer sınıfının tanımı.

nl::Weave::WeaveMsgEncryptionKey

Weave ileti şifreleme anahtarıyla ilgili bilgileri içerir.

nl::Weave::WeaveMsgEncryptionKeyCache

Weave ileti şifreleme anahtarları için anahtar önbelleği.

nl::Weave::WeaveSecurityManager
nl::Weave::WeaveServerBase

Kimliği doğrulanmış istekleri doğrulama ile durum raporları göndermeyi kapsayan ve yapı durumu ve exchange yöneticisi için ortak veri üyesi depolama alanı sağlayan Weave profili istenmeyen yanıtlayıcıları (sunucular) uygulamak için yaygın olarak kullanılan temel nesnedir.

nl::Weave::WeaveServerDelegateBase

Weave sunucusu yetki verme nesnelerini uygulamak için ortak bir temel sınıf.

nl::Weave::WeaveSessionKey

Weave oturum anahtarıyla ilgili bilgileri içerir.

nl::Weave::WeaveSessionState

Başka bir düğümle mesaj göndermek/almak için gereken iletişim durumunu aktarır.

Yapılar

nl::Weave::JNILibraryMethod
nl::Weave::WRMPConfig

WRMP yapılandırması.

nl::Weave::WeaveMessageInfo

Gönderme veya alınma sürecinde olan bir Weave iletisiyle ilgili bilgiler.

Birlikler

nl::Weave::WeaveEncryptionKey

Ad alanları

nl::Weave::ASN1

Bu ad alanı, Weave içinde Abstract Syntax Notation One (ASN.1) ile çalışmaya yönelik tüm arayüzleri içerir.

nl::Weave::Crypto

Bu ad alanı, ortak kriptografik destek için Weave'deki tüm arayüzleri içerir.

nl::Weave::DeviceLayer
nl::Weave::DeviceManager
nl::Weave::Encoding

Bu ad alanı, aşağıdakiler için işlevler sağlar:

nl::Weave::Logging

Bu ad alanı, paylaşılan günlük kaydı desteği için Weave içindeki tüm arayüzleri içerir.

nl::Weave::Platform
nl::Weave::Profiles

Bu ad alanı, hem Common hem de Nest Labs tedarikçisine özel Weave profilleri için Weave'deki tüm arayüzleri içerir.

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

Weave TLV biçiminde kodlanmış verilerle çalışma tanımları.

nl::Weave::Warm

Bu ad alanı, Weave IP adreslerini ve rotalarını yapılandırmak için taşınabilir bir modül olan Weave Address ve Yönlendirme Modülü arayüzlerini içerir.

Numaralandırmalar

@21

 @21
Özellikler
kFlagAckPending

Gönderilen bir mesaj için yanıt bekleniyorsa

kFlagAutoReleaseConnection

Exchange bağlamı serbest bırakıldığında mesaj şifreleme anahtarını otomatik olarak serbest bırakın.

kFlagAutoReleaseKey

Ayarlandığında, bu exchange bağlamında eşten en az bir mesaj alındığını belirtir.

kFlagAutoRequestAck

Bu bağlam bir WeaveConnection ile ilişkilendirildi.

kFlagConnectionClosed

Bu bağlam, exchange'i başlatan kişidir.

kFlagDropAck

Ayarlandığında, UDP üzerinden bir ileti gönderildiğinde otomatik olarak onay iste.

kFlagMsgRcvdFromPeer

Ayarlandığında, bu exchange'de alınan en az bir iletinin onay istediğini belirtir.

Uygulama, göndereceği yanıt mesajı için onay istemesine gerek olup olmadığına karar vermek üzere bu işareti okur. Bu işaret, eşin WRMP kullanıp kullanmadığını da gösterebilir.

kFlagPeerRequestedAck

Ayarlandığında, geri gönderilmeyi bekleyen bir onay olduğunu gösterir.

kFlagResponseExpected

Yalnızca dahili ve hata ayıklama: Ayarlandığında, exchange katmanı bir onay göndermez.

kFlagUseEphemeralUDPPort

Exchange bağlamı serbest bırakıldığında ilişkili WeaveConnection'ı otomatik olarak serbest bırakın.

@36

 @36

@37

 @37

@38

 @38
Özellikler
kFabricIdDefaultForTest

Yalnızca test amacıyla kullanılması gereken varsayılan yapı kimliği.

@39

 @39

Sertifikanın amacını veya uygulamasını tanımlar.

Sertifika türü, bir sertifikanın amacını veya uygulamasını açıklayan bir etikettir. Sertifika türleri, karşılık gelen sertifikaların özellikleri olarak taşınmaz. Bunun yerine, sertifikanın yapısından ve/veya kullanıldıkları bağlamdan türetilir. Sertifika türü sıralaması, yaygın olarak kullanılan sertifika uygulamalarını açıklayan önceden tanımlanmış bir değer grubu içerir. Geliştiriciler, sertifika türü değer aralığını, benzersiz güvenlik özelliklerine sahip özel sertifikaları veya sertifikaları açıklayan uygulamaya özgü türlerle de genişletebilir.

Sertifika türleri öncelikli olarak uygulama özelliklerine erişimin, istekte bulunan tarafından sunulan sertifika türünden etkilendiği erişim denetimi politikalarının uygulanmasında kullanılır.

Özellikler
kCertType_AccessToken

Weave erişim jetonu sertifikası.

kCertType_AppDefinedBase

Uygulamaya özel sertifika türleri bu değerden büyük veya daha büyük olmalıdır.

kCertType_CA

CA sertifikası.

kCertType_Device

Weave cihaz sertifikası.

kCertType_FirmwareSigning

Weave donanım yazılımı imzalama sertifikası.

kCertType_General

Sertifika, genel veya özel olmayan bir türdedir.

kCertType_Max

Sertifika türleri bu değerden büyük olmamalıdır.

kCertType_NotSpecified

Sertifikanın türü belirtilmedi.

kCertType_ServiceEndpoint

Weave hizmeti uç nokta sertifikası.

@40

 @40

Şifre tabanlı bir kimlik doğrulama protokolünde (ör.

Örgü PASE)

@41

 @41
Özellikler
kWeaveAuthModeCategory_AppDefinedBase

Uygulama tanımlı kimlik doğrulama kategorileri için temel değer.

kWeaveAuthModeCategory_CASE

Eş kimliği, Weave CASE protokolü kullanılarak doğrulandı.

kWeaveAuthModeCategory_General

Bir dizi genel mekanizmadan biri kullanılarak eş kimlik doğrulaması gerçekleştirildi.

kWeaveAuthModeCategory_GroupKey

Eş kimlik doğrulaması, paylaşılan grup anahtarı kullanılarak yapıldı.

kWeaveAuthModeCategory_PASE

Eş kimliği, Weave PASE protokolü kullanılarak doğrulandı.

kWeaveAuthModeCategory_TAKE

Eş kimliği, Weave TAKE protokolü kullanılarak doğrulandı.

kWeaveAuthMode_CASE_AccessToken

Eş kimliği, Weave erişim jetonu sertifikasıyla CASE kullanılarak doğrulandı.

kWeaveAuthMode_CASE_AnyCert

Eş, rastgele sertifika veya bilinmeyen türde bir sertifika ile CASE ile kimlik doğrulaması yaptı.

kWeaveAuthMode_CASE_Device

Eş kimliği, Weave cihaz sertifikasıyla CASE kullanılarak doğrulandı.

kWeaveAuthMode_CASE_GeneralCert

Eş tarafından kimlik doğrulaması, genel veya özel olmayan bir sertifika türüne sahip CASE ile doğrulandı.

kWeaveAuthMode_CASE_ServiceEndPoint

Eş, Weave hizmeti uç nokta sertifikası ile CASE kullanılarak doğrulandı.

kWeaveAuthMode_NotSpecified

Kimlik doğrulama modu belirtilmedi.

kWeaveAuthMode_PASE_PairingCode

Eş kimliği, cihaz eşleme koduyla PASE kullanılarak kimlik doğrulaması yapıldı.

kWeaveAuthMode_TAKE_IdentificationKey

Eş kimlik doğrulaması, jeton tanımlama anahtarıyla Take kullanılarak yapıldı.

kWeaveAuthMode_Unauthenticated

Eşin kimliği doğrulanmadı.

@42

 @42
Özellikler
kFabricSecretScope_All

Tüm cihazlarda karşılık gelen kumaş sırrı bulunabilir.

@43

 @43
Özellikler
kTestKey_AES128CTRSHA1_DataKeyByte

Yalnızca test için kullanılan şifreleme anahtarını oluşturan bayt değeri.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

Yalnızca test için kullanılan bütünlük anahtarını oluşturan bayt değeri.

@44

 @44

Örgü ileti şifreleme uygulama anahtarı çeşitleyici boyutu.

@45

 @45

@53

 @53

@54

 @54
Özellikler
kWeavePeerDescription_MaxLength

WeaveMessageLayer::GetPeerDescription() tarafından döndürülen maksimum dize uzunluğu (NUL karakteri dahil).

@55

 @55

Kodlanmış Weave mesajının başlığıyla ilgili tanımlar.

Özellikler
kWeaveHeaderFlag_DestNodeId

Weave ileti başlığında hedef düğüm kimliğinin bulunduğunu belirtir.

kWeaveHeaderFlag_MsgCounterSyncReq

Gönderenin, ileti sayacı senkronizasyonu istediğini belirtir.

kWeaveHeaderFlag_SourceNodeId

Kaynak düğüm kimliğinin Weave ileti başlığında bulunduğunu belirtir.

kWeaveHeaderFlag_TunneledData

Weave mesaj yükünün tünelli IP paketi olduğunu belirtir.

@56

 @56

IEEE EUI-64 Tanımlayıcıları için bit alanı tanımları.

Özellikler
kEUI64_IG_Group

EUI-64 tanımlayıcısını gösteren bireysel/Grup bit değeri.

kEUI64_IG_Individual

Tek bir adres EUI-64 tanımlayıcısını gösteren bireysel/Grup bit değeri.

kEUI64_IG_Mask

Bir EUI-64 tanımlayıcısı içindeki Bireysel/Grup (I/G) biti için bit maskesi.

0 değeri, kimliğin tek bir adres olduğunu gösterir. 1 değeri, kimliğin bir grup adresi olduğunu gösterir.

kEUI64_UL_Local

Yerel olarak yönetilen bir EUI-64 tanımlayıcısını gösteren evrensel/yerel bit değeri.

kEUI64_UL_Mask

Bir EUI-64 tanımlayıcısı içindeki Universal/Local (U/L) biti için bit maskesi.

0 değeri, kimliğin Evrensel (genel olarak) yönetildiğini gösterir. 1 değeri, kimliğin yerel olarak yönetildiğini gösterir.

kEUI64_UL_Unversal

Evrensel olarak yönetilen bir EUI-64 tanımlayıcısını gösteren evrensel/yerel bit değeri.

@57

 @57

Özel Örgü Düğüm Kimlikleri aralıkları.

Özellikler
kMaxAlwaysLocalWeaveNodeId

Bu değerden düşük veya buna eşit olan örgü düğüm tanımlayıcıları, test kolaylığı sağlamak için yerel olarak kabul edilir.

WeaveEncryptionType

 WeaveEncryptionType

Weave mesajının şifreleme türleri.

Özellikler
kWeaveEncryptionType_AES128CTRSHA1

İleti, HMAC-SHA-1 ileti bütünlüğü ile AES-128-CTR şifrelemesi kullanılarak şifrelendi.

kWeaveEncryptionType_None

İleti şifrelenmedi.

WeaveExchangeFlags

 WeaveExchangeFlags

Weave Exchange başlık işaret bitleri.

Özellikler
kWeaveExchangeFlag_AckId

Geçerli mesaj, daha önce alınan bir ileti için onay olduğunda ayarlayın.

kWeaveExchangeFlag_Initiator

Geçerli mesajın bir exchange'i başlatan tarafından ne zaman gönderileceğini ayarlayın.

kWeaveExchangeFlag_NeedsAck

Geçerli mesaj, alıcıdan onay istediğinde ayarlayın.

WeaveExchangeVersion

 WeaveExchangeVersion

Weave Exchange başlık sürümü.

WeaveMessageFlags

 WeaveMessageFlags

Gelen veya giden Weave iletisiyle ilişkili işaretler.

Burada tanımlanan değerler WeaveMessageInfo.Flags alanında kullanılır.

Özellikler
kWeaveMessageFlag_DefaultMulticastSourceAddress

IPv6 çoklu yayın mesajları gönderilirken varsayılan IPv6 kaynak adresi seçiminin kullanılması gerektiğini belirtir.

kWeaveMessageFlag_DelaySend

İletinin gönderilmesinin gecikmesi gerektiğini belirtir.

kWeaveMessageFlag_DestNodeId

Weave ileti başlığında hedef düğüm kimliğinin bulunduğunu belirtir.

kWeaveMessageFlag_DuplicateMessage

İletinin daha önce alınan bir iletinin kopyası olduğunu belirtir.

kWeaveMessageFlag_FromInitiator

Mesaj kaynağının Weave değişimini başlatanı olduğunu belirtir.

kWeaveMessageFlag_MessageEncoded

Weave mesajının zaten kodlanmış olduğunu gösterir.

kWeaveMessageFlag_MsgCounterSyncReq

Gönderenin, benzerlerin ileti sayacı senkronizasyonunu istediğini belirtir.

kWeaveMessageFlag_MulticastFromLinkLocal

kWeaveMessageFlag_DefaultMulticastSourceAddress için takma ad kullanımdan kaldırıldı.

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

Eşin grup anahtarı mesaj sayacının senkronize edilmediğini belirtir.

kWeaveMessageFlag_PeerRequestedAck

İletiyi gönderen kişinin onay istediğini belirtir.

kWeaveMessageFlag_RetainBuffer

İleti gönderildikten sonra ileti arabelleğinin serbest bırakılmaması gerektiğini belirtir.

kWeaveMessageFlag_ReuseMessageId

Mevcut ileti tanımlayıcısının yeniden kullanılması gerektiğini belirtir.

kWeaveMessageFlag_ReuseSourceId

Mevcut kaynak düğüm tanımlayıcısının yeniden kullanılması gerektiğini belirtir.

kWeaveMessageFlag_SourceNodeId

Kaynak düğüm kimliğinin Weave ileti başlığında bulunduğunu belirtir.

kWeaveMessageFlag_TunneledData

Weave mesaj yükünün tünelli IP paketi olduğunu belirtir.

kWeaveMessageFlag_ViaEphemeralUDPPort

Mesajın yerel geçici UDP bağlantı noktası üzerinden gönderildiğini/alındığını belirtir.

WeaveMessageVersion

 WeaveMessageVersion

Weave Message biçiminin sürümü.

Weave, Weave iletisi için gereken çerçeve biçimine göre uygun ileti sürümünü seçer. Varsayılan olarak mesaj sürümü kWeaveMessageVersion_V1'dir. Örneğin, Weave Reliable Messaging'i kullanırken sürüm kWeaveMessageVersion_V2'dir.

Özellikler
kWeaveMessageVersion_Unspecified

Belirtilmemiş mesaj sürümü.

kWeaveMessageVersion_V1

İleti üstbilgisi biçimi sürüm V1.

kWeaveMessageVersion_V2

İleti üstbilgisi biçimi sürüm V2.

WeaveSubnetId

 WeaveSubnetId

Weave, tipik cihazlardaki ayırt edici ağ arayüzleri için bazı ayrılmış alt ağ numaralarına sahiptir.

Bu sayılar burada sembolik sabitlere atanır. Bu alt ağ numaraları, uygun arayüzlerde IPv6 ULA adreslerini yapılandırmak için Weave tarafından kullanılır.

Özellikler
kWeaveSubnetId_MobileDevice

Tüm mobil cihazlar için alt ağ tanımlayıcısı.

kWeaveSubnetId_NotSpecified

Belirtilmemiş veya boş bir değer olarak ayrılmış.

kWeaveSubnetId_PrimaryWiFi

Kablosuz radyo arayüzü alt ağ numarası.

kWeaveSubnetId_Service

Nest Hizmeti uç noktalarının alt ağ tanımlayıcısı.

kWeaveSubnetId_ThreadAlarm

Thread alarm radyo arayüzü alt ağ numarası.

kWeaveSubnetId_ThreadMesh

İş parçacığı radyosu radyo arayüzü alt ağ tanımlayıcısı.

kWeaveSubnetId_WiFiAP

Yerel Wi-Fi AP arayüzü alt ağ numarası.

WeaveVendorId

 WeaveVendorId

Typedef'ler

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

Kumaş sırrı içerebilen ve kullanabilen cihazların kategorisini tanımlar.

WeaveAuthMode

uint16_t WeaveAuthMode

Bir eş düğümün kimliğinin nasıl doğrulandığını tanımlar.

WeaveAuthMode, Weave mesaj değişimi sırasında bir eş düğümün kimliğinin hangi yöntemle doğrulandığı veya doğrulanması gerektiğini tanımlar. Başlangıç bağlamında uygulamalar, bir exchange için istenen eş kimlik doğrulama modunu ifade etmek üzere WeaveAuthMode modunu kullanır. Böylece, Weave güvenlik ve mesajlaşma katmanlarına istenen modu elde etmesi veya iletişimde başarısız olması talimatını verir. Yanıt veren bir bağlamda WeaveAuthMode, istekte bulunan düğümün (eş) kimliğinin nasıl doğrulandığını tanımlar ve yanıt veren uygulamanın, bu bilgilere dayanarak erişim denetimlerini zorunlu kılmasına olanak verir.

Gelen bir Weave mesajına atanan WeaveAuthMode, mesajı şifrelemek için kullanılan anahtarın doğasıyla ilgilidir. WeaveAuthMode, anahtarın oluşturulduğu mekanizmadan ve anahtarın kurulması sırasında iletişim kuran tarafların kimliklerini doğrulamak için kullanılan kriterlerden türetilir.

WeaveAuthMode, genel kimlik doğrulama modlarını açıklayan önceden tanımlanmış bir dizi değer içerir. Bunlar, anahtar anlaşma mekanizmasına (CASE, PASE, GroupKey vb.) göre ayrılır. Geliştiriciler, belirli şifreleme anahtarlarına ekleyebilecekleri uygulamaya özgü modlar tanımlayarak WeaveAuthMode'u genişletebilir.

WeaveEncryptionKey

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveEncryptionType

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Weave mesajının şifreleme türleri.

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Weave Exchange başlık işaret bitleri.

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

Weave Exchange başlık sürümü.

WeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

Gelen veya giden Weave iletisiyle ilişkili işaretler.

Burada tanımlanan değerler WeaveMessageInfo.Flags alanında kullanılır.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Weave Message biçiminin sürümü.

Weave, Weave iletisi için gereken çerçeve biçimine göre uygun ileti sürümünü seçer. Varsayılan olarak mesaj sürümü kWeaveMessageVersion_V1'dir. Örneğin, Weave Reliable Messaging'i kullanırken sürüm kWeaveMessageVersion_V2'dir.

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave, tipik cihazlardaki ayırt edici ağ arayüzleri için bazı ayrılmış alt ağ numaralarına sahiptir.

Bu sayılar burada sembolik sabitlere atanır. Bu alt ağ numaraları, uygun arayüzlerde IPv6 ULA adreslerini yapılandırmak için Weave tarafından kullanılır.

Değişkenler

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 mesaj şifreleme anahtarı türevi için kullanılan anahtar çeşitleyici.

Bu değer, "Nest Weave Message EK and AK" SHA-1 HASH'sinin ilk 4 baytını temsil eder kelime öbeğini ekleyin.

İşlevler

AppGroupMasterKeyIdFromAuthMode

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama moduyla ilişkilendirilmiş uygulama grubu ana anahtar kimliğini döndürür.

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

Belirli bir sertifika türüne karşılık gelen CASE kimlik doğrulama modunu döndürür.

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

Belirtilen kimlik doğrulama modu için şifre kaynağını döndürür.

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 hatası verildiğinde, hatayı açıklayan, kullanıcıların okuyabileceği NULL sonlu bir C dizesi döndürür.

Ayrıntılar
Parametreler
[in] buf
Hata dizesinin yerleştirileceği arabellek.
[in] bufSize
Sağlanan arabelleğin bayt cinsinden boyutu.
[in] err
Açıklanacak hata.
İadeler
true Sağlanan arabelleğe bir açıklama dizesi yazıldıysa.
İadeler
false Sağlanan hata Weave hatası değilse.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

Rastgele Weave düğümü kimliği oluşturun.

Bu işlev, 64 bit yerel olarak benzersiz Weave düğümü kimliği oluşturur. Bu işlev, oluşturulan değerin benzersizliğini garanti etmek için kriptografik olarak güçlü rastgele veri kaynağı kullanır. Oluşturulan Weave düğüm kimliğinin 57. bitinin, oluşturulan Weave düğüm kimliğinin yerel olarak (genel olarak değil) benzersiz olduğunu belirtmek için 1 olarak ayarlandığını unutmayın.

Ayrıntılar
Parametreler
nodeId
64 bit Örgü düğüm kimliğine referans.
Değerleri Döndür
WEAVE_NO_ERROR
Weave düğüm kimliği başarıyla oluşturuldu mu?

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

Bu işlev, belirli bir 32 bit dizin için 32 bitlik Fibonacci sayısı oluşturur.

Ayrıntılar
İadeler
32 bit işaretsiz fibonacci numarası.

GetMessageName

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

GetProfileName

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

Bu işlev, 16 bitlik işaretsiz rastgele sayı oluşturur.

Ayrıntılar
İadeler
16 bitlik işaretsiz rastgele tam sayı.

GetRandU32

uint32_t GetRandU32(
  void
)

Bu işlev, 32 bitlik işaretsiz rastgele sayı oluşturur.

Ayrıntılar
İadeler
32 bit işaretsiz rastgele tam sayı.

GetRandU64

uint64_t GetRandU64(
  void
)

Bu işlev, 64 bitlik işaretsiz rastgele sayı oluşturur.

Ayrıntılar
İadeler
64 bit işaretsiz rastgele tam sayı.

GetRandU8

uint8_t GetRandU8(
  void
)

Bu işlev, 8 bitlik işaretsiz rastgele sayı oluşturur.

Ayrıntılar
İadeler
8 bitlik işaretsiz rastgele tam sayı.

GetVendorName

const char * GetVendorName(
  uint16_t vendorId
)

GroupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

Belirli bir anahtar kimliğine karşılık gelen grup anahtarı kimlik doğrulama modunu döndürür.

IPv6Arayüz KimliğiToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

IPv6 adresi arayüz tanımlayıcısını Weave düğümü tanımlayıcısına dönüştürün.

Test kolaylığı sağlamak için, #kMaxNeverLocalWeaveNodeId (65535) değerinden küçük veya bu değere eşit olan düğüm tanımlayıcıları "yerel" olarak kabul edilir ve evrensel/yerel bitleri sıfır olarak ayarlanır. Bu, ilgili IPv6 adreslerinin dize gösterimini basitleştirir. Örneğin, 10 düğüm tanımlayıcısının ULA'sı FD00:0:1:1::A olur.

Ayrıntılar
Parametreler
[in] interfaceId
64 bit arayüz tanımlayıcısı.
İadeler
eşlenmiş 64 bit Weave düğüm tanımlayıcısını içerir.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu Weave CASE protokolüne dayanıyorsa doğru değerini döndürür.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, bir sertifikayla ilişkili özel anahtara sahip olmayı temel alıyorsa doğru değerini döndürür.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu paylaşılan bir grup anahtarına sahip olmayı temel alıyorsa doğru değerini döndürür.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu Weave PASE protokolüne dayanıyorsa doğru değerini döndürür.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, paylaşılan bir şifreye sahip olmaya dayanıyorsa doğru değerini döndürür.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu Weave TAKE protokolüne dayanıyorsa doğru değerini döndürür.

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
)

Belirli bir şifre kaynağı için karşılık gelen PASE kimlik doğrulama modunu döndürür.

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

Belirtilen kimlik doğrulama modu için şifre kaynağını döndürür.

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
)

ÖrgütFabricIdToIPv6GlobalId

uint64_t WeaveFabricIdToIPv6GlobalId(
  uint64_t fabricId
)

Weave kumaş tanımlayıcısını IPv6 ULA genel tanımlayıcısına dönüştürün.

Kumaş adresin ULA genel tanımlayıcısı, kumaşın 64 bit kumaş kimliğinin 40 bitlik alt kısmıdır.

Ayrıntılar
Parametreler
[in] fabricId
Örgü kumaş tanımlayıcısı.
İadeler
eşlenen IPv6 genel tanımlayıcısına karşılık gelir.

WeaveMessageSourceToStr

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

KULLANIMDAN KALDIRILDI Bunun yerine WeaveMessageLayer::GetPeerDescription() kullanın.

WeaveNodeAddrToStr

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

KULLANIMDAN KALDIRILDI Bunun yerine WeaveMessageLayer::GetPeerDescription() kullanın.

WeaveNodeIdToIPv6ArayüzNo

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

Weave düğüm tanımlayıcısını IPv6 adresi arayüz tanımlayıcısına dönüştürün.

Örgülü düğüm tanımlayıcıları, Evrensel/Yerel EUI-64'lerdir. Bunlar, RFC-3513'e göre evrensel/yerel biti ters çevrilerek arayüz tanımlayıcılarına dönüştürülür (bit 57, LSB'yi 0 olarak sayar).

Test kolaylığı sağlamak için, #kMaxNeverLocalWeaveNodeId (65535) değerinden küçük veya bu değere eşit olan düğüm tanımlayıcıları "yerel" olarak kabul edilir ve evrensel/yerel bitleri sıfır olarak ayarlanır. Bu, ilgili IPv6 adreslerinin dize gösterimini basitleştirir. Örneğin, 10 düğüm tanımlayıcısının ULA'sı FD00:0:1:1::A olur.

Ayrıntılar
Parametreler
[in] nodeId
64 bit Weave düğüm tanımlayıcısı.
İadeler
IPv6 arayüz tanımlayıcısı.

maks.

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

dk

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