nl::Weave

Özet

Sıralamalar

@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ı 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
Weave ileti şifreleme uygulaması anahtar ayırıcı 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ış bir Weave mesajının üstbilgisiyle 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 Weave 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şareti 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 iletileriyle 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

Türdefler

FabricSecretRotationScheme typedef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
Kumaş gizli anahtara sahip olup kullanabileceği cihazların kategorisini tanımlar.
WeaveAuthMode typedef
uint16_t
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şareti 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 iletileriyle 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 ileti şifreleme anahtarı türetmesi için kullanılan anahtar farklılaştırıcı.

İş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ü için ilgili 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, NULL ile sonlandırılmış, kullanıcılar tarafından okunabilir bir C dizesi döndürür.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
Rastgele Weave düğüm kimliği oluşturur.
GetFibonacciForIndex(uint32_t index)
uint32_t
Bu işlev, belirli bir 32 bit dizin için 32 bit Fibonacci numarası 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 imzasız rastgele sayı oluşturur.
GetRandU32(void)
uint32_t
Bu işlev, 32 bitlik imzasız rastgele sayı oluşturur.
GetRandU64(void)
uint64_t
Bu işlev, 64 bitlik imzasız rastgele sayı oluşturur.
GetRandU8(void)
uint8_t
Bu işlev 8 bitlik imzasız 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 adres 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ünü temel alıyorsa doğru değerini alır.
IsCertAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, bir sertifikayla ilişkilendirilmiş özel anahtara sahip olmayı temel alıyorsa doğru değerini alır.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, paylaşılan bir grup anahtarına sahip olmayı temel alıyorsa doğru değerini alır.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu Weave PASE protokolünü temel alıyorsa doğru değerini alır.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, paylaşılan bir şifreye sahip olmayı temel alıyorsa doğru değerini alır.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu Weave Take protokolüne dayalıysa doğru değerini alı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 ilgili 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() işlevini 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() işlevini kullanın.
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Weave düğüm tanımlayıcısını IPv6 adres 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

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

nl::Weave::Counter

Sayacı tam sayı değeri olarak yönetmek için kullanılan bir arayüz.

nl::Weave::ExchangeContext

Bu sınıf, iki veya daha fazla düğüm arasında devam eden bir ileti dizisini (ExchangeContext) temsil eder.

nl::Weave::FabricStateDelegate

Bu soyut delege sınıfı, kumaş durumu değişikliklerini bildirir.

nl::Weave::HostPortList

Ana Makine Bağlantı Noktası Listesi'ni yönetmek ve değiştirmek için, Weave Hizmet Dizini ile ilişkili ana makine ve bağlantı noktası tanımlayıcı öğelerinden oluşan, kompakt, ikili kodlamalı bir koleksiyondur.

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

Tekdüze şekilde artan bir sayacı tam sayı değeri olarak yönetmeye yönelik bir sınıf.

nl::Weave::PersistedCounter

Sayacı, yeniden başlatmalarda kalıcı olacak bir tam sayı değeri olarak yönetmek için kullanılan bir sınıf.

nl::Weave::WeaveConnection

Weave Connection sınıfının tanımı.

nl::Weave::WeaveConnectionTunnel

Orijinal WeaveConnections'ın eşlendiği bir çift TCPEndPoint'i yöneten ve WeaveMessageLayer'ın tüm verileri ile bağlantı kapanışlarını yönlendiren bu WeaveConnectionTunnel sınıfının tanımı.

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

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

nl::Weave::WeaveExchangeManager

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

nl::Weave::WeaveFabricState

WeaveFabricState için ileriye dönük beyan.

nl::Weave::WeaveKeyId

Weave Key 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

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

nl::Weave::WeaveServerDelegateBase

Weave sunucu yetki verilmiş 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 iletir.

Yapılar

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

WRMP yapılandırması.

nl::Weave::WeaveMessageInfo

Gönderme veya alma sürecinde olan bir Weave mesajı hakkında bilgi.

Birlikler

nl::Weave::WeaveEncryptionKey

Ad alanları

nl::Weave::ASN1

Bu ad alanı, Özet Söz Dizimi Notation One (ASN.1) ile çalışmak için Weave içindeki tüm arayüzleri içerir.

nl::Weave::Crypto

Bu ad alanı, paylaşılan şifreleme desteği için Weave içindeki 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ı, Weave for Weave profilleri içinde hem Common hem de Nest Labs tedarikçisine özel 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ışmaya ilişkin tanımlar.

nl::Weave::Warm

Bu ad alanı, Weave IP adreslerini ve Rotalarını yapılandırmak için kullanılan taşınabilir bir Modül olan Weave Address ve Redirect Module arayüzlerini içerir.

Sıralamalar

@21

 @21
Özellikler
kFlagAckPending

Gönderilen bir ileti için yanıt bekleniyor mu?

kFlagAutoReleaseConnection

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

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, değişimi başlatan unsurdur.

kFlagDropAck

Bu ayar ayarlandığında, UDP üzerinden her mesaj gönderildiğinde otomatik olarak onay ister.

kFlagMsgRcvdFromPeer

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

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

kFlagPeerRequestedAck

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

kFlagResponseExpected

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

kFlagUseEphemeralUDPPort

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

@36

 @36

@37

 @37

@38

 @38
Özellikler
kFabricIdDefaultForTest

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

@39

 @39

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

Sertifika türü, bir sertifikanın amacını veya uygulamasını tanımlayan bir etikettir. Sertifika türleri, ilgili sertifikaların özellikleri olarak taşınmaz. Bunlar, sertifikanın yapısından ve/veya kullanıldığı bağlamdan türetilir. Sertifika türü sıralaması, yaygın olarak kullanılan sertifika uygulamalarını açıklayan bir dizi önceden tanımlanmış değeri içerir. Geliştiriciler, sertifika türü değer aralığını, özel sertifikaları veya benzersiz güvenlik özelliklerine sahip sertifikaları açıklayan uygulamaya özgü türleri kullanarak da genişletebilir.

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

Özellikler
kCertType_AccessToken

Weave erişim jetonu sertifikası.

kCertType_AppDefinedBase

Uygulamaya özel sertifika türlerinin değerleri >= bu değere sahip 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 spesifik olmayan türde.

kCertType_Max

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

kCertType_NotSpecified

Sertifika türü belirtilmedi.

kCertType_ServiceEndpoint

Weave hizmet uç noktası sertifikası.

@40

 @40

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

Weave PASE)

@41

 @41
Özellikler
kWeaveAuthModeCategory_AppDefinedBase

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

kWeaveAuthModeCategory_CASE

Benzer, Weave CASE protokolü kullanılarak kimlik doğrulaması yapıldı.

kWeaveAuthModeCategory_General

Bir dizi genel mekanizmadan biri kullanılarak eş kimliği doğrulandı.

kWeaveAuthModeCategory_GroupKey

Eşleme, paylaşılan bir grup anahtarı kullanılarak kimlik doğrulandı.

kWeaveAuthModeCategory_PASE

Benzer, Weave PASE protokolü kullanılarak kimlik doğrulaması yapıldı.

kWeaveAuthModeCategory_TAKE

Emsal, Weave take protokolü kullanılarak doğrulandı.

kWeaveAuthMode_CASE_AccessToken

Benzer, Weave erişim jetonu sertifikasıyla CASE kullanılarak kimlik doğrulaması yapıldı.

kWeaveAuthMode_CASE_AnyCert

Rastgele sertifika veya bilinmeyen türde bir sertifikayla CASE kullanılarak eş kimliği doğrulandı.

kWeaveAuthMode_CASE_Device

Benzer, Weave cihaz sertifikasına sahip CASE kullanılarak kimlik doğrulaması yapıldı.

kWeaveAuthMode_CASE_GeneralCert

Genel veya spesifik olmayan bir sertifika türüyle CASE kullanılarak benzerde kimlik doğrulaması yapılmış.

kWeaveAuthMode_CASE_ServiceEndPoint

Benzer, Weave hizmet uç noktası sertifikasıyla CASE kullanılarak kimlik doğrulaması yapıldı.

kWeaveAuthMode_NotSpecified

Kimlik doğrulama modu belirtilmedi.

kWeaveAuthMode_PASE_PairingCode

Emsal, cihaz eşleme koduyla PASE kullanılarak kimlik doğrulaması yaptı.

kWeaveAuthMode_TAKE_IdentificationKey

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

kWeaveAuthMode_Unauthenticated

Eşin kimliği doğrulanmadı.

@42

 @42
Özellikler
kFabricSecretScope_All

Tüm cihazlar karşılık gelen kumaş gizli anahtarına sahip olabilir.

@43

 @43
Özellikler
kTestKey_AES128CTRSHA1_DataKeyByte

Yalnızca test amacıyla kullanılan, şifreleme anahtarını oluşturan bayt değeri.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

Yalnızca test amacıyla kullanılan, bütünlük anahtarını oluşturan bayt değeri.

@44

 @44

Weave ileti şifreleme uygulaması anahtar ayırıcı boyutu.

@45

 @45

@53

 @53

@54

 @54
Özellikler
kWeavePeerDescription_MaxLength

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

@55

 @55

Kodlanmış bir Weave mesajının üstbilgisiyle ilgili tanımlar.

Özellikler
kWeaveHeaderFlag_DestNodeId

Weave mesaj üstbilgisinde hedef düğüm kimliğinin bulunduğunu belirtir.

kWeaveHeaderFlag_MsgCounterSyncReq

Gönderenin, ileti sayacı senkronizasyonu isteğinde bulunduğunu belirtir.

kWeaveHeaderFlag_SourceNodeId

Weave mesaj üstbilgisinde kaynak düğüm kimliğinin bulunduğunu belirtir.

kWeaveHeaderFlag_TunneledData

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

@56

 @56

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

Özellikler
kEUI64_IG_Group

Bir grup adresi EUI-64 tanımlayıcısını gösteren tekil/grup bit değeri.

kEUI64_IG_Individual

Bireysel bir adres EUI-64 tanımlayıcısını gösteren tekil/grup bit değeri.

kEUI64_IG_Mask

EUI-64 tanımlayıcısı içinde 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çinde Evrensel/Yerel (U/L) biti için bit maskesi.

0 değeri, kimliğin Evrensel (genel olarak) uygulandığını 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 Weave Düğüm Kimlikleri aralıkları.

Özellikler
kMaxAlwaysLocalWeaveNodeId

Bu değerden küçük veya eşit olan düğüm tanımlayıcıları, test kolaylığı açısından yerel olarak değerlendirilir.

WeaveEncryptionType

 WeaveEncryptionType

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

Özellikler
kWeaveEncryptionType_AES128CTRSHA1

HMAC-SHA-1 ileti bütünlüğüne sahip AES-128-TO şifrelemesi kullanılarak şifrelenmiş ileti.

kWeaveEncryptionType_None

İleti şifrelenmedi.

WeaveExchangeFlags

 WeaveExchangeFlags

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

Özellikler
kWeaveExchangeFlag_AckId

Mevcut mesajın, daha önce alınan bir ileti için onay olduğu durumlar için bu seçeneği belirleyin.

kWeaveExchangeFlag_Initiator

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

kWeaveExchangeFlag_NeedsAck

Mevcut mesajın alıcıdan onay istediği zamanı belirleyin.

WeaveExchangeVersion

 WeaveExchangeVersion

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

WeaveMessageFlags

 WeaveMessageFlags

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

Burada tanımlanan değerler, WeaveMessageInfo.Flags alanında kullanılması içindir.

Ö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 geciktirilmesi gerektiğini belirtir.

kWeaveMessageFlag_DestNodeId

Weave mesaj üstbilgisinde hedef düğüm kimliğinin bulunduğunu belirtir.

kWeaveMessageFlag_DuplicateMessage

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

kWeaveMessageFlag_FromInitiator

Mesajın, Weave alışverişini başlatan kişi olduğunu belirtir.

kWeaveMessageFlag_MessageEncoded

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

kWeaveMessageFlag_MsgCounterSyncReq

Gönderenin, eşin ileti sayacı senkronizasyonu isteğinde bulunduğunu 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 arabelleğinin gönderildikten sonra serbest bırakılmaması gerektiğini belirtir.

kWeaveMessageFlag_ReuseMessageId

Mevcut mesaj 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

Weave mesaj üstbilgisinde kaynak düğüm kimliğinin bulunduğunu belirtir.

kWeaveMessageFlag_TunneledData

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

kWeaveMessageFlag_ViaEphemeralUDPPort

İletinin, yerel geçici UDP bağlantı noktası üzerinden gönderildiğini/aldığını belirtir.

WeaveMessageVersion

 WeaveMessageVersion

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

Weave, Weave mesajı için gereken çerçeve biçimine göre uygun mesaj sürümünü seçer. Varsayılan olarak, mesaj sürümü kWeaveMessageVersion_V1 şeklindedir. Örneğin, Weave Güvenilir Mesajlaşma kullanılırken kWeaveMessageVersion_V2 sürümü kullanılır.

Ö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.

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

Özellikler
kWeaveSubnetId_MobileDevice

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

kWeaveSubnetId_NotSpecified

Belirtilmemiş veya null değer olarak ayrılmış.

kWeaveSubnetId_PrimaryWiFi

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

kWeaveSubnetId_Service

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

kWeaveSubnetId_ThreadAlarm

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

kWeaveSubnetId_ThreadMesh

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

kWeaveSubnetId_WiFiAP

Yerel Kablosuz AP arayüzü alt ağ numarası.

WeaveVendorId

 WeaveVendorId

Türdefler

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

Kumaş gizli anahtara sahip olup kullanabileceği cihazların kategorisini tanımlar.

WeaveAuthMode

uint16_t WeaveAuthMode

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

WeaveAuthMode, bir eş düğümün Weave mesaj değişimi sırasında doğrulanmasını veya doğrulanması gereken yöntemleri açıklar. Bir başlatma bağlamında uygulamalar, bir exchange için istenen eş kimlik doğrulama modunu ifade etmek üzere WeaveAuthMode'u kullanır. Böylece, Weave güvenlik ve mesajlaşma katmanlarına, istenen modu elde etmesi veya iletişimin başarısız olması için talimat verilir. WeaveAuthMode, yanıt verme bağlamında istekte bulunan düğümün (eş) kimliğinin nasıl doğrulandığını belirler ve böylece yanıt veren uygulamanın bu bilgilere dayanarak erişim denetimlerini zorunlu kılmasını sağlar.

Gelen Weave mesajına atanan WeaveAuthMode, mesajı şifrelemek için kullanılan anahtarın yapısıyla ilgilidir. WeaveAuthMode, anahtarın oluşturulduğu mekanizmadan ve anahtarın oluşturulduğu sırada iletişim kuran tarafların kimliklerini doğrulamak için kullanılan ölçütlerden türetilir.

WeaveAuthMode, yaygın kimlik doğrulama modlarını açıklayan önceden tanımlanmış bir dizi değer içerir. Bunlar anahtar sözleşme mekanizmasına (CASE, PASE, GroupKey vb.) göre ayrılır. Geliştiriciler, belirli şifreleme anahtarlarına ekleyebilecekleri uygulamaya özel 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şareti 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 iletileriyle ilişkili işaretler.

Burada tanımlanan değerler, WeaveMessageInfo.Flags alanında kullanılması içindir.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

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

