nl::Önde

Ö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ı bir kimlik doğrulama protokolünde kullanılan şifrenin kaynağını tanımlar (ö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
Ağ ileti şifreleme uygulama 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 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 Dokuma Düğümü Kimlikleri.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Weave mesajı için şifreleme türleri.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Weave Exchange üst bilgi 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 mesajıyla 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 cihazlarda ayırt edilen ağ arayüzleri için bazı ayrılmış alt ağ numaralarına sahiptir.
WeaveVendorId enum

Türler

FabricSecretRotationScheme Tür
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
Kumaş sırrına sahip olabilecek ve bu cihazları kullanabilecek cihazların kategorisini belirtir.
WeaveAuthMode Tür
uint16_t
Bir eş düğümünün kimlik doğrulamasının nasıl yapılacağını tanımlar.
WeaveEncryptionKey Tür
WeaveEncryptionType Tür
enum nl::Weave::WeaveEncryptionType
Weave mesajı için şifreleme türleri.
WeaveExchangeFlags Tür
enum nl::Weave::WeaveExchangeFlags
Weave Exchange üst bilgi işareti bitleri.
WeaveExchangeVersion Tür
enum nl::Weave::WeaveExchangeVersion
Weave Exchange başlık sürümü.
WeaveMessageFlags Tür
enum nl::Weave::WeaveMessageFlags
Gelen veya giden Weave mesajıyla ilişkili işaretler.
WeaveMessageHeader Tür
WeaveMessageVersion Tür
enum nl::Weave::WeaveMessageVersion
Weave Message biçiminin sürümü.
WeaveSubnetId Tür
enum nl::Weave::WeaveSubnetId
Weave, tipik cihazlarda ayırt edilen 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üretmesi için kullanılan anahtar çeşitleyici.

İşlevler

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
Kimlik doğrulama moduyla ilişkili 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ı dikkate alındığında, hatayı açıklayan, NULL sonlandırılmış bir C dizesi döndürülü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 dizini 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 bit imzasız rastgele sayı oluşturur.
GetRandU32(void)
uint32_t
Bu işlev, 32 bit imzasız rastgele sayı üretir.
GetRandU64(void)
uint64_t
Bu işlev, 64 bit imzasız rastgele sayı oluşturur.
GetRandU8(void)
uint8_t
Bu işlev, 8 bit imzasız rastgele sayı oluşturur.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
Belirli bir anahtar kimliği için karşılık gelen grup anahtarı kimlik doğrulama modunu döndürür.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
Bir 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ğrudur.
IsCertAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, sertifikayla ilişkili özel bir anahtarın sahibiyse doğrudur.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, paylaşılan bir grup anahtarının sahipliğini temel alıyorsa doğrudur.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, Weave PASE protokolünü temel alıyorsa doğrudur.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, paylaşılan bir şifreye dayalıysa true değerini alır.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
Kimlik doğrulama modu, Weave take protokolüne dayalıysa true (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 karşılık gelen bir 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 global 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::Bağlama

Weave iletişiminin hedeflenen hedefini ve ilişkili yapılandırma bilgilerini yakalar.

nl::Weave::Sayaç

Bir sayaçı, tam sayı değeri olarak yönetmek için kullanılan 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::FabricStateTemsilcisi

Bu soyut yetki sınıf, kumaş durumundaki değişiklikleri bildirir.

nl::Weave::HostPortList

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

nl::Weave::JNIUtils
nl::Örgü::Tek Tip Artan Sayma

Tek renkle artan bir sayaçı tam sayı değeri olarak yönetme sınıfı.

nl::Örgü::Kalıcı Sayaç

Yeniden başlatmalar arasında kalıcı olması amaçlanan bir tam sayı değeri olarak bir sayacı yönetme sınıfı.

nl::Weave::WeaveConnection

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

nl::Weave::WeaveConnectionTunnel

Orijinal WeaveConnections bağlantıları eşleştirilen ve aralarında WeaveMessageLayer tarafından tüm verileri ve bağlantı kapatma işlemlerini yönlendiren bir çift TCPEndPoints'i yöneten WeaveConnectionTunnel sınıfının tanımı.

nl::Weave::WeaveEncryptionKey_AES128CTRLSHA1
nl::WeaveExchange::WeaveExchangeHeader

Bu, belirli bir Weave mesajının Weave profilini ve mesaj türünü ExchangeContext'te belirtir.

nl::WeaveExchange::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 ileri 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 mesaj şifreleme anahtarı hakkında bilgiler içerir.

nl::Weave::WeaveMsgEncryptionKeyCache

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

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

Kimlik doğrulama isteklerini onaylama ve durum raporları gönderme işlemlerini kapsayan, kumaş durumu ve exchange yöneticisi için ortak veri üyesi depolama alanı sağlayan Weave profili istenmeyen yanıt verenlerinin (sunucular) uygulanması için yaygın olarak kullanılan temel nesne.

nl::Weave::WeaveServerAuthBase

Weave sunucusu yetki verilen nesnelerinin uygulanması için genel bir temel sınıf.

nl::Weave::WeaveSessionKey

Weave oturum anahtarı hakkında bilgiler içerir.

nl::WeaveSessionState:WeaveSessionState

Başka bir düğümle ileti göndermek/almak için gereken iletişim durumunu ifade eder.

Struct

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

WRMP yapılandırması.

nl::Weave::WeaveMessageInfo

Gönderme veya alınma sürecindeki bir Weave mesajı hakkında bilgi.

Birlikler

nl::Weave::WeaveEncryptionKey

Ad alanları

nl::Doku::ASN1

Bu ad alanı, Soyut Söz Dizimi Notasyonu (ASN.1) ile çalışmak için Weave'deki tüm arayüzleri içerir.

nl::Aksiyon::Kripto

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

nl::Weave::DeviceLayer
nl::Weave::DeviceManager
nl::Weave::Kodlama

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'deki tüm arayüzleri içerir.

nl::Weave::Platform
nl::Weave::Profiller

Bu ad alanı, Weave for Weave profillerindeki hem Common hem de Nest Labs sağlayıcısına özel tüm arayüzleri içerir.

nl::Weave::SecuritySupport
nl::Weave::Stats
nl::Weave::Destek
nl::Weave::Sistem
nl::Weave::TLV

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

nl::Weave::Sıcak

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

Sıralamalar

@21

 @21
Özellikler
kFlagAckPending

Gönderilmekte olan bir ileti için yanıt bekleniyorsa.

kFlagAutoReleaseConnection

Exchange bağlamı serbest bırakıldığında ileti şifreleme anahtarını otomatik olarak 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'in başlangıcıdır.

kFlagDropAck

Belirlendiğinde, UDP üzerinden bir mesaj gönderildiğinde otomatik olarak onay isteyin.

kFlagMsgRcvdFromPeer

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

Bu bayrak, göndermek üzere olduğu yanıt mesajı için onay istemesinin gerekip gerekmediğine karar vermek üzere uygulama tarafından okunur. Bu işaretleme, benzerin WRMP kullanıp kullanmadığını da belirtebilir.

kFlagPeerRequestedAck

Bu politika ayarlandığında geri döndürülmeyi 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 öğesini 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ü, sertifikanın amacını veya uygulamasını tanımlayan bir etikettir. Sertifika türleri, ilgili sertifikaların özellikleri olarak taşınmaz. Bunun yerine sertifikanın yapısı ve/veya kullanıldığı bağlamdan türetilir. Sertifika türü numaralandırması, yaygın olarak kullanılan sertifika uygulamalarını açıklayan, önceden tanımlanmış bir değerler grubu içerir. Geliştiriciler ayrıca sertifika türü değer aralığını, özel sertifikaları veya benzersiz güvenlik özelliklerine sahip sertifikaları açıklayan uygulamaya özel türlerle 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ın sunduğu sertifika türünden etkilenir.

Özellikler
kCertType_AccessToken

Weave erişim jetonu sertifikası.

kCertType_AppDefinedBase

Uygulamaya özel sertifika türleri >= bu değere sahip olmalıdır.

kCertType_CA

Bir 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ürde.

kCertType_Max

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

kCertType_NotSpecified

Sertifika türü belirtilmedi.

kCertType_ServiceEndpoint

Weave hizmeti uç nokta sertifikası.

@40

 @40

Şifre tabanlı bir kimlik doğrulama protokolünde kullanılan şifrenin kaynağını tanımlar (ör.

Dokuma PASE)

@41

 @41
Özellikler
kWeaveAuthModeCategory_AppDefinedBase

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

kWeaveAuthModeCategory_CASE

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

kWeaveAuthModeCategory_General

Eş, bir dizi genel mekanizmadan yararlanarak kimliği doğrulanmıştır.

kWeaveAuthModeCategory_GroupKey

Eş, paylaşılan grup anahtarı kullanılarak kimliği doğrulandı.

kWeaveAuthModeCategory_PASE

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

kWeaveAuthModeCategory_TAKE

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

kWeaveAuthMode_CASE_AccessToken

Eş, kimlik doğrulama amaçlı Weave erişim jetonu sertifikasıyla CASE kullanılarak doğrulandı.

kWeaveAuthMode_CASE_AnyCert

Rastgele sertifika veya bilinmeyen türde bir sertifika ile CASE kullanılarak benzerin kimliği doğrulandı.

kWeaveAuthMode_CASE_Device

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

kWeaveAuthMode_CASE_GeneralCert

Genel veya belirli olmayan bir sertifika türüyle CASE kullanılarak benzerin kimliği doğrulandı.

kWeaveAuthMode_CASE_ServiceEndPoint

Eş, Weave hizmet uç nokta sertifikasıyla CASE kullanılarak kimlik doğrulandı.

kWeaveAuthMode_NotSpecified

Kimlik doğrulama modu belirtilmedi.

kWeaveAuthMode_PASE_PairingCode

Eş, cihaz eşleme koduyla PASE kullanılarak doğrulandı.

kWeaveAuthMode_TAKE_IdentificationKey

Eşin kimlik doğrulama anahtarıyla Fetch kullanılarak kimliği doğrulanmıştır.

kWeaveAuthMode_Unauthenticated

Eşin kimliği doğrulanmamış.

@42

 @42
Özellikler
kFabricSecretScope_All

Tüm cihazlarda karşılık gelen kumaş gizli anahtarı olabilir.

@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

Ağ ileti şifreleme uygulama anahtarı ayırıcı 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ış bir Weave mesajının başlığıyla ilgili tanımlar.

Özellikler
kWeaveHeaderFlag_DestNodeId

Hedef düğüm kimliğinin Weave ileti üstbilgisinde bulunduğunu belirtir.

kWeaveHeaderFlag_MsgCounterSyncReq

Gönderenin ileti sayaç senkronizasyonu istediğini belirtir.

kWeaveHeaderFlag_SourceNodeId

Kaynak düğüm kimliğinin Weave mesaj başlığında 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

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

kEUI64_IG_Individual

Tek bir EUI-64 tanımlayıcısını gösteren Bireysel/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 ayrı bir adres olduğunu belirtir. 1 değeri, kimliğin bir grup adresi olduğunu belirtir.

kEUI64_UL_Local

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

kEUI64_UL_Mask

EUI-64 tanımlayıcısı içinde Evrensel/Yerel (U/L) biti için bit maskesi.

0 değeri, kimliğin Evrensel olarak (global) uygulandığını belirtir. 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 Dokuma Düğümü Kimlikleri.

Özellikler
kMaxAlwaysLocalWeaveNodeId

Bu değere eşit veya bu değerden büyük ağ tanımlayıcıları test etmek için yerel olarak kabul edilir.

WeaveEncryptionType

 WeaveEncryptionType

Weave mesajı için şifreleme türleri.

Özellikler
kWeaveEncryptionType_AES128CTRSHA1

HMAC-SHA-1 mesaj bütünlüğüyle AES-128-TO şifrelemesi kullanılarak şifrelenen mesaj.

kWeaveEncryptionType_None

İleti şifrelenmedi.

WeaveExchangeİşaretleri

 WeaveExchangeFlags

Weave Exchange üst bilgi işareti bitleri.

Özellikler
kWeaveExchangeFlag_AckId

Mevcut mesajın daha önce alınan bir mesaj için onay mesajı olduğunda ayarlanması.

kWeaveExchangeFlag_Initiator

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

kWeaveExchangeFlag_NeedsAck

Geçerli iletinin alıcıdan ne zaman onay istediğini ayarlayın.

WeaveExchangeSürümü

 WeaveExchangeVersion

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

WeaveMessageİşaretleri

 WeaveMessageFlags

Gelen veya giden Weave mesajıyla 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

Hedef düğüm kimliğinin Weave ileti üstbilgisinde bulunduğunu belirtir.

kWeaveMessageFlag_DuplicateMessage

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

kWeaveMessageFlag_FromInitiator

İletinin kaynağının Weave exchange'i başlattığını belirtir.

kWeaveMessageFlag_MessageEncoded

Weave mesajının zaten kodlandığını belirtir.

kWeaveMessageFlag_MsgCounterSyncReq

Gönderenin benzerleri için ileti sayacı senkronizasyonu 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önderenin onay isteğinde bulunduğunu belirtir.

kWeaveMessageFlag_RetainBuffer

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 mesaj başlığında bulunduğunu belirtir.

kWeaveMessageFlag_TunneledData

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

kWeaveMessageFlag_ViaEphemeralUDPPort

İletinin geçici 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 kare biçimine göre uygun mesaj sürümünü seçer. Varsayılan olarak mesaj sürümü kWeaveMessageVersion_V1'dir. Örneğin, Weave Güvenilir Mesajlaşma kullanılırken sürüm kWeaveMessageVersion_V2'dir.

Özellikler
kWeaveMessageVersion_Unspecified

Mesaj sürümü belirtilmedi.

kWeaveMessageVersion_V1

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

kWeaveMessageVersion_V2

İleti üstbilgisi biçimi V2.

WeaveSubnetId

 WeaveSubnetId

Weave, tipik cihazlarda ayırt edilen 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ı, 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 boş 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

Mesaj dizisi alarmı radyo arayüzü alt ağ numarası.

kWeaveSubnetId_ThreadMesh

Mesaj dizisi örgü radyo arayüzü alt ağ tanımlayıcısı.

kWeaveSubnetId_WiFiAP

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

WeaveVendorId

 WeaveVendorId

Türler

FabricSecretRotationScheme

uint8_t FabricSecretRotationScheme

FabricSecretScope

uint8_t FabricSecretScope

Kumaş sırrına sahip olabilecek ve bu cihazları kullanabilecek cihazların kategorisini belirtir.

WeaveAuthMode

uint16_t WeaveAuthMode

Bir eş düğümünün kimlik doğrulamasının nasıl yapılacağını tanımlar.

WeaveAuthMode, bir eş düğümünün hangi Weave mesaj değişimi sırasında kimlik doğrulaması yapıldığını veya kimlik doğrulamasının nasıl yapıldığını açıklar. Başlatılan bir bağlamda uygulamalar, bir exchange için istenen benzerler kimlik doğrulama modunu ifade etmek için WeaveAuthMode'u kullanır. Böylece Weave güvenlik ve mesajlaşma katmanlarına, istenen moda ulaşmaları veya iletişimde başarısız olmaları için talimat verilir. Yanıt veren bir bağlamda WeaveAuthMode, istekte bulunan düğümün (eşin) nasıl doğrulandığını tanımlar ve yanıt veren uygulamanın bu bilgilere dayanarak erişim denetimlerini zorunlu kılmasına izin verir.

Gelen bir Weave mesajına atanan WeaveAuthMode, bu mesajı şifrelemek için kullanılan anahtarın yapısıyla ilgilidir. WeaveAuthMode, anahtarın oluşturulma mekanizmasından ve kilit kuruluş sırasında 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 bir dizi önceden tanımlanmış değer içerir. Bunlar, ana 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ı için şifreleme türleri.

WeaveExchangeİşaretleri

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Weave Exchange üst bilgi işareti bitleri.

WeaveExchangeSürümü

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

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

WeaveMessageİşaretleri

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

Gelen veya giden Weave mesajıyla ilişkili işaretler.

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

WeaveMessageBaşlık

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

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

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

WeaveSubnetId

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave, tipik cihazlarda ayırt edilen 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ı, 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

KumaşDurumu

NL_DLL_EXPORT WeaveFabricState FabricState

Mesaj Katmanı

NL_DLL_EXPORT WeaveMessageLayer MessageLayer

Güvenlik Merkezi

NL_DLL_EXPORT WeaveSecurityManager SecurityMgr

WeaveConnection (Bağ Kurma)

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

Bu değer, Nest Weave Message EK ve AK &quot ifadesinin ilk 4 baytını temsil eder.

İşlevler

AppGroupMasterKeyIdFromAuthMode değeri

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

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

CASEAuthMod

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

Belirli bir sertifika türü için ilgili CASE kimlik doğrulama modunu döndürür.

CertTypeFromAuthMode değeri

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

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

Kod ÇözmeAlanı

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
)

EncodeHeaderAlanı

uint16_t EncodeHeaderField(
  const WeaveMessageInfo *msgInfo
)

Bul İleti Adı

const char * FindMessageName(
  uint32_t inProfileId,
  uint8_t inMsgType
)

Bul ProfilAdı

const char * FindProfileName(
  uint32_t inProfileId
)

FormatWeaveHatası

bool FormatWeaveError(
  char *buf,
  uint16_t bufSize,
  int32_t err
)

Weave hatası dikkate alındığında, hatayı açıklayan, NULL sonlandırılmış bir C dizesi döndürülür.

Ayrıntılar
Parametreler
[in] buf
Hata dizesinin yerleştirileceği arabellek.
[in] bufSize
Sağlanan arabellin bayt cinsinden boyutu.
[in] err
Açıklanacak hata.
İadeler
true (Sağlanan arabelleğe bir açıklama dizesi yazılırsa).
İadeler
false. Sağlanan hata bir 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 benzersiz olmasını sağlamak 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ği başarıyla oluşturulduysa.

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

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

Ayrıntılar
İadeler
32 bit imzasız fibonacci numarası.

GetMessageName (GetMessageAdı)

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

Profil Profilinin Adı

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

Bu işlev, 16 bit imzasız rastgele sayı oluşturur.

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

AlmaRandU32

uint32_t GetRandU32(
  void
)

Bu işlev, 32 bit imzasız rastgele sayı üretir.

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

GetRandU64

uint64_t GetRandU64(
  void
)

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

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

AlmaRandU8

uint8_t GetRandU8(
  void
)

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

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

Tedarikçi firma Adı

const char * GetVendorName(
  uint16_t vendorId
)

GrupKeyAuthMode

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

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

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

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

Testin kolaylaştırmak için, #kMaxEveryLocalWeaveNodeId (65535) değerinden küçük veya buna eşit olan düğüm tanımlayıcıları 'local' olarak kabul edilir ve evrensel/yerel bitleri sıfır olarak ayarlanır. Bu, karşılık gelen IPv6 adreslerinin dize temsilini basitleştirir. Örneğin, 10 düğüm tanımlayıcısı için ULA 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ı.

IsCASEAuthMode:

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, Weave CASE protokolünü temel alıyorsa doğrudur.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, sertifikayla ilişkili özel bir anahtarın sahibiyse doğrudur.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, paylaşılan bir grup anahtarının sahipliğini temel alıyorsa doğrudur.

IsPASEAuthMod

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, Weave PASE protokolünü temel alıyorsa doğrudur.

IsPasswordAuthMode

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, paylaşılan bir şifreye dayalıysa true değerini alır.

IsTakeAuthMode:

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

Kimlik doğrulama modu, Weave take protokolüne dayalıysa true (doğru) değerini alır.

IsWRMPControlMessage (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_DizeAlanıVal

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
)

PASEAuthModu

WeaveAuthMode PASEAuthMode(
  uint8_t pwSource
)

Belirli bir şifre kaynağı için karşılık gelen bir 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'da

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 kumaş tanımlayıcısını IPv6 ULA global tanımlayıcısına dönüştürün.

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

Ayrıntılar
Parametreler
[in] fabricId
Dokuma kumaş tanımlayıcısı.
İadeler
eşlenen IPv6 global 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.

WeaveNodeAddrToStrek

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.

WeaveNodeIdToIPv6InterfaceId

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. Bunlar, RFC-3513 uyarınca evrensel/yerel biti tersine çevirerek arayüz tanımlayıcılarına dönüştürülür (LSB'yi 0 olarak sayan 57 bit).

Testin kolaylaştırmak için, #kMaxEveryLocalWeaveNodeId (65535) değerinden küçük veya buna eşit olan düğüm tanımlayıcıları 'local' olarak kabul edilir ve evrensel/yerel bitleri sıfır olarak ayarlanır. Bu, karşılık gelen IPv6 adreslerinin dize temsilini basitleştirir. Örneğin, 10 düğüm tanımlayıcısı için ULA 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
)