Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave

Fazit

Aufzählungen

@21{
  kFlagConnectionClosed = 0x0002,
  kFlagAutoRequestAck = 0x0004,
  kFlagDropAck = 0x0008,
  kFlagResponseExpected = 0x0010,
  kFlagAckPending = 0x0020,
  kFlagPeerRequestedAck = 0x0040,
  kFlagMsgRcvdFromPeer = 0x0080,
  kFlagAutoReleaseKey = 0x0100,
  kFlagAutoReleaseConnection = 0x0200,
  kFlagUseEphemeralUDPPort = 0x0400
}
enum
@36 enum
@37 enum
@38{
  kFabricIdDefaultForTest = 1ULL
}
enum
@39{
  kCertType_NotSpecified = 0x00,
  kCertType_General = 0x01,
  kCertType_Device = 0x02,
  kCertType_ServiceEndpoint = 0x03,
  kCertType_FirmwareSigning = 0x04,
  kCertType_AccessToken = 0x05,
  kCertType_CA = 0x06,
  kCertType_AppDefinedBase = 0x7F,
  kCertType_Max = 0xFF
}
enum
Gibt den Zweck oder die Anwendung des Zertifikats an.
@40 enum
Kennzeichnet die Quelle für das Passwort, das in einem passwortbasierten Authentifizierungsprotokoll verwendet wird (z.B.
@41{
  kWeaveAuthMode_NotSpecified = 0x0000,
  kWeaveAuthModeCategory_General = 0x0000,
  kWeaveAuthModeCategory_PASE = 0x1000,
  kWeaveAuthModeCategory_CASE = 0x2000,
  kWeaveAuthModeCategory_TAKE = 0x3000,
  kWeaveAuthModeCategory_GroupKey = 0x4000,
  kWeaveAuthModeCategory_AppDefinedBase = 0xC000,
  kWeaveAuthMode_Unauthenticated = kWeaveAuthModeCategory_General | 0x001,
  kWeaveAuthMode_PASE_PairingCode = kWeaveAuthModeCategory_PASE | kPasswordSource_PairingCode,
  kWeaveAuthMode_CASE_AnyCert = kWeaveAuthModeCategory_CASE | kCertType_NotSpecified,
  kWeaveAuthMode_CASE_GeneralCert = kWeaveAuthModeCategory_CASE | kCertType_General,
  kWeaveAuthMode_CASE_Device = kWeaveAuthModeCategory_CASE | kCertType_Device,
  kWeaveAuthMode_CASE_ServiceEndPoint = kWeaveAuthModeCategory_CASE | kCertType_ServiceEndpoint,
  kWeaveAuthMode_CASE_AccessToken = kWeaveAuthModeCategory_CASE | kCertType_AccessToken,
  kWeaveAuthMode_TAKE_IdentificationKey = kWeaveAuthModeCategory_TAKE | 0x001
}
enum
@42{
  kFabricSecretScope_All = 0x00
}
enum
@43{
  kTestKey_AES128CTRSHA1_DataKeyByte = 0xAB,
  kTestKey_AES128CTRSHA1_IntegrityKeyByte = 0xBA
}
enum
@44 enum
Größe der Diversifier-Anwendungsschlüssel für die Nachrichtenverschlüsselung.
@45 enum
@53 enum
@54{
  kWeavePeerDescription_MaxLength = 100
}
enum
@55{
  kWeaveHeaderFlag_DestNodeId = 0x0100,
  kWeaveHeaderFlag_SourceNodeId = 0x0200,
  kWeaveHeaderFlag_TunneledData = 0x0400,
  kWeaveHeaderFlag_MsgCounterSyncReq = 0x0800
}
enum
Definitionen, die sich auf den Header einer codierten Weave-Nachricht beziehen
@56{
  kEUI64_UL_Mask = 0x0200000000000000ULL,
  kEUI64_UL_Unversal = 0,
  kEUI64_UL_Local = kEUI64_UL_Mask,
  kEUI64_IG_Mask = 0x0100000000000000ULL,
  kEUI64_IG_Individual = 0,
  kEUI64_IG_Group = kEUI64_IG_Mask
}
enum
Bit-Felddefinitionen für IEEE EUI-64-IDs
@57{
  kMaxAlwaysLocalWeaveNodeId = 0x000000000000FFFFULL
}
enum
Spezielle Bereiche von Weave-Knoten-IDs.
WeaveEncryptionType{
  kWeaveEncryptionType_None = 0,
  kWeaveEncryptionType_AES128CTRSHA1 = 1
}
enum
Die Verschlüsselungstypen für die Weave-Nachricht.
WeaveExchangeFlags{
  kWeaveExchangeFlag_Initiator = 0x1,
  kWeaveExchangeFlag_AckId = 0x2,
  kWeaveExchangeFlag_NeedsAck = 0x4
}
enum
Die Weave Exchange-Header-Bits
WeaveExchangeVersion enum
Die Weave Exchange-Header-Version.
WeaveMessageFlags{
  kWeaveMessageFlag_ReuseMessageId = 0x00000010,
  kWeaveMessageFlag_ReuseSourceId = 0x00000020,
  kWeaveMessageFlag_DelaySend = 0x00000040,
  kWeaveMessageFlag_RetainBuffer = 0x00000080,
  kWeaveMessageFlag_MessageEncoded = 0x00001000,
  kWeaveMessageFlag_DefaultMulticastSourceAddress = 0x00002000,
  kWeaveMessageFlag_PeerRequestedAck = 0x00004000,
  kWeaveMessageFlag_DuplicateMessage = 0x00008000,
  kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized = 0x00010000,
  kWeaveMessageFlag_FromInitiator = 0x00020000,
  kWeaveMessageFlag_ViaEphemeralUDPPort = 0x00040000,
  kWeaveMessageFlag_MulticastFromLinkLocal = kWeaveMessageFlag_DefaultMulticastSourceAddress,
  kWeaveMessageFlag_DestNodeId = kWeaveHeaderFlag_DestNodeId,
  kWeaveMessageFlag_SourceNodeId = kWeaveHeaderFlag_SourceNodeId,
  kWeaveMessageFlag_TunneledData = kWeaveHeaderFlag_TunneledData,
  kWeaveMessageFlag_MsgCounterSyncReq = kWeaveHeaderFlag_MsgCounterSyncReq
}
enum
Flags, die mit einer ein- oder ausgehenden Weave-Nachricht verknüpft sind.
WeaveMessageVersion{
  kWeaveMessageVersion_Unspecified = 0,
  kWeaveMessageVersion_V1 = 1,
  kWeaveMessageVersion_V2 = 2
}
enum
Die Version des Weave Message-Formats.
WeaveSubnetId{
  kWeaveSubnetId_NotSpecified = 0,
  kWeaveSubnetId_PrimaryWiFi = 1,
  kWeaveSubnetId_ThreadAlarm = 2,
  kWeaveSubnetId_WiFiAP = 3,
  kWeaveSubnetId_MobileDevice = 4,
  kWeaveSubnetId_Service = 5,
  kWeaveSubnetId_ThreadMesh = 6
}
enum
Weave hat einige reservierte Subnetznummern für differenzierte Netzwerkschnittstellen auf typischen Geräten.
WeaveVendorId enum

Typdef.

FabricSecretRotationScheme Typdef
uint8_t
FabricSecretScope nl::Weave::FabricSecretScope
uint8_t
Gibt die Kategorie der Geräte an, die Stoff-Secrets haben und verwenden können.
WeaveAuthMode Typdef
uint16_t
Erkennt, wie ein Peer-Knoten authentifiziert wird.
WeaveEncryptionKey Typdef
WeaveEncryptionType Typdef
enum nl::Weave::WeaveEncryptionType
Die Verschlüsselungstypen für die Weave-Nachricht.
WeaveExchangeFlags Typdef
enum nl::Weave::WeaveExchangeFlags
Die Weave Exchange-Header-Bits
WeaveExchangeVersion Typdef
enum nl::Weave::WeaveExchangeVersion
Die Weave Exchange-Header-Version.
WeaveMessageFlags Typdef
enum nl::Weave::WeaveMessageFlags
Flags, die mit einer ein- oder ausgehenden Weave-Nachricht verknüpft sind.
WeaveMessageHeader Typdef
WeaveMessageVersion Typdef
enum nl::Weave::WeaveMessageVersion
Die Version des Weave Message-Formats.
WeaveSubnetId Typdef
enum nl::Weave::WeaveSubnetId
Weave hat einige reservierte Subnetznummern für differenzierte Netzwerkschnittstellen auf typischen Geräten.

Variablen

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
Schlüsseldiversifizierer, der für die Ableitung von Weave-Nachrichtenverschlüsselung verwendet wird.

Funktionen

AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
uint8_t
Gibt die mit dem Authentifizierungsmodus verknüpfte ID des Masterschlüssels der Anwendung zurück.
CASEAuthMode(uint8_t certType)
WeaveAuthMode
Gibt einen entsprechenden CASE-Authentifizierungsmodus für einen bestimmten Zertifikattyp zurück.
CertTypeFromAuthMode(WeaveAuthMode authMode)
uint8_t
Gibt die Passwortquelle für den angegebenen Authentifizierungsmodus zurück.
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
Aufgrund eines Weave-Fehlers wird ein für Menschen lesbarer NULL-String mit NULL-Zeichenfolge zurückgegeben, der den Fehler beschreibt.
GenerateWeaveNodeId(uint64_t & nodeId)
NL_DLL_EXPORT WEAVE_ERROR
Generiert eine zufällige Weave-Knoten-ID.
GetFibonacciForIndex(uint32_t index)
uint32_t
Diese Funktion generiert 32-Bit-Fibonacci-Zahlen für einen bestimmten 32-Bit-Index.
GetMessageName(uint32_t profileId, uint8_t msgType)
const char *
GetProfileName(uint32_t profileId)
const char *
GetRandU16(void)
uint16_t
Diese Funktion generiert eine 16-Bit-Zufallssignatur.
GetRandU32(void)
uint32_t
Diese Funktion generiert eine nicht signierte 32-Bit-Zufallszahl.
GetRandU64(void)
uint64_t
Diese Funktion generiert eine nicht signierte 64-Bit-Zufallszahl.
GetRandU8(void)
uint8_t
Diese Funktion generiert eine 8-Bit-Zufallssignatur.
GetVendorName(uint16_t vendorId)
const char *
GroupKeyAuthMode(uint32_t keyId)
WeaveAuthMode
Gibt einen entsprechenden Gruppenschlüssel-Authentifizierungsmodus für eine bestimmte Schlüssel-ID zurück.
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
uint64_t
Wandeln Sie eine IPv6-Schnittstellen-ID in eine Weave-Knoten-ID um.
IsCASEAuthMode(WeaveAuthMode authMode)
bool
Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Weave-CASE-Protokoll basiert.
IsCertAuthMode(WeaveAuthMode authMode)
bool
Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Besitz eines privaten Zertifikats basiert, das mit einem Zertifikat verknüpft ist.
IsGroupKeyAuthMode(WeaveAuthMode authMode)
bool
Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Besitz eines freigegebenen Gruppenschlüssels basiert.
IsPASEAuthMode(WeaveAuthMode authMode)
bool
Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Weave-PASE-Protokoll basiert.
IsPasswordAuthMode(WeaveAuthMode authMode)
bool
Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf einem gemeinsamen Passwort basiert.
IsTAKEAuthMode(WeaveAuthMode authMode)
bool
Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Weave-Take-Protokoll basiert.
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
Gibt einen entsprechenden PASE-Authentifizierungsmodus für eine bestimmte Passwortquelle zurück.
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
uint8_t
Gibt die Passwortquelle für den angegebenen Authentifizierungsmodus zurück.
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
Konvertieren Sie eine Weave-Stoff-ID in eine globale IPv6-ULA-Kennung.
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
void
EINGESTELLT: Verwenden Sie stattdessen WeaveMessageLayer::GetPeerDescription().
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
void
EINGESTELLT: Verwenden Sie stattdessen WeaveMessageLayer::GetPeerDescription().
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
uint64_t
Konvertieren Sie eine Weave-Knoten-ID in eine IPv6-Schnittstellen-ID.
max(const _T & a, const _T & b)
const _T &
min(const _T & a, const _T & b)
const _T &

Klassen

nl::Weave::Bindung

Erfassen das gewünschte Ziel einer Weave-Kommunikation und die zugehörigen Konfigurationsinformationen

nl::Weave::Zähler

Eine Schnittstelle zum Verwalten eines Zählers als Ganzzahlwert.

nl::Weave::ExchangeKontext

Diese Klasse stellt eine laufende Unterhaltung (ExchangeContext) zwischen zwei oder mehr Knoten dar.

nl::Weave::FabricStateDelegate,

Diese abstrakte Delegatklasse vermittelt Veränderungen des Stoffstatus.

nl::Weave::HostPortListe

Zum Verwalten und Bearbeiten einer Hostportliste ist eine kompakte, binärcodierte Zusammenstellung von Host- und Port-IDs, die mit Weave Service Directory verknüpft sind.

nl::Weave::JNIUtils (auf Englisch)
nl::Weave::Monotonisch wachsender Zähler

Eine Klasse zum Verwalten eines monoton steigenden Zählers als Ganzzahlwert

nl::Weave::Dauerhafter Zähler

Eine Klasse zum Verwalten eines Zählers als Ganzzahlwert, der für Neustarts beibehalten werden soll.

nl::Weave::WeaveConnection

Die Definition der Weave-Connection-Klasse.

nl::Weave::WeaveConnectionTunnel

Die Definition der WeaveConnectionTunnel-Klasse, bei der ein TCPEndPoints-Paar verwaltet wird, dessen ursprüngliches WeaveConnections-Objekt gekoppelt ist und zwischen dem WeaveMessageLayer alle Daten- und Verbindungsschließungen weiterleitet.

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

Gibt das Weave-Profil und den Nachrichtentyp einer bestimmten Weave-Nachricht in einem ExchangeContext an.

nl::Weave::WeaveExchangeManager

Diese Klasse wird verwendet, um ExchangeContexts mit anderen Weave-Knoten zu verwalten.

nl::Weave::WeaveFabricState

Vorwärtsdeklaration von WeaveFabricState.

nl::Weave::WeaveSchlüssel-ID

Die Definition der Weave-Schlüsselkennung.

nl::Weave::WeaveMessageLayer

Die Definition der WeaveMessageLayer-Klasse, die die Kommunikation mit anderen Weave-Knoten verwaltet.

nl::Weave::WeaveMsgEncryptionSchlüssel

Enthält Informationen zum Verschlüsselungsschlüssel für Weave-Nachrichten.

nl::Weave::WeaveMsgEncryptionKeyCache

Schlüssel-Cache für Weave-Nachrichtenverschlüsselungsschlüssel.

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

Gemeinsames Basisobjekt für die Implementierung von unaufgeforderten Weave-Profilern (Servern), das bzw. die validierte authentifizierte Anfragen enthält und Statusberichte sendet sowie einen gemeinsam genutzten Datenspeicher für Fabric-Status und einen Exchange-Manager bereitstellt.

nl::Weave::WeaveServerDelegateBase.

Eine allgemeine Basisklasse zur Implementierung von Weave-Serverdelegiertenobjekten

nl::Weave::WeaveSitzungsschlüssel

Enthält Informationen zu einem Weave-Sitzungsschlüssel.

nl::Weave::WeaveSessionState festgelegt.

Übermittelt den Kommunikationsstatus, der erforderlich ist, um Nachrichten mit einem anderen Knoten zu senden und zu empfangen.

Strebenklemmen

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

Die WRMP-Konfiguration.

nl::Weave::WeaveMessageInfo

Informationen zu einer Weave-Nachricht, die gerade gesendet oder empfangen wird

Gewerkschaften

nl::Weave::WeaveEncryptionKey

Namespaces

nl::Weave::ASN1

Dieser Namespace enthält alle Schnittstellen in Weave, um mit der Abstraktensyntax Notation One (ASN.1) zu arbeiten.

nl::Weave::Kryptografie

Dieser Namespace enthält alle Weave-Schnittstellen zur gemeinsamen kryptografischen Unterstützung.

nl::Weave::Geräteschicht
nl::Weave::Gerätemanager
nl::Weave::Codierung

Dieser Namespace bietet Funktionen für:

nl::Weave::Protokollierung

Dieser Namespace enthält alle Schnittstellen in Weave, um den gemeinsamen Logging zu unterstützen.

nl::Weave::Plattform
nl::Weave::Profile

Dieser Namespace enthält alle Schnittstellen in Weave für Weave-Profile, sowohl Common- als auch Nest Labs-anbieterspezifisch.

nl::Weave::Sicherheitssupport
nl::Weave::Statistik
nl::Weave::Support
nl::Weave::System
nl::Weave::TLV

Definitionen für das Arbeiten mit Daten, die im Weave-TLV-Format codiert sind.

nl::Weave::Warm

Dieser Namespace enthält Schnittstellen für das Weave Address and Routing Module, ein portables Modul zur Konfiguration von Weave-IP-Adressen und Routes.

Aufzählungen

@21

 @21
Attribute
kFlagAckPending

Wenn für eine gesendete Nachricht eine Antwort erwartet wird.

kFlagAutoReleaseConnection

Geben Sie den Verschlüsselungsschlüssel der Nachricht automatisch frei, wenn der Anzeigenplattformkontext freigegeben wird.

kFlagAutoReleaseKey

Gibt an, dass mindestens eine Nachricht von Peer in diesem Exchange-Kontext empfangen wurde.

kFlagAutoRequestAck

Dieser Kontext war mit einer WeaveConnection verknüpft.

kFlagConnectionClosed

Dieser Kontext ist der Initiator der Anzeigenplattform.

kFlagDropAck

Durch Festlegen dieser Option wird automatisch eine Bestätigung angefordert, wenn eine Nachricht über UDP gesendet wird.

kFlagMsgRcvdFromPeer

Gibt an, dass mindestens eine auf dieser Anzeigenplattform empfangene Nachricht eine Bestätigung angefordert hat.

Dieses Flag wird von der Anwendung gelesen, um zu entscheiden, ob eine Bestätigung für die zu sendende Antwortnachricht angefordert werden soll. Dieses Flag kann auch angeben, ob ein Peer WRMP verwendet.

kFlagPeerRequestedAck

Gibt an, dass eine Bestätigung bestätigt werden muss, bevor sie zurückgesendet wird.

kFlagResponseExpected

Nur intern und Fehlersuche: Wenn diese Option festgelegt ist, sendet die Anzeigenplattform keine Bestätigung.

kFlagUseEphemeralUDPPort

Lassen Sie die zugehörige WeaveConnection automatisch freizugeben, wenn der Anzeigenplattformkontext freigegeben wird.

@36

 @36

@37

 @37

@88

 @38
Attribute
kFabricIdDefaultForTest

Standard-Fabric-ID, die nur zu Testzwecken verwendet werden soll.

@39

 @39

Gibt den Zweck oder die Anwendung des Zertifikats an.

Ein Zertifikattyp ist ein Label, das den Zweck oder die Anwendung eines Zertifikats beschreibt. Zertifikatstypen werden nicht als Attribute der entsprechenden Zertifikate übernommen, sondern aus der Struktur des Zertifikats und/oder dem Kontext abgeleitet, in dem sie verwendet werden. Die Aufzählung der Zertifikatstypen enthält eine Reihe vordefinierter Werte, die häufig verwendete Zertifikatanwendungen beschreiben. Entwickler können den Wertbereich des Zertifikatstyps auch mit anwendungsspezifischen Typen erweitern, die benutzerdefinierte Zertifikate oder Zertifikate mit eindeutigen Sicherheitseigenschaften beschreiben.

Zertifikatstypen werden hauptsächlich bei der Implementierung von Zugriffssteuerungsrichtlinien verwendet, wobei der Zugriff auf Anwendungsfunktionen vom Typ des Antragstellers beeinflusst wird.

Attribute
kCertType_AccessToken

Ein Weave-Zugriffstoken-Zertifikat.

kCertType_AppDefinedBase

Anwendungsspezifische Zertifikatstypen sollten den Wert ">=" haben.

kCertType_CA

Ein CA-Zertifikat.

kCertType_Device

Ein Weave-Gerätezertifikat.

kCertType_FirmwareSigning

Ein Weave-Firmware-Signaturzertifikat.

kCertType_General

Das Zertifikat hat einen allgemeinen oder nicht spezifischen Typ.

kCertType_Max

Zertifikattypen dürfen nicht größer als dieser Wert sein.

kCertType_NotSpecified

Der Zertifikattyp wurde nicht angegeben.

kCertType_ServiceEndpoint

Ein Weave-Dienst-Endpunktzertifikat.

@40

 @40

Kennzeichnet die Quelle für das Passwort, das in einem passwortbasierten Authentifizierungsprotokoll verwendet wird (z.B.

(Weave PASE)

@41

 @41
Attribute
kWeaveAuthModeCategory_AppDefinedBase

Basiswert für anwendungsdefinierte Authentifizierungskategorien.

kWeaveAuthModeCategory_CASE

Peer authentifiziert mit Weave CASE-Protokoll.

kWeaveAuthModeCategory_General

Peer authentifiziert sich mit einem von mehreren allgemeinen Mechanismen.

kWeaveAuthModeCategory_GroupKey

Peer authentifiziert sich mit einem freigegebenen Gruppenschlüssel.

kWeaveAuthModeCategory_PASE

Peer-Authentifizierung mit Weave-PASE-Protokoll.

kWeaveAuthModeCategory_TAKE

Peer authentifiziert sich mit Weave-take-Protokoll.

kWeaveAuthMode_CASE_AccessToken

Peer authentifiziert sich mit CASE mit Weave-Zugriffstoken-Zertifikat.

kWeaveAuthMode_CASE_AnyCert

Peer authentifiziert sich mit CASE mit beliebigem Zertifikat oder Zertifikat unbekannter Art.

kWeaveAuthMode_CASE_Device

Peer authentifiziert sich mit CASE mit Weave-Gerätezertifikat.

kWeaveAuthMode_CASE_GeneralCert

Peer authentifiziert sich mit CASE mit einem allgemeinen oder nicht spezifischen Zertifikattyp.

kWeaveAuthMode_CASE_ServiceEndPoint

Peer authentifiziert sich mit CASE mit Weave-Dienst-Endpunktzertifikat.

kWeaveAuthMode_NotSpecified

Authentifizierungsmodus nicht angegeben.

kWeaveAuthMode_PASE_PairingCode

Peer-Authentifizierung mit PASE mit Gerätekopplungscode.

kWeaveAuthMode_TAKE_IdentificationKey

Peer authentifiziert sich mit take mit einem Token-Identifikationsschlüssel.

kWeaveAuthMode_Unauthenticated

Peer nicht authentifiziert.

@42

 @42
Attribute
kFabricSecretScope_All

Alle Geräte können ein entsprechendes Fabric-Secret haben.

@43

 @43
Attribute
kTestKey_AES128CTRSHA1_DataKeyByte

Bytewert, der einen Verschlüsselungsschlüssel erstellt, der nur zum Testen verwendet wird.

kTestKey_AES128CTRSHA1_IntegrityKeyByte

Bytewert, der den Integritätsschlüssel erstellt, der nur zum Testen verwendet wird.

@44

 @44

Größe der Diversifier-Anwendungsschlüssel für die Nachrichtenverschlüsselung.

@45

 @45

@53

 @53

@54

 @54
Attribute
kWeavePeerDescription_MaxLength

Maximale Länge des Strings (einschließlich NUL-Zeichen), die von WeaveMessageLayer::GetPeerDescription() zurückgegeben wird

@55

 @55

Definitionen, die sich auf den Header einer codierten Weave-Nachricht beziehen

Attribute
kWeaveHeaderFlag_DestNodeId

Gibt an, dass die Zielknoten-ID im Weave-Nachrichten-Header vorhanden ist.

kWeaveHeaderFlag_MsgCounterSyncReq

Gibt an, dass der Absender die Nachrichtenzählersynchronisierung anfordert.

kWeaveHeaderFlag_SourceNodeId

Gibt an, dass die Quellknoten-ID im Weave-Nachrichtenheader vorhanden ist.

kWeaveHeaderFlag_TunneledData

Gibt an, dass die Weave-Nachrichtennutzlast ein getunneltes IP-Paket ist.

@56

 @56

Bit-Felddefinitionen für IEEE EUI-64-IDs

Attribute
kEUI64_IG_Group

Einzelner/Gruppenbit-Wert, der eine EUI-64-Kennung für eine Gruppenadresse angibt.

kEUI64_IG_Individual

Einzelpersonen/Gruppen-Bit-Wert, der eine einzelne EUI-64-Kennung angibt.

kEUI64_IG_Mask

Bitmaske für das Einzelpersonen/Gruppen-Bit (I/G) innerhalb einer EUI-64-Kennung.

Ein Wert von 0 gibt an, dass die ID eine einzelne Adresse ist. Der Wert „1“ bedeutet, dass die ID eine Gruppenadresse ist.

kEUI64_UL_Local

Universeller/lokaler Bitwert, der eine lokal verwaltete EUI-64-Kennung angibt

kEUI64_UL_Mask

Bitmaske für das Universal-/Local-Bit (U/L) innerhalb einer EUI-64-Kennung.

Ein Wert von 0 gibt an, dass die ID universell (global) verwaltet wird. Ein Wert von 1 gibt an, dass die ID lokal verwaltet wird.

kEUI64_UL_Unversal

Universeller/lokaler Bitwert, der für eine universell verwaltete EUI-64-Kennung steht

@57

 @57

Spezielle Bereiche von Weave-Knoten-IDs.

Attribute
kMaxAlwaysLocalWeaveNodeId

Wenn die Kennungen des Knotens kleiner oder gleich diesem Wert sind, werden sie zu Testzwecken als lokal betrachtet.

WeaveVerschlüsselungstyp

 WeaveEncryptionType

Die Verschlüsselungstypen für die Weave-Nachricht.

Attribute
kWeaveEncryptionType_AES128CTRSHA1

Nachricht wird mit AES-128-CTR-Verschlüsselung mit HMAC-SHA-1-Nachrichtenintegrität verschlüsselt.

kWeaveEncryptionType_None

Nachricht nicht verschlüsselt.

WeaveExchangeFlags

 WeaveExchangeFlags

Die Weave Exchange-Header-Bits

Attribute
kWeaveExchangeFlag_AckId

Legen Sie fest, wann die aktuelle Nachricht eine Bestätigung für eine zuvor empfangene Nachricht ist.

kWeaveExchangeFlag_Initiator

Festlegen, wann die aktuelle Nachricht vom Initiator einer Anzeigenplattform gesendet wird

kWeaveExchangeFlag_NeedsAck

Legen Sie fest, wann die aktuelle Nachricht eine Bestätigung vom Empfänger anfordert.

WeaveExchangeVersion

 WeaveExchangeVersion

Die Weave Exchange-Header-Version.

FlagWeaveMessageFlags

 WeaveMessageFlags

Flags, die mit einer ein- oder ausgehenden Weave-Nachricht verknüpft sind.

Die hier definierten Werte werden im Feld WeaveMessageInfo.Flags verwendet.

Attribute
kWeaveMessageFlag_DefaultMulticastSourceAddress

Gibt an, dass beim Senden von IPv6-Multicast-Nachrichten die standardmäßige IPv6-Quelladresse ausgewählt werden soll.

kWeaveMessageFlag_DelaySend

Zeigt an, dass das Senden der Nachricht verzögert werden muss.

kWeaveMessageFlag_DestNodeId

Gibt an, dass die Zielknoten-ID im Weave-Nachrichten-Header vorhanden ist.

kWeaveMessageFlag_DuplicateMessage

Gibt an, dass es sich bei der Nachricht um ein Duplikat einer zuvor erhaltenen Nachricht handelt.

kWeaveMessageFlag_FromInitiator

Gibt an, dass die Quelle der Nachricht der Initiator der Weave-Plattform ist.

kWeaveMessageFlag_MessageEncoded

Gibt an, dass die Weave-Nachricht bereits codiert ist.

kWeaveMessageFlag_MsgCounterSyncReq

Gibt an, dass der Absender eine Synchronisierung der Nachrichtenzähler von Peers anfordert.

kWeaveMessageFlag_MulticastFromLinkLocal

Eingestellter Alias für kWeaveMessageFlag_DefaultMulticastSourceAddress.

kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized

Gibt an, dass der Zähler des Gruppenschlüssels der Peers nicht synchronisiert ist.

kWeaveMessageFlag_PeerRequestedAck

Gibt an, dass der Absender der Nachricht eine Bestätigung angefordert hat.

kWeaveMessageFlag_RetainBuffer

Gibt an, dass der Nachrichtenpuffer nach dem Senden nicht freigegeben werden soll

kWeaveMessageFlag_ReuseMessageId

Gibt an, dass die vorhandene Nachrichten-ID wiederverwendet werden muss.

kWeaveMessageFlag_ReuseSourceId

Gibt an, dass die vorhandene ID des Quellknotens wiederverwendet werden muss.

kWeaveMessageFlag_SourceNodeId

Gibt an, dass die Quellknoten-ID im Weave-Nachrichtenheader vorhanden ist.

kWeaveMessageFlag_TunneledData

Gibt an, dass die Weave-Nachrichtennutzlast ein getunneltes IP-Paket ist.

kWeaveMessageFlag_ViaEphemeralUDPPort

Gibt an, dass die Nachricht über den lokalen flüchtigen UDP-Port gesendet/empfangen wird.

WeaveMessageVersion

 WeaveMessageVersion

Die Version des Weave Message-Formats.

Weave wählt die entsprechende Nachrichtenversion basierend auf dem Frame-Format aus, das für die Weave-Nachricht erforderlich ist. Standardmäßig lautet die Nachrichtenversion kWeaveMessageVersion_V1. Wenn Sie Weave Zuverlässige Nachrichten verwenden, ist die Version beispielsweise „kWeaveMessageVersion_V2“.

Attribute
kWeaveMessageVersion_Unspecified

Unbekannte Nachrichtenversion.

kWeaveMessageVersion_V1

Version 1 des Nachrichtenheaders.

kWeaveMessageVersion_V2

Version 2 des Nachrichtenheaders.

WeaveSubnetz-ID

 WeaveSubnetId

Weave hat einige reservierte Subnetznummern für differenzierte Netzwerkschnittstellen auf typischen Geräten.

Diese Zahlen werden hier Symbolic-Konstanten zugewiesen. Diese Subnetznummern werden von Weave verwendet, um IPv6-ULA-Adressen auf den entsprechenden Schnittstellen zu konfigurieren.

Attribute
kWeaveSubnetId_MobileDevice

Die Subnetz-ID für alle Mobilgeräte.

kWeaveSubnetId_NotSpecified

Als nicht spezifizierter oder Nullwert reserviert.

kWeaveSubnetId_PrimaryWiFi

Die Subnetznummer der WLAN-Schnittstelle.

kWeaveSubnetId_Service

Die Subnetz-ID für die Nest Service-Endpunkte.

kWeaveSubnetId_ThreadAlarm

Subnetznummer der Thread-Alarmschnittstelle.

kWeaveSubnetId_ThreadMesh

Die Thread-Subnetz-ID des Mesh-Netzwerks.

kWeaveSubnetId_WiFiAP

Die Subnetznummer der lokalen WLAN-ZP.

WeaveVendorId

 WeaveVendorId

Typdef.

FabricSecretRotationSchema

uint8_t FabricSecretRotationScheme

Logo: FabricSecretScope

uint8_t FabricSecretScope

Gibt die Kategorie der Geräte an, die Stoff-Secrets haben und verwenden können.

WeaveAuthMode.

uint16_t WeaveAuthMode

Erkennt, wie ein Peer-Knoten authentifiziert wird.

WeaveAuthMode beschreibt die Mittel, mit denen ein Peer-Knoten während eines Weave-Nachrichtenaustauschs authentifiziert wurde oder sein sollte. In einem Einführungskontext verwenden Anwendungen WeaveAuthMode, um einen gewünschten Peer-Authentifizierungsmodus für eine Anzeigenplattform auszudrücken. Dadurch werden die Weave-Sicherheits- und -Messaging-Ebenen angewiesen, den gewünschten Modus zu erreichen oder die Kommunikation nicht herzustellen. In einem Antwortkontext identifiziert WeaveAuthMode, wie der anfragende Knoten (der Peer) authentifiziert wurde. Die App kann dann den Zugriff auf diese Daten erzwingen.

Der einer eingehenden Weave-Nachricht zugewiesene WeaveAuthMode bezieht sich auf den Typ des Schlüssels, der zum Verschlüsseln dieser Nachricht verwendet wurde. Der WeaveAuthMode basiert auf dem Mechanismus, mit dem der Schlüssel festgelegt wurde, und den Kriterien zur Überprüfung der Identität der kommunizierenden Parteien zum Zeitpunkt der Schlüsseleinrichtung.

WeaveAuthMode enthält eine Reihe vordefinierter Werte, die gängige Authentifizierungsmodi beschreiben. Sie sind nach dem Mechanismus zur Schlüsselvereinbarung (CASE, PASE, GroupKey usw.) aufgeschlüsselt. Entwickler können WeaveAuthMode erweitern, indem sie anwendungsspezifische Modi definieren, die sie an bestimmte Verschlüsselungsschlüssel anhängen können.

WeaveVerschlüsselungsschlüssel

union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey

WeaveVerschlüsselungstyp

enum nl::Weave::WeaveEncryptionType WeaveEncryptionType

Die Verschlüsselungstypen für die Weave-Nachricht.

WeaveExchangeFlags

enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags

Die Weave Exchange-Header-Bits

WeaveExchangeVersion

enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion

Die Weave Exchange-Header-Version.

FlagWeaveMessageFlags

enum nl::Weave::WeaveMessageFlags WeaveMessageFlags

Flags, die mit einer ein- oder ausgehenden Weave-Nachricht verknüpft sind.

Die hier definierten Werte werden im Feld WeaveMessageInfo.Flags verwendet.

WeaveMessageHeader

struct WeaveMessageInfo WeaveMessageHeader

WeaveMessageVersion

enum nl::Weave::WeaveMessageVersion WeaveMessageVersion

Die Version des Weave Message-Formats.

Weave wählt die entsprechende Nachrichtenversion basierend auf dem Frame-Format aus, das für die Weave-Nachricht erforderlich ist. Standardmäßig lautet die Nachrichtenversion kWeaveMessageVersion_V1. Wenn Sie Weave Zuverlässige Nachrichten verwenden, ist die Version beispielsweise „kWeaveMessageVersion_V2“.

WeaveSubnetz-ID

enum nl::Weave::WeaveSubnetId WeaveSubnetId

Weave hat einige reservierte Subnetznummern für differenzierte Netzwerkschnittstellen auf typischen Geräten.

Diese Zahlen werden hier Symbolic-Konstanten zugewiesen. Diese Subnetznummern werden von Weave verwendet, um IPv6-ULA-Adressen auf den entsprechenden Schnittstellen zu konfigurieren.

Variablen

ExchangeMgr

NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr

Stoffstatus

NL_DLL_EXPORT WeaveFabricState FabricState

Nachrichtenschicht

NL_DLL_EXPORT WeaveMessageLayer MessageLayer

SecurityMgr

NL_DLL_EXPORT WeaveSecurityManager SecurityMgr

Connection

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 }

Schlüsseldiversifizierer, der für die Ableitung von Weave-Nachrichtenverschlüsselung verwendet wird.

Dieser Wert stellt die ersten 4 Byte des SHA-1-Hashes der Nest Weave Message EK und des Ausdrucks „AK“ dar.

Funktionen

AppGroupMasterKeyIdAuthMode.

uint8_t AppGroupMasterKeyIdFromAuthMode(
  WeaveAuthMode authMode
)

Gibt die mit dem Authentifizierungsmodus verknüpfte ID des Masterschlüssels der Anwendung zurück.

CASEAuthMode

WeaveAuthMode CASEAuthMode(
  uint8_t certType
)

Gibt einen entsprechenden CASE-Authentifizierungsmodus für einen bestimmten Zertifikattyp zurück.

CertTypeFromAuthMode

uint8_t CertTypeFromAuthMode(
  WeaveAuthMode authMode
)

Gibt die Passwortquelle für den angegebenen Authentifizierungsmodus zurück.

DecodeHeaderFeld

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
)