Weave, Weave mesajı için gereken çerçeve biçimine göre uygun mesaj sürümünü seçer. Varsayılan olarak, mesaj sürümü kWeaveMessageVersion_V1 şeklindedir. Örneğin, Weave Güvenilir Mesajlaşma kullanılırken kWeaveMessageVersion_V2 sürümü kullanılır.

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.

Burada bu sayılar sembolik sabitlere atanır. Bu alt ağ numaraları, Weave tarafından uygun arayüzlerde IPv6 ULA adreslerini yapılandırmak için 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 ileti şifreleme anahtarı türetmesi için kullanılan anahtar farklılaştırıcı.

Bu değer, "Nest Weave Message EK ve AK" ifadesinin SHA-1 HASH'sinin ilk 4 baytını temsil eder.

İş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ü için ilgili 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, NULL ile sonlandırılmış, kullanıcılar tarafından okunabilir 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
Sağlanan arabelleğe bir açıklama dizesi yazılmışsa true (doğru).
İ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şturur.

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 Weave düğüm kimliğine referans.
Döndürülen Değerler
WEAVE_NO_ERROR
Weave düğüm kimliğinin başarıyla oluşturulup oluşturulmadığı

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

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

Ayrıntılar
İadeler
32 bitlik imzasız 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 imzasız rastgele sayı oluşturur.

Ayrıntılar
İadeler
16 bit imzasız rastgele tam sayı.

GetRandU32

uint32_t GetRandU32(
  void
)

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

Ayrıntılar
İadeler
32 bit imzasız rastgele tam sayı.

GetRandU64

uint64_t GetRandU64(
  void
)

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

Ayrıntılar
İadeler
64 bit imzasız rastgele tam sayı.

GetRandU8

uint8_t GetRandU8(
  void
)

Bu işlev 8 bitlik imzasız rastgele sayı oluşturur.

Ayrıntılar
İadeler
8 bitlik imzasız 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.

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

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

Teste kolaylık sağlaması açısından, #kMax AlwaysLocalWeaveNodeId (65535) değerine eşit veya bundan küçük olan düğüm tanımlayıcıları "yerel" olarak kabul edilir ve bunların evrensel/yerel biti 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şlenen 64 bit Weave düğüm tanımlayıcısıdır.

IsCASEAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu Weave CASE protokolünü temel alıyorsa doğru değerini alır.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, bir sertifikayla ilişkilendirilmiş özel anahtara sahip olmayı temel alıyorsa doğru değerini alı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 alır.

IsPASEAuthMode

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu Weave PASE protokolünü temel alıyorsa doğru değerini alır.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, paylaşılan bir şifreye sahip olmayı temel alıyorsa doğru değerini alır.

IsTAKEAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu Weave Take protokolüne dayalıysa doğru değerini alı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 ilgili 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
)

WeaveFabricIdToIPv6GlobalKimlik

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.

Bir kumaş adresinin ULA genel tanımlayıcısı, kumaşın 64 bit kumaş kimliğinin alttaki 40 bitidir.

Ayrıntılar
Parametreler
[in] fabricId
Weave kumaş tanımlayıcısı.
İadeler
eşlenen IPv6 genel tanımlayıcısı.

WeaveMessageSourceToStr

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

KULLANIMDAN KALDIRILDI Bunun yerine WeaveMessagelayer::GetPeerDescription() işlevini 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() işlevini kullanın.

WeaveNodeKimliğiToIPv6ArayüzKimliği

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

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

Örgü düğüm tanımlayıcıları, Evrensel/Yerel EUI-64'lerdir ve RFC-3513 uyarınca evrensel/yerel bitin ters çevrilmesiyle (LSB'yi 0 olarak sayan bit 57), arayüz tanımlayıcılarına dönüştürülür.

Teste kolaylık sağlaması açısından, #kMax AlwaysLocalWeaveNodeId (65535) değerine eşit veya bundan küçük olan düğüm tanımlayıcıları "yerel" olarak kabul edilir ve bunların evrensel/yerel biti 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
)

dak

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