Маршрутизатор/лидер

Этот модуль включает в себя функции для маршрутизаторов потоков и лидеров.

Краткое содержание

Перечисления

otCacheEntryState перечисление
Определяет состояние записи кэша EID.
otNeighborTableEvent {
OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED ,
OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED ,
OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED ,
OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED ,
OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED
}
перечисление
Определяет константы, используемые в otNeighborTableCallback для указания изменений в таблице соседей.
otPowerSupply {
OT_POWER_SUPPLY_BATTERY = 0,
OT_POWER_SUPPLY_EXTERNAL = 1,
OT_POWER_SUPPLY_EXTERNAL_STABLE = 2,
OT_POWER_SUPPLY_EXTERNAL_UNSTABLE = 3
}
перечисление
Представляет свойство источника питания на устройстве.

Определения типов

otCacheEntryInfo определение типа
Представляет запись кэша EID.
otCacheEntryIterator определение типа
Представляет итератор, используемый для перебора записей таблицы кэша EID.
otCacheEntryState определение типа
Определяет состояние записи кэша EID.
otChildIp6AddressIterator определение типа
uint16_t
Используется для перебора IPv6-адресов записи дочернего потока.
otDeviceProperties определение типа
Представляет свойства устройства, которые используются для расчета веса локального лидера на устройстве.
otNeighborTableCallback )(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo) определение типа
void(*
Указатель вызывается для уведомления об изменении таблицы соседей.

Функции

otThreadBecomeLeader ( otInstance *aInstance)
Станьте лидером и начните новый раздел.
otThreadBecomeRouter ( otInstance *aInstance)
Попытайтесь стать маршрутизатором.
otThreadGetAdvertisementTrickleIntervalMax ( otInstance *aInstance)
uint32_t
Получает текущее значение максимального интервала, используемое таймером минимального количества рекламы.
otThreadGetChildInfoById ( otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo)
Получает диагностическую информацию о подключенном дочернем элементе по его идентификатору дочернего элемента или RLOC16.
otThreadGetChildInfoByIndex ( otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo)
Функция сохраняет диагностическую информацию о прикрепленном дочернем элементе по внутреннему индексу таблицы.
otThreadGetChildNextIp6Address ( otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress)
Получает следующий IPv6-адрес (с помощью итератора) для данного дочернего элемента.
otThreadGetChildRouterLinks ( otInstance *aInstance)
uint8_t
Получите параметр MLE_CHILD_ROUTER_LINKS, используемый в роли REED.
otThreadGetContextIdReuseDelay ( otInstance *aInstance)
uint32_t
Получите параметр CONTEXT_ID_REUSE_DELAY, используемый в роли лидера.
otThreadGetDeviceProperties ( otInstance *aInstance)
Получите текущие свойства устройства.
otThreadGetJoinerUdpPort ( otInstance *aInstance)
uint16_t
Получает UDP-порт соединения.
otThreadGetLocalLeaderWeight ( otInstance *aInstance)
uint8_t
Получает вес лидера потока, используемый при работе в роли лидера.
otThreadGetMaxAllowedChildren ( otInstance *aInstance)
uint16_t
Получает максимальное количество дочерних элементов, разрешенное в настоящее время.
otThreadGetMaxChildIpAddresses ( otInstance *aInstance)
uint8_t
Получает максимальное количество IP-адресов, которые каждый дочерний элемент MTD может зарегистрировать на этом устройстве в качестве родительского.
otThreadGetMaxRouterId ( otInstance *aInstance)
uint8_t
Функция возвращает максимально допустимый идентификатор маршрутизатора.
otThreadGetNetworkIdTimeout ( otInstance *aInstance)
uint8_t
Получите параметр NETWORK_ID_TIMEOUT .
otThreadGetNextCacheEntry ( otInstance *aInstance, otCacheEntryInfo *aEntryInfo, otCacheEntryIterator *aIterator)
Получает следующую запись кэша EID (с помощью итератора).
otThreadGetNextHopAndPathCost ( otInstance *aInstance, uint16_t aDestRloc16, uint16_t *aNextHopRloc16, uint8_t *aPathCost)
void
Получает стоимость следующего перехода и пути к заданному пункту назначения RLOC16.
otThreadGetParentPriority ( otInstance *aInstance)
int8_t
Получите назначенный родительский приоритет.
otThreadGetPreferredLeaderPartitionId ( otInstance *aInstance)
uint32_t
Получите предпочтительный идентификатор раздела лидера потока, используемый при работе в роли лидера.
otThreadGetPskc ( otInstance *aInstance, otPskc *aPskc)
void
Получите тему PSKc.
otThreadGetPskcRef ( otInstance *aInstance)
Получить ключевую ссылку на сохраненный поток PSKc.
otThreadGetRouterDowngradeThreshold ( otInstance *aInstance)
uint8_t
Получите параметр ROUTER_DOWNGRADE_THRESHOLD, используемый в роли маршрутизатора.
otThreadGetRouterIdRange ( otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId)
void
Получает диапазон идентификаторов маршрутизатора, которые разрешено назначать узлам в сети потоков.
otThreadGetRouterIdSequence ( otInstance *aInstance)
uint8_t
Получите текущую последовательность идентификаторов маршрутизатора.
otThreadGetRouterInfo ( otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo)
Функция сохраняет диагностическую информацию для данного Thread Router.
otThreadGetRouterSelectionJitter ( otInstance *aInstance)
uint8_t
Получите параметр ROUTER_SELECTION_JITTER, используемый в роли REED/Router.
otThreadGetRouterUpgradeThreshold ( otInstance *aInstance)
uint8_t
Получите параметр ROUTER_UPGRADE_THRESHOLD, используемый в роли REED.
otThreadIsRouterEligible ( otInstance *aInstance)
bool
Указывает, совместимо ли устройство с маршрутизатором.
otThreadIsRouterIdAllocated ( otInstance *aInstance, uint8_t aRouterId)
bool
Указывает, выделен ли в данный момент идентификатор маршрутизатора.
otThreadRegisterNeighborTableCallback ( otInstance *aInstance, otNeighborTableCallback aCallback)
void
Регистрирует функцию обратного вызова соседней таблицы.
otThreadReleaseRouterId ( otInstance *aInstance, uint8_t aRouterId)
Освободите идентификатор маршрутизатора, назначенный устройству в роли лидера.
otThreadSetCcmEnabled ( otInstance *aInstance, bool aEnabled)
void
Устанавливает, было ли устройство введено в эксплуатацию с использованием CCM.
otThreadSetChildRouterLinks ( otInstance *aInstance, uint8_t aChildRouterLinks)
Установите параметр MLE_CHILD_ROUTER_LINKS, используемый в роли REED.
otThreadSetContextIdReuseDelay ( otInstance *aInstance, uint32_t aDelay)
void
Установите параметр CONTEXT_ID_REUSE_DELAY, используемый в роли лидера.
otThreadSetDeviceProperties ( otInstance *aInstance, const otDeviceProperties *aDeviceProperties)
void
Задайте свойства устройства, которые затем будут использоваться для определения и установки веса выноски.
otThreadSetJoinerUdpPort ( otInstance *aInstance, uint16_t aJoinerUdpPort)
Устанавливает UDP-порт соединения.
otThreadSetLocalLeaderWeight ( otInstance *aInstance, uint8_t aWeight)
void
Устанавливает вес лидера резьбы, используемый при работе в роли лидера.
otThreadSetMaxAllowedChildren ( otInstance *aInstance, uint16_t aMaxChildren)
Устанавливает максимальное количество дочерних элементов, разрешенное в настоящее время.
otThreadSetMaxChildIpAddresses ( otInstance *aInstance, uint8_t aMaxIpAddresses)
Устанавливает или восстанавливает максимальное количество IP-адресов, которые каждый дочерний элемент MTD может зарегистрировать на этом устройстве в качестве родительского.
otThreadSetNetworkIdTimeout ( otInstance *aInstance, uint8_t aTimeout)
void
Установите параметр NETWORK_ID_TIMEOUT .
otThreadSetParentPriority ( otInstance *aInstance, int8_t aParentPriority)
Установите родительский приоритет.
otThreadSetPreferredLeaderPartitionId ( otInstance *aInstance, uint32_t aPartitionId)
void
Установите предпочтительный идентификатор раздела лидера темы, используемый при работе в роли лидера.
otThreadSetPreferredRouterId ( otInstance *aInstance, uint8_t aRouterId)
Установите предпочтительный идентификатор маршрутизатора.
otThreadSetPskc ( otInstance *aInstance, const otPskc *aPskc)
Установите поток PSKc.
otThreadSetPskcRef ( otInstance *aInstance, otPskcRef aKeyRef)
Установите ключевую ссылку на поток PSKc.
otThreadSetRouterDowngradeThreshold ( otInstance *aInstance, uint8_t aThreshold)
void
Установите параметр ROUTER_DOWNGRADE_THRESHOLD, используемый в роли лидера.
otThreadSetRouterEligible ( otInstance *aInstance, bool aEligible)
Определяет, поддерживает ли устройство использование маршрутизатора.
otThreadSetRouterIdRange ( otInstance *aInstance, uint8_t aMinRouterId, uint8_t aMaxRouterId)
Устанавливает диапазон идентификаторов маршрутизатора, которые разрешено назначать узлам в сети потоков.
otThreadSetRouterSelectionJitter ( otInstance *aInstance, uint8_t aRouterJitter)
void
Установите параметр ROUTER_SELECTION_JITTER, используемый в роли REED/Router.
otThreadSetRouterUpgradeThreshold ( otInstance *aInstance, uint8_t aThreshold)
void
Установите параметр ROUTER_UPGRADE_THRESHOLD, используемый в роли лидера.
otThreadSetSteeringData ( otInstance *aInstance, const otExtAddress *aExtAddress)
void
Установите данные рулевого управления вне диапазона.
otThreadSetThreadVersionCheckEnabled ( otInstance *aInstance, bool aEnabled)
void
Устанавливает, включено ли пороговое значение версии TLV политики безопасности для маршрутизации (поле VR).

Структуры

откэшентриинфо

Представляет запись кэша EID.

otCacheEntryIterator

Представляет итератор, используемый для перебора записей таблицы кэша EID.

отChildInfo

Содержит диагностическую информацию для дочернего элемента потока.

отдевицепропертиес

Представляет свойства устройства, которые используются для расчета веса локального лидера на устройстве.

otNeighborTableEntryInfo

Представляет информацию о записи таблицы соседей (дочерний элемент или маршрутизатор) и используется в качестве параметра в обратном вызове таблицы соседей otNeighborTableCallback .

Перечисления

откэшетристате

 otCacheEntryState

Определяет состояние записи кэша EID.

otNeighborTableEvent

 otNeighborTableEvent

Определяет константы, используемые в otNeighborTableCallback для указания изменений в таблице соседей.

Характеристики
OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED

Добавляется ребенок.

OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED

Существующий детский режим изменен.

OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED

Ребенка удаляют.

OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED

Маршрутизатор добавляется.

OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED

Роутер удаляется.

otPowerSupply

 otPowerSupply

Представляет свойство источника питания на устройстве.

Это используется как свойство в otDeviceProperties для расчета веса лидера.

Характеристики
OT_POWER_SUPPLY_BATTERY

Батарея заряжена.

OT_POWER_SUPPLY_EXTERNAL

Внешнее питание (питание от сети).

OT_POWER_SUPPLY_EXTERNAL_STABLE

Стабильное внешнее питание от резервного аккумулятора или ИБП.

OT_POWER_SUPPLY_EXTERNAL_UNSTABLE

Потенциально нестабильное внешнее питание (например, питание лампочки через выключатель).

Определения типов

откэшентриинфо

struct otCacheEntryInfo otCacheEntryInfo

Представляет запись кэша EID.

otCacheEntryIterator

struct otCacheEntryIterator otCacheEntryIterator

Представляет итератор, используемый для перебора записей таблицы кэша EID.

Чтобы инициализировать итератор и начать с первой записи в таблице кэша, установите все его поля в структуре в ноль (например, memset итератор в ноль).

откэшетристате

enum otCacheEntryState otCacheEntryState

Определяет состояние записи кэша EID.

otChildIp6AddressIterator

uint16_t otChildIp6AddressIterator

Используется для перебора IPv6-адресов записи дочернего потока.

отдевицепропертиес

struct otDeviceProperties otDeviceProperties

Представляет свойства устройства, которые используются для расчета веса локального лидера на устройстве.

Параметры устанавливаются на основе возможностей устройства, независимо от того, действует ли оно как пограничный маршрутизатор, конфигурации его источника питания и т. д.

mIsUnstable указывает на стабильность работы устройства и определяется с помощью механизма, специфичного для поставщика. Сюда могут быть включены следующие случаи:

  • Устройство внутренне обнаруживает, что теряет внешний источник питания чаще, чем обычно. То, что является обычным, определяется поставщиком.
  • Устройство внутренне обнаруживает, что оно перезагружается чаще, чем обычно. То, что является обычным, определяется поставщиком.

otNeighborTableCallback

void(* otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)

Указатель вызывается для уведомления об изменении таблицы соседей.

Подробности
Параметры
[in] aEvent
Флаг события.
[in] aEntryInfo
Указатель на информацию о записи таблицы.

Функции

otThreadBecomeLeader

otError otThreadBecomeLeader(
  otInstance *aInstance
)

Станьте лидером и начните новый раздел.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Успешно стал лидером и начал новый раздел.
OT_ERROR_INVALID_STATE
Тема отключена.

otThreadBecomeRouter

otError otThreadBecomeRouter(
  otInstance *aInstance
)

Попытайтесь стать маршрутизатором.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Успешно начните попытку стать маршрутизатором.
OT_ERROR_INVALID_STATE
Тема отключена.

otThreadGetAdvertisementTrickleIntervalMax

uint32_t otThreadGetAdvertisementTrickleIntervalMax(
  otInstance *aInstance
)

Получает текущее значение максимального интервала, используемое таймером минимального количества рекламы.

Для этого API требуется OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE и он предназначен только для тестирования.

Подробности
Возврат
Таймер максимального интервала рекламы в миллисекундах.

otThreadGetChildInfoById

otError otThreadGetChildInfoById(
  otInstance *aInstance,
  uint16_t aChildId,
  otChildInfo *aChildInfo
)

Получает диагностическую информацию о подключенном дочернем элементе по его идентификатору дочернего элемента или RLOC16.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aChildId
Идентификатор ребенка или RLOC16 для прикрепленного дочернего элемента.
[out] aChildInfo
Указатель на то, где размещается дочерняя информация.
Возвращаемые значения
OT_ERROR_NONE
aChildInfo был успешно обновлен информацией для данного идентификатора.
OT_ERROR_NOT_FOUND
Нет действительного ребенка с этим идентификатором ребенка.
OT_ERROR_INVALID_ARGS
Если aChildInfo имеет значение NULL.

otThreadGetChildInfoByIndex

otError otThreadGetChildInfoByIndex(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildInfo *aChildInfo
)

Функция сохраняет диагностическую информацию о прикрепленном дочернем элементе по внутреннему индексу таблицы.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aChildIndex
Индекс таблицы.
[out] aChildInfo
Указатель на то, где размещается дочерняя информация.
Возвращаемые значения
OT_ERROR_NONE
aChildInfo успешно обновлен информацией для данного индекса.
OT_ERROR_NOT_FOUND
По этому индексу нет допустимого дочернего элемента.
OT_ERROR_INVALID_ARGS
Либо aChildInfo имеет значение NULL, либо aChildIndex выходит за пределы диапазона (выше максимального индекса таблицы).
Смотрите также:
otGetMaxAllowedChildren

otThreadGetChildNextIp6Address

otError otThreadGetChildNextIp6Address(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildIp6AddressIterator *aIterator,
  otIp6Address *aAddress
)

Получает следующий IPv6-адрес (с помощью итератора) для данного дочернего элемента.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aChildIndex
Детский индекс.
[in,out] aIterator
Указатель на итератор. В случае успеха итератор будет обновлен и укажет на следующую запись в списке. Чтобы получить первый адрес IPv6, итератор должен быть установлен на OT_CHILD_IP6_ADDRESS_ITERATOR_INIT.
[out] aAddress
Указатель на адрес IPv6, куда помещается следующий адрес дочернего элемента (в случае успеха).
Возвращаемые значения
OT_ERROR_NONE
Успешно найден следующий адрес IPv6 ( aAddress был успешно обновлен).
OT_ERROR_NOT_FOUND
Дочерний элемент не имеет последующей записи адреса IPv6.
OT_ERROR_INVALID_ARGS
aIterator или aAddress имеют значение NULL, или дочерний элемент aChildIndex недействителен.
Смотрите также:
otThreadGetChildInfoByIndex
uint8_t otThreadGetChildRouterLinks(
  otInstance *aInstance
)

Получите параметр MLE_CHILD_ROUTER_LINKS, используемый в роли REED.

Этот параметр определяет максимальное количество соседних маршрутизаторов, с которыми устройство (как FED) попытается установить связь.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Значение MLE_CHILD_ROUTER_LINKS.
Смотрите также:
otThreadSetChildRouterLinks

otThreadGetContextIdReuseDelay

uint32_t otThreadGetContextIdReuseDelay(
  otInstance *aInstance
)

Получите параметр CONTEXT_ID_REUSE_DELAY, используемый в роли лидера.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Значение CONTEXT_ID_REUSE_DELAY.
Смотрите также:
otThreadSetContextIdReuseDelay

отThreadGetDeviceProperties

const otDeviceProperties * otThreadGetDeviceProperties(
  otInstance *aInstance
)

Получите текущие свойства устройства.

Требуется OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE .

Подробности
Возврат
Свойства устройства otDeviceProperties .

otThreadGetJoinerUdpPort

uint16_t otThreadGetJoinerUdpPort(
  otInstance *aInstance
)

Получает UDP-порт соединения.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Номер UDP-порта присоединения.
Смотрите также:
отThreadSetJoinerUdpPort

otThreadGetLocalLeaderWeight

uint8_t otThreadGetLocalLeaderWeight(
  otInstance *aInstance
)

Получает вес лидера потока, используемый при работе в роли лидера.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Значение веса лидера резьбы.
Смотрите также:
otThreadSetLeaderWeight
отСреадсетдевицепропертиес

otThreadGetMaxAllowedChildren

uint16_t otThreadGetMaxAllowedChildren(
  otInstance *aInstance
)

Получает максимальное количество дочерних элементов, разрешенное в настоящее время.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Максимально разрешенное количество детей в настоящее время.
Смотрите также:
otThreadSetMaxAllowedChildren

otThreadGetMaxChildIpAddresses

uint8_t otThreadGetMaxChildIpAddresses(
  otInstance *aInstance
)

Получает максимальное количество IP-адресов, которые каждый дочерний элемент MTD может зарегистрировать на этом устройстве в качестве родительского.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Максимальное количество IP-адресов, которые каждый дочерний элемент MTD может зарегистрировать на этом устройстве в качестве родительского.
Смотрите также:
otThreadSetMaxChildIpAddresses

otThreadGetMaxRouterId

uint8_t otThreadGetMaxRouterId(
  otInstance *aInstance
)

Функция возвращает максимально допустимый идентификатор маршрутизатора.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Максимально допустимый идентификатор маршрутизатора.

отсреаджетнетворкидтимеаут

uint8_t otThreadGetNetworkIdTimeout(
  otInstance *aInstance
)

Получите параметр NETWORK_ID_TIMEOUT .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Значение NETWORK_ID_TIMEOUT .
Смотрите также:
отСреадсетнетворкидтимеаут

отThreadGetNextCacheEntry

otError otThreadGetNextCacheEntry(
  otInstance *aInstance,
  otCacheEntryInfo *aEntryInfo,
  otCacheEntryIterator *aIterator
)

Получает следующую запись кэша EID (с помощью итератора).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aEntryInfo
Указатель на то, где размещается информация о записи кэша EID.
[in,out] aIterator
Указатель на итератор. Он будет обновлен, чтобы указать на следующую запись об успехе. Чтобы получить первую запись, инициализируйте итератор, установив все его поля в ноль (например, memset структуру итератора в ноль).
Возвращаемые значения
OT_ERROR_NONE
aEntryInfo успешно заполнено для следующей записи кэша EID.
OT_ERROR_NOT_FOUND
В таблице кэша адресов больше нет записей.

otThreadGetNextHopAndPathCost

void otThreadGetNextHopAndPathCost(
  otInstance *aInstance,
  uint16_t aDestRloc16,
  uint16_t *aNextHopRloc16,
  uint8_t *aPathCost
)

Получает стоимость следующего перехода и пути к заданному пункту назначения RLOC16.

Может использоваться либо с aNextHopRloc16 , либо aPathCost , имеющим значение NULL, указывающее, что вызывающая сторона не хочет получать это значение.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aDestRloc16
RLOC16 пункта назначения.
[out] aNextHopRloc16
Указатель для возврата RLOC16 следующего прыжка, 0xfffe, если следующего прыжка нет.
[out] aPathCost
Указатель на возврат стоимости пути к месту назначения.

otThreadGetParentPriority

int8_t otThreadGetParentPriority(
  otInstance *aInstance
)

Получите назначенный родительский приоритет.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Назначенное значение приоритета родительского элемента -2 означает, что он не назначен.
Смотрите также:
otThreadSetParentPriority

otThreadGetPreferredLeaderPartitionId

uint32_t otThreadGetPreferredLeaderPartitionId(
  otInstance *aInstance
)

Получите предпочтительный идентификатор раздела лидера потока, используемый при работе в роли лидера.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Значение идентификатора раздела лидера потока.

otThreadGetPskc

void otThreadGetPskc(
  otInstance *aInstance,
  otPskc *aPskc
)

Получите тему PSKc.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aPskc
Указатель на otPskc для возврата полученного потока PSKc.
Смотрите также:
otThreadSetPskc

otThreadGetPskcRef

otPskcRef otThreadGetPskcRef(
  otInstance *aInstance
)

Получить ключевую ссылку на сохраненный поток PSKc.

Требуется, чтобы функция времени сборки OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE была включена.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Ключевая ссылка на PSKc
Смотрите также:
otThreadSetPskcRef

otThreadGetRouterDowngradeThreshold

uint8_t otThreadGetRouterDowngradeThreshold(
  otInstance *aInstance
)

Получите параметр ROUTER_DOWNGRADE_THRESHOLD, используемый в роли маршрутизатора.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Значение ROUTER_DOWNGRADE_THRESHOLD.
Смотрите также:
otThreadSetRouterDowngradeThreshold

otThreadGetRouterIdRange

void otThreadGetRouterIdRange(
  otInstance *aInstance,
  uint8_t *aMinRouterId,
  uint8_t *aMaxRouterId
)

Получает диапазон идентификаторов маршрутизатора, которые разрешено назначать узлам в сети потоков.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aMinRouterId
Минимальный идентификатор маршрутизатора.
[out] aMaxRouterId
Максимальный идентификатор маршрутизатора.
Смотрите также:
otThreadSetRouterIdRange

otThreadGetRouterIdSequence

uint8_t otThreadGetRouterIdSequence(
  otInstance *aInstance
)

Получите текущую последовательность идентификаторов маршрутизатора.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Последовательность идентификатора маршрутизатора.

otThreadGetRouterInfo

otError otThreadGetRouterInfo(
  otInstance *aInstance,
  uint16_t aRouterId,
  otRouterInfo *aRouterInfo
)

Функция сохраняет диагностическую информацию для данного Thread Router.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aRouterId
Идентификатор маршрутизатора или RLOC16 для данного маршрутизатора.
[out] aRouterInfo
Указатель на то, где находится информация о маршрутизаторе.
Возвращаемые значения
OT_ERROR_NONE
Информация о маршрутизаторе для данного идентификатора успешно получена.
OT_ERROR_NOT_FOUND
Нет записи маршрутизатора с данным идентификатором.
OT_ERROR_INVALID_ARGS
aRouterInfo имеет значение NULL.

otThreadGetRouterSelectionJitter

uint8_t otThreadGetRouterSelectionJitter(
  otInstance *aInstance
)

Получите параметр ROUTER_SELECTION_JITTER, используемый в роли REED/Router.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Значение ROUTER_SELECTION_JITTER.
Смотрите также:
otThreadSetRouterSelectionJitter

otThreadGetRouterUpgradeThreshold

uint8_t otThreadGetRouterUpgradeThreshold(
  otInstance *aInstance
)

Получите параметр ROUTER_UPGRADE_THRESHOLD, используемый в роли REED.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Значение ROUTER_UPGRADE_THRESHOLD.
Смотрите также:
otThreadSetRouterUpgradeThreshold

otThreadIsRouterEligible

bool otThreadIsRouterEligible(
  otInstance *aInstance
)

Указывает, совместимо ли устройство с маршрутизатором.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
TRUE
Если устройство поддерживает маршрутизатор.
FALSE
Если устройство не поддерживает маршрутизатор.

отТреадисроутеридаллокатед

bool otThreadIsRouterIdAllocated(
  otInstance *aInstance,
  uint8_t aRouterId
)

Указывает, выделен ли в данный момент идентификатор маршрутизатора.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aRouterId
Идентификатор маршрутизатора, который необходимо проверить.
Возвращаемые значения
TRUE
Выделяется aRouterId .
FALSE
aRouterId не выделен.

otThreadRegisterNeighborTableCallback

void otThreadRegisterNeighborTableCallback(
  otInstance *aInstance,
  otNeighborTableCallback aCallback
)

Регистрирует функцию обратного вызова соседней таблицы.

Предоставленный обратный вызов (если не NULL) будет вызываться при изменении в таблице соседей (например, добавляется/удаляется дочерняя запись или запись соседа маршрутизатора или изменяется существующий дочерний режим).

Последующие вызовы этого метода перезапишут предыдущий обратный вызов. Обратите внимание, что этот обратный вызов вызывается во время обновления соседней/дочерней таблицы и всегда перед otStateChangedCallback .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aCallback
Указатель на функцию-обработчик обратного вызова.

otThreadReleaseRouterId

otError otThreadReleaseRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Освободите идентификатор маршрутизатора, назначенный устройству в роли лидера.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aRouterId
Идентификатор маршрутизатора, который необходимо освободить. Допустимый диапазон: [0, 62].
Возвращаемые значения
OT_ERROR_NONE
Идентификатор маршрутизатора успешно освобожден.
OT_ERROR_INVALID_ARGS
aRouterId находится за пределами диапазона [0, 62].
OT_ERROR_INVALID_STATE
Устройство на данный момент не работает в качестве лидера.
OT_ERROR_NOT_FOUND
Идентификатор маршрутизатора в настоящее время не выделен.

отСреадсеткменаблед

void otThreadSetCcmEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Устанавливает, было ли устройство введено в эксплуатацию с использованием CCM.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aEnabled
TRUE, если устройство было введено в эксплуатацию с использованием CCM, в противном случае FALSE.
otError otThreadSetChildRouterLinks(
  otInstance *aInstance,
  uint8_t aChildRouterLinks
)

Установите параметр MLE_CHILD_ROUTER_LINKS, используемый в роли REED.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aChildRouterLinks
Значение MLE_CHILD_ROUTER_LINKS.
Возвращаемые значения
OT_ERROR_NONE
Значение успешно установлено.
OT_ERROR_INVALID_STATE
Протоколы потоков включены.
Смотрите также:
otThreadGetChildRouterLinks

otThreadSetContextIdReuseDelay

void otThreadSetContextIdReuseDelay(
  otInstance *aInstance,
  uint32_t aDelay
)

Установите параметр CONTEXT_ID_REUSE_DELAY, используемый в роли лидера.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aDelay
Значение CONTEXT_ID_REUSE_DELAY.
Смотрите также:
otThreadGetContextIdReuseDelay

отСреадсетдевицепропертиес

void otThreadSetDeviceProperties(
  otInstance *aInstance,
  const otDeviceProperties *aDeviceProperties
)

Задайте свойства устройства, которые затем будут использоваться для определения и установки веса выноски.

Требуется OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aDeviceProperties
Свойства устройства.

отThreadSetJoinerUdpPort

otError otThreadSetJoinerUdpPort(
  otInstance *aInstance,
  uint16_t aJoinerUdpPort
)

Устанавливает UDP-порт соединения.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aJoinerUdpPort
Номер UDP-порта присоединения.
Возвращаемые значения
OT_ERROR_NONE
UDP-порт Joiner успешно установлен.
Смотрите также:
otThreadGetJoinerUdpPort

otThreadSetLocalLeaderWeight

void otThreadSetLocalLeaderWeight(
  otInstance *aInstance,
  uint8_t aWeight
)

Устанавливает вес лидера резьбы, используемый при работе в роли лидера.

Непосредственно устанавливает для Leader Weight новое значение, заменяя его предыдущее значение (которое могло быть определено из текущего значения otDeviceProperties ).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aWeight
Значение веса лидера резьбы.
Смотрите также:
otThreadGetLeaderWeight

otThreadSetMaxAllowedChildren

otError otThreadSetMaxAllowedChildren(
  otInstance *aInstance,
  uint16_t aMaxChildren
)

Устанавливает максимальное количество дочерних элементов, разрешенное в настоящее время.

Этот параметр можно установить только в том случае, если работа протокола Thread остановлена.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aMaxChildren
Максимально разрешенное количество детей.
Возвращаемые значения
OT_ERROR_NONE
Успешно установили макс.
OT_ERROR_INVALID_ARGS
Если aMaxChildren не находится в диапазоне [1, OPENTHREAD_CONFIG_MLE_MAX_CHILDREN].
OT_ERROR_INVALID_STATE
Если поток не остановлен.
Смотрите также:
otThreadGetMaxAllowedChildren

otThreadSetMaxChildIpAddresses

otError otThreadSetMaxChildIpAddresses(
  otInstance *aInstance,
  uint8_t aMaxIpAddresses
)

Устанавливает или восстанавливает максимальное количество IP-адресов, которые каждый дочерний элемент MTD может зарегистрировать на этом устройстве в качестве родительского.

Введите 0 , чтобы очистить настройку и восстановить значения по умолчанию.

Доступно, если включен OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aMaxIpAddresses
Максимальное количество IP-адресов, которые каждый дочерний элемент MTD может зарегистрировать на этом устройстве в качестве родительского. 0, чтобы очистить настройку и восстановить значения по умолчанию.
Возвращаемые значения
OT_ERROR_NONE
Успешно установил/очистил номер.
OT_ERROR_INVALID_ARGS
Если превышает разрешенное максимальное количество.
Смотрите также:
otThreadGetMaxChildIpAddresses

отСреадсетнетворкидтимеаут

void otThreadSetNetworkIdTimeout(
  otInstance *aInstance,
  uint8_t aTimeout
)

Установите параметр NETWORK_ID_TIMEOUT .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aTimeout
Значение NETWORK_ID_TIMEOUT .
Смотрите также:
отсреаджетнетворкидтимеаут

otThreadSetParentPriority

otError otThreadSetParentPriority(
  otInstance *aInstance,
  int8_t aParentPriority
)

Установите родительский приоритет.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aParentPriority
Значение родительского приоритета.
Возвращаемые значения
OT_ERROR_NONE
Успешно установили родительский приоритет.
OT_ERROR_INVALID_ARGS
Если значение родительского приоритета не входит в число 1, 0, -1 и -2.
Смотрите также:
otThreadGetParentPriority

otThreadSetPreferredLeaderPartitionId

void otThreadSetPreferredLeaderPartitionId(
  otInstance *aInstance,
  uint32_t aPartitionId
)

Установите предпочтительный идентификатор раздела лидера темы, используемый при работе в роли лидера.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aPartitionId
Значение идентификатора раздела лидера потока.

otThreadSetPreferredRouterId

otError otThreadSetPreferredRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Установите предпочтительный идентификатор маршрутизатора.

Став маршрутизатором/лидером, узел пытается использовать этот идентификатор маршрутизатора. Если предпочтительный идентификатор маршрутизатора не установлен или его невозможно использовать, выбирается случайно сгенерированный идентификатор маршрутизатора. Это свойство можно задать только в том случае, если роль устройства отключена или отключена.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aRouterId
Предпочтительный идентификатор маршрутизатора.
Возвращаемые значения
OT_ERROR_NONE
Успешно установите предпочтительный идентификатор маршрутизатора.
OT_ERROR_INVALID_STATE
Не удалось установить (роль не отсоединена или не отключена)

otThreadSetPskc

otError otThreadSetPskc(
  otInstance *aInstance,
  const otPskc *aPskc
)

Установите поток PSKc.

Будет успешным только в том случае, если протоколы потоков отключены. Успешный вызов этой функции также аннулирует активные и ожидающие операционные наборы данных в энергонезависимой памяти.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aPskc
Указатель на новый поток PSKc.
Возвращаемые значения
OT_ERROR_NONE
Успешно установите поток PSKc.
OT_ERROR_INVALID_STATE
Протоколы потоков включены.
Смотрите также:
otThreadGetPskc

otThreadSetPskcRef

otError otThreadSetPskcRef(
  otInstance *aInstance,
  otPskcRef aKeyRef
)

Установите ключевую ссылку на поток PSKc.

Требуется, чтобы функция времени сборки OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE была включена.

Будет успешным только в том случае, если протоколы потоков отключены. В случае успеха это также приведет к аннулированию активных и ожидающих операционных наборов данных в энергонезависимой памяти.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aKeyRef
Ключевая ссылка на новую тему PSKc.
Возвращаемые значения
OT_ERROR_NONE
Успешно установите поток PSKc.
OT_ERROR_INVALID_STATE
Протоколы потоков включены.
Смотрите также:
otThreadGetPskcRef

otThreadSetRouterDowngradeThreshold

void otThreadSetRouterDowngradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

Установите параметр ROUTER_DOWNGRADE_THRESHOLD, используемый в роли лидера.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aThreshold
Значение ROUTER_DOWNGRADE_THRESHOLD.
Смотрите также:
otThreadGetRouterDowngradeThreshold

otThreadSetRouterEligible

otError otThreadSetRouterEligible(
  otInstance *aInstance,
  bool aEligible
)

Определяет, поддерживает ли устройство использование маршрутизатора.

Если aEligible имеет значение false и устройство в данный момент работает как маршрутизатор, этот вызов приведет к отключению устройства и попытке повторного подключения в качестве дочернего.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aEligible
TRUE, чтобы настроить устройство как подходящее для маршрутизатора, в противном случае FALSE.
Возвращаемые значения
OT_ERROR_NONE
Успешно установите конфигурацию, подходящую для маршрутизатора.
OT_ERROR_NOT_CAPABLE
Устройство не способно стать роутером.

otThreadSetRouterIdRange

otError otThreadSetRouterIdRange(
  otInstance *aInstance,
  uint8_t aMinRouterId,
  uint8_t aMaxRouterId
)

Устанавливает диапазон идентификаторов маршрутизатора, которые разрешено назначать узлам в сети потоков.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aMinRouterId
Минимальный идентификатор маршрутизатора.
[in] aMaxRouterId
Максимальный идентификатор маршрутизатора.
Возвращаемые значения
OT_ERROR_NONE
Успешно установили диапазон.
OT_ERROR_INVALID_ARGS
aMinRouterId > aMaxRouterId, или диапазон не охватывается [0, 62].
Смотрите также:
otThreadGetRouterIdRange

otThreadSetRouterSelectionJitter

void otThreadSetRouterSelectionJitter(
  otInstance *aInstance,
  uint8_t aRouterJitter
)

Установите параметр ROUTER_SELECTION_JITTER, используемый в роли REED/Router.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aRouterJitter
Значение ROUTER_SELECTION_JITTER.
Смотрите также:
otThreadGetRouterSelectionJitter

otThreadSetRouterUpgradeThreshold

void otThreadSetRouterUpgradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

Установите параметр ROUTER_UPGRADE_THRESHOLD, используемый в роли лидера.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aThreshold
Значение ROUTER_UPGRADE_THRESHOLD.
Смотрите также:
otThreadGetRouterUpgradeThreshold

otThreadSetSteeringData

void otThreadSetSteeringData(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Установите данные рулевого управления вне диапазона.

Параметр конфигурации OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE должен быть установлен, чтобы разрешить настройку внеполосных данных рулевого управления.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aExtAddress
Адрес, используемый для обновления данных рулевого управления. Все нули для очистки данных рулевого управления (нет данных рулевого управления). Все 0xFF для установки фильтра данных управления/блума, чтобы принять/разрешить все. Определенный EUI64, который затем добавляется к текущему фильтру данных рулевого управления/блума.

отСреадсетсреадверсиончекекенаблед

void otThreadSetThreadVersionCheckEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Устанавливает, включено ли пороговое значение версии TLV политики безопасности для маршрутизации (поле VR).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aEnabled
TRUE, чтобы включить пороговое значение версии TLV политики безопасности для маршрутизации, в противном случае FALSE.

Макросы

OT_CHILD_IP6_ADDRESS_ITERATOR_INIT

 OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0

Инициализатор для otChildIP6AddressIterator.

Ресурсы

Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .