нл:: Плетение
Краткое содержание
Перечисления | |
---|---|
@21 { | перечисление |
@36 | перечисление |
@37 | перечисление |
@38 { | перечисление |
@39 { | перечисление Определяет цель или применение сертификата. |
@40 | перечисление Идентифицирует источник пароля, используемого в протоколе аутентификации на основе пароля (например, |
@41 { | перечисление |
@42 { | перечисление |
@43 { | перечисление |
@44 | перечисление Размер диверсификатора ключа приложения шифрования сообщений Weave. |
@45 | перечисление |
@53 | перечисление |
@54 { | перечисление |
@55 { | перечисление Определения, относящиеся к заголовку закодированного сообщения Weave. |
@56 { | перечисление Определения битовых полей для идентификаторов IEEE EUI-64. |
@57 { | перечисление Специальные диапазоны идентификаторов узлов Weave. |
WeaveEncryptionType { | перечисление Типы шифрования сообщения Weave. |
WeaveExchangeFlags { | перечисление Биты флага заголовка Weave Exchange. |
WeaveExchangeVersion | перечисление Версия заголовка Weave Exchange. |
WeaveMessageFlags { | перечисление Флаги, связанные с входящим или исходящим сообщением Weave. |
WeaveMessageVersion { | перечисление Версия формата Weave Message. |
WeaveSubnetId { | перечисление Weave имеет несколько зарезервированных номеров подсетей для различных сетевых интерфейсов на типичных устройствах. |
WeaveVendorId | перечисление |
Определения типов | |
---|---|
FabricSecretRotationScheme | определение типаuint8_t |
FabricSecretScope | nl::Weave::FabricSecretScopeuint8_t Определяет категорию устройств, которые могут обладать и использовать тканевый секрет. |
WeaveAuthMode | определение типаuint16_t Определяет способ аутентификации однорангового узла. |
WeaveEncryptionKey | определение типа |
WeaveEncryptionType | определение типаenum nl::Weave::WeaveEncryptionType Типы шифрования сообщения Weave. |
WeaveExchangeFlags | определение типаenum nl::Weave::WeaveExchangeFlags Биты флага заголовка Weave Exchange. |
WeaveExchangeVersion | определение типаenum nl::Weave::WeaveExchangeVersion Версия заголовка Weave Exchange. |
WeaveMessageFlags | определение типаenum nl::Weave::WeaveMessageFlags Флаги, связанные с входящим или исходящим сообщением Weave. |
WeaveMessageHeader | определение типаstruct WeaveMessageInfo |
WeaveMessageVersion | определение типаenum nl::Weave::WeaveMessageVersion Версия формата Weave Message. |
WeaveSubnetId | определение типаenum nl::Weave::WeaveSubnetId Weave имеет несколько зарезервированных номеров подсетей для различных сетевых интерфейсов на типичных устройствах. |
Переменные | |
---|---|
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. |
Функции | |
---|---|
AppGroupMasterKeyIdFromAuthMode (WeaveAuthMode authMode) | uint8_t Возвращает идентификатор главного ключа группы приложений, связанный с режимом аутентификации. |
CASEAuthMode (uint8_t certType) | WeaveAuthMode Возвращает соответствующий режим аутентификации CASE для данного типа сертификата. |
CertTypeFromAuthMode (WeaveAuthMode authMode) | uint8_t Возвращает источник пароля для данного режима аутентификации. |
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 возвращает удобочитаемую строку C с завершающим NULL, описывающую ошибку. |
GenerateWeaveNodeId (uint64_t & nodeId) | NL_DLL_EXPORT WEAVE_ERROR Создать случайный идентификатор узла Weave. |
GetFibonacciForIndex (uint32_t index) | uint32_t Эта функция генерирует 32-битное число Фибоначчи для заданного 32-битного индекса. |
GetMessageName (uint32_t profileId, uint8_t msgType) | const char * |
GetProfileName (uint32_t profileId) | const char * |
GetRandU16 (void) | uint16_t Эта функция генерирует 16-битное случайное число без знака. |
GetRandU32 (void) | uint32_t Эта функция генерирует 32-битное беззнаковое случайное число. |
GetRandU64 (void) | uint64_t Эта функция генерирует 64-битное случайное число без знака. |
GetRandU8 (void) | uint8_t Эта функция генерирует 8-битное беззнаковое случайное число. |
GetVendorName (uint16_t vendorId) | const char * |
GroupKeyAuthMode (uint32_t keyId) | WeaveAuthMode Возвращает соответствующий режим аутентификации группового ключа для данного идентификатора ключа. |
IPv6InterfaceIdToWeaveNodeId (uint64_t interfaceId) | uint64_t Преобразуйте идентификатор интерфейса адреса IPv6 в идентификатор узла Weave. |
IsCASEAuthMode (WeaveAuthMode authMode) | bool True, если режим аутентификации основан на протоколе Weave CASE. |
IsCertAuthMode (WeaveAuthMode authMode) | bool Истинно, если режим аутентификации основан на владении закрытым ключом, связанным с сертификатом. |
IsGroupKeyAuthMode (WeaveAuthMode authMode) | bool Истинно, если режим аутентификации основан на владении общим групповым ключом. |
IsPASEAuthMode (WeaveAuthMode authMode) | bool True, если режим аутентификации основан на протоколе Weave PASE. |
IsPasswordAuthMode (WeaveAuthMode authMode) | bool Истинно, если режим аутентификации основан на использовании общего пароля. |
IsTAKEAuthMode (WeaveAuthMode authMode) | bool Истинно, если режим аутентификации основан на протоколе Weave TAKE. |
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 Возвращает соответствующий режим аутентификации PASE для данного источника пароля. |
PasswordSourceFromAuthMode (WeaveAuthMode authMode) | uint8_t Возвращает источник пароля для данного режима аутентификации. |
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 в глобальный идентификатор IPv6 ULA. |
WeaveMessageSourceToStr (char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo) | void УСТАРЕЛО. Вместо этого используйте WeaveMessageLayer::GetPeerDescription() . |
WeaveNodeAddrToStr (char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con) | void УСТАРЕЛО. Вместо этого используйте WeaveMessageLayer::GetPeerDescription() . |
WeaveNodeIdToIPv6InterfaceId (uint64_t nodeId) | uint64_t Преобразуйте идентификатор узла Weave в идентификатор интерфейса адреса IPv6. |
max (const _T & a, const _T & b) | const _T & |
min (const _T & a, const _T & b) | const _T & |
Классы | |
---|---|
nl:: Weave:: Переплет | Захватывает предполагаемую цель связи Weave и связанную с ней информацию о конфигурации. |
nl:: Weave:: Счетчик | Интерфейс для управления счетчиком как целочисленным значением. |
nl:: Weave:: ExchangeContext | Этот класс представляет текущий диалог ( ExchangeContext ) между двумя или более узлами. |
nl:: Weave:: FabricStateDelegate | Этот абстрактный класс делегата сообщает об изменениях состояния структуры. |
nl:: Weave:: HostPortList | Для управления и манипулирования списком портов хоста — компактной коллекцией кортежей идентификаторов хостов и портов в двоичном коде, связанных с каталогом служб Weave. |
nl::Weave::JNIUtils | |
nl:: Weave:: MonotonicallyIncreasingCounter | Класс для управления монотонно возрастающим счетчиком как целочисленным значением. |
nl:: Weave:: PersistedCounter | Класс для управления счетчиком как целочисленным значением, предназначенным для сохранения после перезагрузки. |
nl:: Weave:: WeaveConnection | Определение класса Weave Connection. |
nl:: Weave:: WeaveConnectionTunnel | Определение класса WeaveConnectionTunnel , который управляет парой TCPEndPoints, исходные WeaveConnections которых были связаны, и между которыми WeaveMessageLayer пересылает все данные и закрытия соединений. |
nl:: Weave:: WeaveEncryptionKey_AES128CTRSHA1 | |
nl:: Weave:: WeaveExchangeHeader | Это определяет профиль Weave и тип сообщения конкретного сообщения Weave в ExchangeContext . |
nl:: Weave:: WeaveExchangeManager | Этот класс используется для управления ExchangeContexts с другими узлами Weave. |
nl:: Weave:: WeaveFabricState | Форвардное объявление WeaveFabricState . |
nl:: Weave:: WeaveKeyId | Определение идентификатора Weave Key. |
nl:: Weave:: WeaveMessageLayer | Определение класса WeaveMessageLayer , который управляет связью с другими узлами Weave. |
nl:: Weave:: WeaveMsgEncryptionKey | Содержит информацию о ключе шифрования сообщения Weave. |
nl:: Weave:: WeaveMsgEncryptionKeyCache | Кэш ключей для ключей шифрования сообщений Weave. |
nl:: Weave:: WeaveSecurityManager | |
nl:: Weave:: WeaveServerBase | Общий базовый объект для реализации незапрошенных ответчиков (серверов) профиля Weave, который инкапсулирует проверку аутентифицированных запросов и отправку отчетов о состоянии, а также обеспечивает общее хранилище данных для состояния структуры и диспетчера обмена. |
nl:: Weave:: WeaveServerDelegateBase | Общий базовый класс для реализации объектов-делегатов сервера Weave. |
nl:: Weave:: WeaveSessionKey | Содержит информацию о сеансовом ключе Weave. |
nl:: Weave:: WeaveSessionState | Передает состояние связи, необходимое для отправки/получения сообщений с другим узлом. |
Структуры | |
---|---|
nl::Weave::JNILibraryMethod | |
nl:: Weave:: WRMPConfig | Конфигурация WRMP. |
nl:: Weave:: WeaveMessageInfo | Информация о сообщении Weave, которое находится в процессе отправки или получения. |
Союзы | |
---|---|
nl:: Weave:: WeaveEncryptionKey |
Пространства имен | |
---|---|
nl:: Weave:: ASN1 | Это пространство имен включает в себя все интерфейсы Weave для работы с абстрактной синтаксической нотацией One (ASN.1). |
nl:: Weave:: Крипто | Это пространство имен включает в себя все интерфейсы Weave для общей криптографической поддержки. |
nl:: Weave:: DeviceLayer | |
nl:: Weave:: DeviceManager | |
nl::Weave::Кодирование | Это пространство имен предоставляет функции для: |
nl:: Weave:: Ведение журнала | Это пространство имен включает в себя все интерфейсы Weave для поддержки совместного ведения журналов. |
nl:: Weave:: Платформа | |
nl:: Weave:: Профили | Это пространство имен включает в себя все интерфейсы в профилях Weave for Weave, как Common , так и Nest Labs, зависящие от поставщика. |
nl:: Weave:: SecuritySupport | |
nl:: Weave:: Статистика | |
nl:: Weave:: Поддержка | |
nl:: Weave:: Система | |
nl:: Weave:: TLV | Определения для работы с данными, закодированными в формате Weave TLV . |
nl:: Плетение:: Теплый | Это пространство имен включает в себя интерфейсы для модуля адресов и маршрутизации Weave — портативного модуля для настройки IP-адресов и маршрутов Weave. |
Перечисления
@21
@21
Характеристики | |
---|---|
kFlagAckPending | Ожидается ли ответ на отправляемое сообщение. |
kFlagAutoReleaseConnection | Автоматически освобождать ключ шифрования сообщения при освобождении контекста обмена. |
kFlagAutoReleaseKey | Если установлено, это означает, что по крайней мере одно сообщение было получено от узла в этом контексте обмена. |
kFlagAutoRequestAck | Этот контекст был связан с WeaveConnection . |
kFlagConnectionClosed | Этот контекст является инициатором обмена. |
kFlagDropAck | Если установлено, автоматически запрашивать подтверждение всякий раз, когда сообщение отправляется через UDP. |
kFlagMsgRcvdFromPeer | Если установлено, это означает, что по крайней мере одно сообщение, полученное на этом обмене, запрашивало подтверждение. Этот флаг считывается приложением, чтобы решить, нужно ли ему запрашивать подтверждение для ответного сообщения, которое оно собирается отправить. Этот флаг также может указывать, использует ли одноранговый узел WRMP. |
kFlagPeerRequestedAck | Если установлено, это означает, что существует подтверждение, ожидающее отправки обратно. |
kFlagResponseExpected | Только внутренний и отладочный: если этот параметр установлен, уровень обмена не отправляет подтверждение. |
kFlagUseEphemeralUDPPort | Автоматически освобождать связанное соединение WeaveConnection при освобождении контекста обмена. |
@36
@36
@37
@37
@38
@38
@39
@39
Определяет цель или применение сертификата.
Тип сертификата — это метка, описывающая назначение или применение сертификата. Типы сертификатов не передаются как атрибуты соответствующих сертификатов, а скорее являются производными от структуры сертификата и/или контекста, в котором он используется. Перечисление типов сертификатов включает набор предопределенных значений, описывающих часто используемые приложения сертификатов. Разработчики также могут расширить диапазон значений типа сертификата за счет типов, специфичных для приложения, которые описывают пользовательские сертификаты или сертификаты с уникальными свойствами безопасности.
Типы сертификатов в основном используются при реализации политик контроля доступа, где доступ к функциям приложения зависит от типа сертификата, представленного запрашивающей стороной.
@40
@40
Идентифицирует источник пароля, используемого в протоколе аутентификации на основе пароля (например,
Плетем ПАСЕ)
@41
@41
@42
@42
@43
@43
@44
@44
Размер диверсификатора ключа приложения шифрования сообщений Weave.
@45
@45
@53
@53
@54
@54
Характеристики | |
---|---|
kWeavePeerDescription_MaxLength | Максимальная длина строки (включая символ NUL), возвращаемой WeaveMessageLayer::GetPeerDescription() . |
@55
@55
Определения, относящиеся к заголовку закодированного сообщения Weave.
@56
@56
Определения битовых полей для идентификаторов IEEE EUI-64.
@57
@57
Тип шифрования WeaveEncryptionType
WeaveEncryptionType
ТкатьОбменФлаги
WeaveExchangeFlags
Биты флага заголовка Weave Exchange.
WeaveExchangeVersion
WeaveExchangeVersion
Версия заголовка Weave Exchange.
ТкатьСообщениеФлаги
WeaveMessageFlags
Флаги, связанные с входящим или исходящим сообщением Weave.
Определенные здесь значения предназначены для использования в поле WeaveMessageInfo.Flags .
WeaveMessageВерсия
WeaveMessageVersion
Версия формата Weave Message.
Weave выберет подходящую версию сообщения на основе формата кадра, необходимого для сообщения Weave. По умолчанию версия сообщения — kweaveMessageVersion_V1. Например, при использовании Weave Reliable Messaging версия — kweaveMessageVersion_V2.
WeaveSubnetId
WeaveSubnetId
Weave имеет несколько зарезервированных номеров подсетей для различных сетевых интерфейсов на типичных устройствах.
Эти числа присвоены здесь символическим константам. Эти номера подсети используются Weave для настройки адресов ULA IPv6 на соответствующих интерфейсах.
WeaveVendorId
WeaveVendorId
Определения типов
ТканьСекретСхемаВращения
uint8_t FabricSecretRotationScheme
ТканьСекретОбласть применения
uint8_t FabricSecretScope
Определяет категорию устройств, которые могут обладать и использовать тканевый секрет.
Режим WeaveAuthMode
uint16_t WeaveAuthMode
Определяет способ аутентификации однорангового узла.
WeaveAuthMode описывает средства, с помощью которых одноранговый узел был или должен быть аутентифицирован во время обмена сообщениями Weave. В начальном контексте приложения используют WeaveAuthMode для выражения желаемого режима одноранговой аутентификации для обмена, тем самым инструктируя уровни безопасности и обмена сообщениями Weave о достижении желаемого режима или сбое связи. В контексте ответа WeaveAuthMode определяет, как был аутентифицирован запрашивающий узел (одноранговый узел), позволяя отвечающему приложению применять элементы управления доступом на основе этой информации.
WeaveAuthMode, назначенный входящему сообщению Weave, связан с природой ключа, который использовался для шифрования этого сообщения. WeaveAuthMode является производным от механизма, с помощью которого был установлен ключ, и критериев, используемых для проверки личности взаимодействующих сторон во время создания ключа.
WeaveAuthMode включает набор предопределенных значений, описывающих общие режимы аутентификации. Они разбиваются по механизму соглашения о ключах (CASE, PASE, GroupKey и т. д.). Разработчики могут расширять WeaveAuthMode, определяя режимы для конкретного приложения, которые они могут привязывать к определенным ключам шифрования.
WeaveEncryptionKey
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
Тип шифрования WeaveEncryptionType
enum nl::Weave::WeaveEncryptionType WeaveEncryptionType
Типы шифрования сообщения Weave.
ТкатьОбменФлаги
enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags
Биты флага заголовка Weave Exchange.
WeaveExchangeVersion
enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion
Версия заголовка Weave Exchange.
ТкатьСообщениеФлаги
enum nl::Weave::WeaveMessageFlags WeaveMessageFlags
Флаги, связанные с входящим или исходящим сообщением Weave.
Определенные здесь значения предназначены для использования в поле WeaveMessageInfo.Flags .
WeaveСообщениеЗаголовок
struct WeaveMessageInfo WeaveMessageHeader
WeaveMessageВерсия
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
Версия формата Weave Message.
Weave выберет подходящую версию сообщения в зависимости от формата кадра, необходимого для сообщения Weave. По умолчанию версия сообщения — kweaveMessageVersion_V1. Например, при использовании Weave Reliable Messaging версия — kweaveMessageVersion_V2.
WeaveSubnetId
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave имеет несколько зарезервированных номеров подсетей для различных сетевых интерфейсов на типичных устройствах.
Эти числа присвоены здесь символическим константам. Эти номера подсети используются Weave для настройки адресов ULA IPv6 на соответствующих интерфейсах.
Переменные
ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr
Состояние Фабрики
NL_DLL_EXPORT WeaveFabricState FabricState
Слой сообщений
NL_DLL_EXPORT WeaveMessageLayer MessageLayer
Менеджер по безопасности
NL_DLL_EXPORT WeaveSecurityManager SecurityMgr
WeaveConnection
class NL_DLL_EXPORT WeaveConnection
WeaveExchangeManager
class NL_DLL_EXPORT WeaveExchangeManager
Слой Сообщения
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.
Это значение представляет собой первые 4 байта HASH SHA-1 фразы «Nest Weave Message EK and AK».
Функции
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
Возвращает идентификатор главного ключа группы приложений, связанный с режимом аутентификации.
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
Возвращает соответствующий режим аутентификации CASE для данного типа сертификата.
Серттипефромаусмоде
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
Возвращает источник пароля для данного режима аутентификации.
Поле декодирования заголовка
void 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 )
КодироватьHeaderField
uint16_t EncodeHeaderField( const WeaveMessageInfo *msgInfo )
Найтиимясообщения
const char * FindMessageName( uint32_t inProfileId, uint8_t inMsgType )
Найти имя профиля
const char * FindProfileName( uint32_t inProfileId )
ФорматВеавеОррор
bool FormatWeaveError( char *buf, uint16_t bufSize, int32_t err )
При ошибке Weave возвращает удобочитаемую строку C с завершающим NULL, описывающую ошибку.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | true Если строка описания была записана в предоставленный буфер. | ||||||
Возврат | false Если предоставленная ошибка не была ошибкой Weave. |
ГенерироватьWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
Создать случайный идентификатор узла Weave.
Эта функция генерирует 64-битный локально уникальный идентификатор узла Weave. Эта функция использует криптостойкий источник случайных данных, чтобы гарантировать уникальность сгенерированного значения. Обратите внимание, что бит 57 сгенерированного идентификатора узла Weave установлен в 1, чтобы указать, что сгенерированный идентификатор узла Weave является локальным (не глобальным) уникальным.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращаемые значения |
|
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
Эта функция генерирует 32-битное число Фибоначчи для заданного 32-битного индекса.
Подробности | |
---|---|
Возврат | 32-битное беззнаковое число Фибоначчи. |
Получитьимясообщения
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
Получить имя профиля
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
Эта функция генерирует 16-битное беззнаковое случайное число.
Подробности | |
---|---|
Возврат | 16-битное случайное целое число без знака. |
GetRandU32
uint32_t GetRandU32( void )
Эта функция генерирует 32-битное случайное число без знака.
Подробности | |
---|---|
Возврат | 32-битное случайное целое число без знака. |
GetRandU64
uint64_t GetRandU64( void )
Эта функция генерирует 64-битное беззнаковое случайное число.
Подробности | |
---|---|
Возврат | 64-битное беззнаковое случайное целое число. |
GetRandU8
uint8_t GetRandU8( void )
Эта функция генерирует 8-битное случайное число без знака.
Подробности | |
---|---|
Возврат | 8-битное беззнаковое случайное целое число. |
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
Возвращает соответствующий режим аутентификации группового ключа для данного идентификатора ключа.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
Преобразуйте идентификатор интерфейса адреса IPv6 в идентификатор узла Weave.
Для удобства тестирования идентификаторы узлов, меньшие или равные #kMaxAlwaysLocalWeaveNodeId (65535), считаются «локальными», а их универсальный/локальный бит установлен в ноль. Это упрощает строковое представление соответствующих адресов IPv6. Например, ULA для идентификатора узла 10
будет FD00:0
:1:1::A.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | отображаемый 64-битный идентификатор узла Weave. |
ИсCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
True, если режим аутентификации основан на протоколе Weave CASE.
IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
Истинно, если режим аутентификации основан на владении закрытым ключом, связанным с сертификатом.
IsGroupKeyAuthMode
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
Истинно, если режим аутентификации основан на владении общим групповым ключом.
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
True, если режим аутентификации основан на протоколе Weave PASE.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
Истинно, если режим аутентификации основан на использовании общего пароля.
IsTAKEAuthMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
Истинно, если режим аутентификации основан на протоколе Weave TAKE.
Исврмпконтролмессаже
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 )
Возвращает соответствующий режим аутентификации PASE для данного источника пароля.
ПарольSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
Возвращает источник пароля для данного режима аутентификации.
РаспечататьТуннельИнформация
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 в глобальный идентификатор IPv6 ULA.
Глобальный идентификатор ULA для адреса структуры — это младшие 40 бит 64-битного идентификатора структуры.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | сопоставленный глобальный идентификатор IPv6. |
WeaveMessageSourceToStr
void WeaveMessageSourceToStr( char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo )
УСТАРЕЛО. Вместо этого используйте WeaveMessageLayer::GetPeerDescription() .
WeaveNodeAddrToStr
void WeaveNodeAddrToStr( char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con )
УСТАРЕЛО. Вместо этого используйте WeaveMessageLayer::GetPeerDescription() .
WeaveNodeIdToIPv6InterfaceId
uint64_t WeaveNodeIdToIPv6InterfaceId( uint64_t nodeId )
Преобразуйте идентификатор узла Weave в идентификатор интерфейса адреса IPv6.
Идентификаторами узлов Weave являются универсальные/локальные EUI-64, которые согласно RFC-3513 преобразуются в идентификаторы интерфейса путем инвертирования универсального/локального бита (бит 57, считающий младший бит равным 0).
Для удобства тестирования идентификаторы узлов, меньшие или равные #kMaxAlwaysLocalWeaveNodeId (65535), считаются «локальными», а их универсальный/локальный бит установлен в ноль. Это упрощает строковое представление соответствующих адресов IPv6. Например, ULA для идентификатора узла 10
будет FD00:0
:1:1::A.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | идентификатор интерфейса IPv6. |
Макс
const _T & max( const _T & a, const _T & b )
мин
const _T & min( const _T & a, const _T & b )