Codier-Header-Feld

uint16_t EncodeHeaderField(
  const WeaveMessageInfo *msgInfo
)

Name der Nachricht abrufen

const char * FindMessageName(
  uint32_t inProfileId,
  uint8_t inMsgType
)

Profilname suchen

const char * FindProfileName(
  uint32_t inProfileId
)

FormatWeaveFehler

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

Aufgrund eines Weave-Fehlers wird ein für Menschen lesbarer NULL-String mit NULL-Zeichenfolge zurückgegeben, der den Fehler beschreibt.

Details
Parameter
[in] buf
Puffer, in den der Fehlerstring eingefügt wird.
[in] bufSize
Größe des bereitgestellten Zwischenspeichers in Byte.
[in] err
Der zu beschreibende Fehler.
Rückgabe
„true“, wenn ein Beschreibungsstring in den bereitgestellten Puffer geschrieben wurde.
Rückgabe
false, wenn der angegebene Fehler kein Weave-Fehler war.

GenerateWeaveNodeId

NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId(
  uint64_t & nodeId
)

Generiert eine zufällige Weave-Knoten-ID.

Diese Funktion generiert eine lokal eindeutige 64-Bit-Weave-Knoten-ID. Diese Funktion verwendet eine kryptografisch starke Zufallsdatenquelle, um die Eindeutigkeit des generierten Werts zu gewährleisten. Beachten Sie, dass Bit 57 der generierten Weave-Knoten-ID auf 1 gesetzt ist, um anzuzeigen, dass die generierte Weave-Knoten-ID lokal (nicht global) eindeutig ist.

Details
Parameter
nodeId
Ein Verweis auf die 64-Bit-Weave-Knoten-ID.
Rückgabewerte
WEAVE_NO_ERROR
Wenn die Weave-Knoten-ID erfolgreich generiert wurde.

GetFibonacciForIndex

uint32_t GetFibonacciForIndex(
  uint32_t index
)

Diese Funktion generiert 32-Bit-Fibonacci-Zahlen für einen bestimmten 32-Bit-Index.

Details
Rückgabe
32-Bit-Fibonacci-Nummer ohne Vorzeichen.

Name der Nachricht abrufen

const char * GetMessageName(
  uint32_t profileId,
  uint8_t msgType
)

Profilname abrufen

const char * GetProfileName(
  uint32_t profileId
)

GetRandU16

uint16_t GetRandU16(
  void
)

Diese Funktion generiert eine 16-Bit-Zufallssignatur.

Details
Rückgabe
Vorzeichenlose 16-Bit-Ganzzahl.

GetRandU32

uint32_t GetRandU32(
  void
)

Diese Funktion generiert eine nicht signierte 32-Bit-Zufallszahl.

Details
Rückgabe
Vorzeichenlose 32-Bit-Ganzzahl.

GetRandU64

uint64_t GetRandU64(
  void
)

Diese Funktion generiert eine nicht signierte 64-Bit-Zufallszahl.

