nl:: Önde
Özet
Türler |
|
---|---|
FabricSecretRotationScheme
|
Türuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
Kumaş sırrına sahip olabilecek ve bu cihazları kullanabilecek cihazların kategorisini belirtir. |
WeaveAuthMode
|
Türuint16_t
Bir eş düğümünün kimlik doğrulamasının nasıl yapılacağını tanımlar. |
WeaveEncryptionKey
|
Tür |
WeaveEncryptionType
|
Türenum nl::Weave::WeaveEncryptionType
Weave mesajı için şifreleme türleri. |
WeaveExchangeFlags
|
Türenum nl::Weave::WeaveExchangeFlags
Weave Exchange üst bilgi işareti bitleri. |
WeaveExchangeVersion
|
Türenum nl::Weave::WeaveExchangeVersion
Weave Exchange başlık sürümü. |
WeaveMessageFlags
|
Türenum nl::Weave::WeaveMessageFlags
Gelen veya giden Weave mesajıyla ilişkili işaretler. |
WeaveMessageHeader
|
Türstruct WeaveMessageInfo
|
WeaveMessageVersion
|
Türenum nl::Weave::WeaveMessageVersion
Weave Message biçiminin sürümü. |
WeaveSubnetId
|
Türenum 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 iletişiminin hedeflenen hedefini ve ilişkili yapılandırma bilgilerini yakalar. |
nl:: |
Bir sayaçı, tam sayı değeri olarak yönetmek için kullanılan 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 yetki sınıf, kumaş durumundaki değişiklikleri bildirir. |
nl:: |
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:: |
|
nl:: |
Tek renkle artan bir sayaçı tam sayı değeri olarak yönetme sınıfı. |
nl:: |
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 Connection sınıfının tanımı. |
nl:: |
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:: |
|
nl:: |
Bu, belirli bir Weave mesajının Weave profilini ve mesaj türünü ExchangeContext'te belirtir. |
nl:: |
Bu sınıf, ExchangeContext'leri diğer Weave düğümleriyle yönetmek için kullanılır. |
nl:: |
WeaveFabricState için ileri 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 mesaj şifreleme anahtarı hakkında bilgiler içerir. |
nl:: |
Weave mesaj şifreleme anahtarları için anahtar önbelleği. |
nl:: |
|
nl:: |
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 sunucusu yetki verilen nesnelerinin uygulanması için genel bir temel sınıf. |
nl:: |
Weave oturum anahtarı hakkında bilgiler içerir. |
nl:: |
Başka bir düğümle ileti göndermek/almak için gereken iletişim durumunu ifade eder. |
Struct |
|
---|---|
nl:: |
|
nl:: |
WRMP yapılandırması. |
nl:: |
Gönderme veya alınma sürecindeki bir Weave mesajı hakkında bilgi. |
Birlikler |
|
---|---|
nl:: |
Ad alanları |
|
---|---|
nl:: |
Bu ad alanı, Soyut Söz Dizimi Notasyonu (ASN.1) ile çalışmak için Weave'deki tüm arayüzleri içerir. |
nl:: |
Bu ad alanı, paylaşılan 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'deki tüm arayüzleri içerir. |
nl:: |
|
nl:: |
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:: |
|
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 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_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 " 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 |
|
||||||
İ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 |
|
||
Döndürülen Değerler |
|
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 |
|
||
İ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 |
|
||
İ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 |
|
||
İ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 )