nl:: Weave
Özet
Türdefler |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
Kumaş gizli anahtara sahip olup kullanabileceği cihazların kategorisini tanımlar. |
WeaveAuthMode
|
typedefuint16_t
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şareti bitleri. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
Weave Exchange başlık sürümü. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
Gelen veya giden Weave iletileriyle 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 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 iletişiminin amaçlanan hedefini ve ilişkili yapılandırma bilgilerini yakalar. |
nl:: |
Sayacı tam sayı değeri olarak yönetmek için kullanılan bir arayüz. |
nl:: |
Bu sınıf, iki veya daha fazla düğüm arasında devam eden bir ileti dizisini (ExchangeContext) temsil eder. |
nl:: |
Bu soyut delege sınıfı, kumaş durumu değişikliklerini bildirir. |
nl:: |
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:: |
|
nl:: |
Tekdüze şekilde artan bir sayacı tam sayı değeri olarak yönetmeye yönelik bir sınıf. |
nl:: |
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 Connection sınıfının tanımı. |
nl:: |
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:: |
|
nl:: |
Bu, ExchangeContext içindeki belirli bir Weave iletisinin Weave profilini ve ileti türünü belirtir. |
nl:: |
Bu sınıf, ExchangeContext'leri diğer Weave düğümleriyle yönetmek için kullanılır. |
nl:: |
WeaveFabricState için ileriye dönük beyan. |
nl:: |
Weave Key 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:: |
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 sunucu yetki verilmiş 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 iletir. |
Yapılar |
|
---|---|
nl:: |
|
nl:: |
WRMP yapılandırması. |
nl:: |
Gönderme veya alma sürecinde olan bir Weave mesajı hakkında bilgi. |
Birlikler |
|
---|---|
nl:: |
Ad alanları |
|
---|---|
nl:: |
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:: |
Bu ad alanı, paylaşılan şifreleme desteği için Weave içindeki 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ı, Weave for Weave profilleri içinde hem Common hem de Nest Labs tedarikçisine özel tüm arayüzleri içerir. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Weave TLV biçiminde kodlanmış verilerle çalışmaya ilişkin tanımlar. |
nl:: |
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_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 |
|
||||||
İ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 |
|
||
Döndürülen Değerler |
|
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 |
|
||
İ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 |
|
||
İ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 |
|
||
İ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 )