Details
Rückgabe
Vorzeichenlose 64-Bit-Ganzzahl.

GetRandU8

uint8_t GetRandU8(
  void
)

Diese Funktion generiert eine 8-Bit-Zufallssignatur.

Details
Rückgabe
8-Bit-Beliebige Zahl ohne Vorzeichen.

Name des Anbieters abrufen

const char * GetVendorName(
  uint16_t vendorId
)

Gruppenschlüsselauthentifizierungsmodus

WeaveAuthMode GroupKeyAuthMode(
  uint32_t keyId
)

Gibt einen entsprechenden Gruppenschlüssel-Authentifizierungsmodus für eine bestimmte Schlüssel-ID zurück.

IPv6InterfaceIdToWeaveNodeId

uint64_t IPv6InterfaceIdToWeaveNodeId(
  uint64_t interfaceId
)

Wandeln Sie eine IPv6-Schnittstellen-ID in eine Weave-Knoten-ID um.

Aus Gründen des Tests werden Knoten-IDs, die kleiner oder gleich #kMaxAlwaysLocalWeaveNodeId (65535) sind, als 'local' betrachtet und für ihr universelles/lokales Bit auf null gesetzt. Das vereinfacht die Stringdarstellung der entsprechenden IPv6-Adressen. Beispiel: Eine ULA für die Knoten-ID 10 wäre FD00:0:1:1::A.

