Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
OpenThread Layer 2 abstraction layer. More...
Data Structures | |
struct | openthread_state_changed_cb |
OpenThread state change callback More... | |
Functions | |
int | openthread_state_changed_cb_register (struct openthread_context *ot_context, struct openthread_state_changed_cb *cb) |
Registers callbacks which will be called when certain configuration or state changes occur within OpenThread. | |
int | openthread_state_changed_cb_unregister (struct openthread_context *ot_context, struct openthread_state_changed_cb *cb) |
Unregisters OpenThread configuration or state changed callbacks. | |
k_tid_t | openthread_thread_id_get (void) |
Get OpenThread thread identification. | |
struct openthread_context * | openthread_get_default_context (void) |
Get pointer to default OpenThread context. | |
struct otInstance * | openthread_get_default_instance (void) |
Get pointer to default OpenThread instance. | |
int | openthread_start (struct openthread_context *ot_context) |
Starts the OpenThread network. | |
void | openthread_api_mutex_lock (struct openthread_context *ot_context) |
Lock internal mutex before accessing OT API. | |
int | openthread_api_mutex_try_lock (struct openthread_context *ot_context) |
Try to lock internal mutex before accessing OT API. | |
void | openthread_api_mutex_unlock (struct openthread_context *ot_context) |
Unlock internal mutex after accessing OT API. | |
OpenThread Layer 2 abstraction layer.
void openthread_api_mutex_lock | ( | struct openthread_context * | ot_context | ) |
#include <include/zephyr/net/openthread.h>
Lock internal mutex before accessing OT API.
OpenThread API is not thread-safe, therefore before accessing any API function, it's needed to lock the internal mutex, to prevent the OpenThread thread from preempting the API call.
ot_context | Context to lock. |
int openthread_api_mutex_try_lock | ( | struct openthread_context * | ot_context | ) |
#include <include/zephyr/net/openthread.h>
Try to lock internal mutex before accessing OT API.
This function behaves like openthread_api_mutex_lock() provided that the internal mutex is unlocked. Otherwise, it exists immediately and returns a negative value.
ot_context | Context to lock. |
0 | On success. |
<0 | On failure. |
void openthread_api_mutex_unlock | ( | struct openthread_context * | ot_context | ) |
#include <include/zephyr/net/openthread.h>
Unlock internal mutex after accessing OT API.
ot_context | Context to unlock. |
struct openthread_context * openthread_get_default_context | ( | void | ) |
#include <include/zephyr/net/openthread.h>
Get pointer to default OpenThread context.
!NULL | On success. |
NULL | On failure. |
struct otInstance * openthread_get_default_instance | ( | void | ) |
#include <include/zephyr/net/openthread.h>
Get pointer to default OpenThread instance.
!NULL | On success. |
NULL | On failure. |
int openthread_start | ( | struct openthread_context * | ot_context | ) |
#include <include/zephyr/net/openthread.h>
Starts the OpenThread network.
Depends on active settings: it uses stored network configuration, start joining procedure or uses default network configuration. Additionally when the device is MTD, it sets the SED mode to properly attach the network.
ot_context |
int openthread_state_changed_cb_register | ( | struct openthread_context * | ot_context, |
struct openthread_state_changed_cb * | cb | ||
) |
#include <include/zephyr/net/openthread.h>
Registers callbacks which will be called when certain configuration or state changes occur within OpenThread.
ot_context | the OpenThread context to register the callback with. |
cb | callback struct to register. |
int openthread_state_changed_cb_unregister | ( | struct openthread_context * | ot_context, |
struct openthread_state_changed_cb * | cb | ||
) |
#include <include/zephyr/net/openthread.h>
Unregisters OpenThread configuration or state changed callbacks.
ot_context | the OpenThread context to unregister the callback from. |
cb | callback struct to unregister. |
k_tid_t openthread_thread_id_get | ( | void | ) |
#include <include/zephyr/net/openthread.h>
Get OpenThread thread identification.