nl:: Weave
Özet
Typedef'ler |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
Kumaş sırrı içerebilen ve kullanabilen cihazların kategorisini tanımlar. |
WeaveAuthMode
|
typedefuint16_t
Bir eş düğümün kimliğinin nasıl doğrulandığını tanımlar. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Weave mesajının şifreleme türleri. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Weave Exchange başlık işaret bitleri. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
Weave Exchange başlık sürümü. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
Gelen veya giden Weave iletisiyle ilişkili işaretler. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
Weave Message biçiminin sürümü. |
WeaveSubnetId
|
typedefenum 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:: |
Bir Weave iletişiminin amaçlanan hedefini ve ilişkili yapılandırma bilgilerini yakalar. |
nl:: |
Bir sayacı tam sayı değeri olarak yönetme arayüzü. |
nl:: |
Bu sınıf, iki veya daha fazla düğüm arasında devam eden bir görüşmeyi (ExchangeContext) temsil eder. |
nl:: |
Bu soyut yetki verilen sınıf, kumaş durumu değişikliklerini iletir. |
nl:: |
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:: |
|
nl:: |
Monoton olarak artan bir sayacı tam sayı değeri olarak yönetmeye yönelik bir sınıf. |
nl:: |
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:: |
Örgü Bağlantı sınıfının tanımı. |
nl:: |
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:: |
|
nl:: |
Bu, ExchangeContext içindeki belirli bir Weave mesajının Weave profilini ve mesaj türünü belirtir. |
nl:: |
Bu sınıf, ExchangeContexts'i diğer Weave düğümleriyle yönetmek için kullanılır. |
nl:: |
WeaveFabricState'in ileriye yönelik bildirimi. |
nl:: |
Örgü Anahtar tanımlayıcısının tanımı. |
nl:: |
Diğer Weave düğümleriyle iletişimi yöneten WeaveMessageLayer sınıfının tanımı. |
nl:: |
Weave ileti şifreleme anahtarıyla ilgili bilgileri içerir. |
nl:: |
Weave ileti şifreleme anahtarları için anahtar önbelleği. |
nl:: |
|
nl:: |
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 sunucusu yetki verme nesnelerini uygulamak için ortak bir temel sınıf. |
nl:: |
Weave oturum anahtarıyla ilgili bilgileri içerir. |
nl:: |
Başka bir düğümle mesaj göndermek/almak için gereken iletişim durumunu aktarır. |
Yapılar |
|
---|---|
nl:: |
|
nl:: |
WRMP yapılandırması. |
nl:: |
Gönderme veya alınma sürecinde olan bir Weave iletisiyle ilgili bilgiler. |
Birlikler |
|
---|---|
nl:: |
Ad alanları |
|
---|---|
nl:: |
Bu ad alanı, Weave içinde Abstract Syntax Notation One (ASN.1) ile çalışmaya yönelik tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, ortak kriptografik destek için Weave'deki tüm arayüzleri içerir. |
nl:: |
|
nl:: |
|
nl:: |
Bu ad alanı, aşağıdakiler için işlevler sağlar: |
nl:: |
Bu ad alanı, paylaşılan günlük kaydı desteği için Weave içindeki tüm arayüzleri içerir. |
nl:: |
|
nl:: |
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:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Weave TLV biçiminde kodlanmış verilerle çalışma tanımları. |
nl:: |
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ı. |
@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_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 |
|
||||||
İ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 |
|
||
Değerleri Döndür |
|
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 |
|
||
İ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 |
|
||
İ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 |
|
||
İ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 )