Details
Parameter
[in] interfaceId
Die 64-Bit-Schnittstellen-ID.
Rückgabe
die 64-Bit-Weave-Knoten-ID zugeordnet.

IscaseAuthMode

bool IsCASEAuthMode(
  WeaveAuthMode authMode
)

Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Weave-CASE-Protokoll basiert.

IsCertAuthMode

bool IsCertAuthMode(
  WeaveAuthMode authMode
)

Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Besitz eines privaten Zertifikats basiert, das mit einem Zertifikat verknüpft ist.

IsGroupKeyAuthMode

bool IsGroupKeyAuthMode(
  WeaveAuthMode authMode
)

Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Besitz eines freigegebenen Gruppenschlüssels basiert.

IsPASEAuthModus

bool IsPASEAuthMode(
  WeaveAuthMode authMode
)

Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Weave-PASE-Protokoll basiert.

IsPasswordAuthMode-

bool IsPasswordAuthMode(
  WeaveAuthMode authMode
)

Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf einem gemeinsamen Passwort basiert.

IstTakeAuthMode

bool IsTAKEAuthMode(
  WeaveAuthMode authMode
)

Dieser Wert ist „True“, wenn der Authentifizierungsmodus auf dem Weave-Take-Protokoll basiert.

IsWRMPKontrollnachricht

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_StringFeldwert

WEAVE_ERROR J2N_StringFieldVal(
  JNIEnv *env,
  jobject obj,
  const char *fieldName,
  char *& outVal
)

Name der Marke

WEAVE_ERROR MakeClassName(
  const char *basePackageName,
  const char *relativeClassName,
  char *& classNameBuf
)

PASEAuthModus

WeaveAuthMode PASEAuthMode(
  uint8_t pwSource
)

Gibt einen entsprechenden PASE-Authentifizierungsmodus für eine bestimmte Passwortquelle zurück.

PasswordSourceFromAuthMode

uint8_t PasswordSourceFromAuthMode(
  WeaveAuthMode authMode
)

Gibt die Passwortquelle für den angegebenen Authentifizierungsmodus zurück.

PrintTunnelInfo

void PrintTunnelInfo(
  const WeaveConnectionTunnel & tun,
  const TCPEndPoint & fromEndPoint,
  const TCPEndPoint & toEndPoint,
  const PacketBuffer & data
)

Hex

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
)

Konvertieren Sie eine Weave-Stoff-ID in eine globale IPv6-ULA-Kennung.

Die globale ULA-Kennung für eine Stoff-Adresse ist die unteren 40 Bit der 64-Bit-Stoff-ID des Stoffs.

Details
Parameter
[in] fabricId
Die Weave-Stoff-ID.
Rückgabe
die globale IPv6-Kennung.

WeaveMessageSourceToStr

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

EINGESTELLT: Verwenden Sie stattdessen WeaveMessageLayer::GetPeerDescription().

WeaveNodeAddrToStr

void WeaveNodeAddrToStr(
  char *buf,
  uint32_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  WeaveConnection *con
)

EINGESTELLT: Verwenden Sie stattdessen WeaveMessageLayer::GetPeerDescription().

WeaveNodeIdToIPv6InterfaceId

uint64_t WeaveNodeIdToIPv6InterfaceId(
  uint64_t nodeId
)

Konvertieren Sie eine Weave-Knoten-ID in eine IPv6-Schnittstellen-ID.

Kennungen von Weave-Knoten sind Universal-/Lokale EUI-64-Adressen, die gemäß RFC-3513 in Schnittstellenkennungen umgewandelt werden, indem das universelle/lokale Bit invertiert wird (Bit 57, das das LSB als 0 zählt).

Aus Gründen des Tests werden Knoten-IDs, die kleiner oder gleich #kMaxAlwaysLocalWeaveNodeId (65535) sind, als 'local' betrachtet und für ihr universelles/lokales Bit auf null gesetzt. Das vereinfacht die Stringdarstellung der entsprechenden IPv6-Adressen. Beispiel: Eine ULA für die Knoten-ID 10 wäre FD00:0:1:1::A.

Details
Parameter
[in] nodeId
Die 64-Bit-Weave-Knoten-ID.
Rückgabe
IPv6-Schnittstellen-ID.

max

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

Min.

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