11#ifndef ZEPHYR_INCLUDE_NET_OPENTHREAD_H_
12#define ZEPHYR_INCLUDE_NET_OPENTHREAD_H_
25#include <openthread/instance.h>
44struct openthread_context {
61 struct pkt_list_elem pkt_list[CONFIG_OPENTHREAD_PKT_LIST_SIZE];
204#define OPENTHREAD_L2_CTX_TYPE struct openthread_context
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.
void openthread_api_mutex_lock(struct openthread_context *ot_context)
Lock internal mutex before accessing OT API.
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 Ope...
int openthread_start(struct openthread_context *ot_context)
Starts the OpenThread network.
struct otInstance * openthread_get_default_instance(void)
Get pointer to default OpenThread instance.
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.
void openthread_set_state_changed_cb(otStateChangedCallback cb)
Sets function which will be called when certain configuration or state changes within OpenThread.
struct openthread_context * openthread_get_default_context(void)
Get pointer to default OpenThread context.
struct _slist sys_slist_t
Single-linked list structure.
Definition: slist.h:49
struct _snode sys_snode_t
Single-linked list node structure.
Definition: slist.h:39
Public API for network interface.
flags
Definition: parser.h:96
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
Mutex Structure.
Definition: kernel.h:2914
Thread Structure.
Definition: thread.h:259
A structure used to hold work until it can be processed.
Definition: kernel.h:4027
A structure used to submit work.
Definition: kernel.h:3875
Network Interface structure.
Definition: net_if.h:675
Network packet.
Definition: net_pkt.h:67
OpenThread state change callback
Definition: openthread.h:89
sys_snode_t node
Internally used field for list handling.
Definition: openthread.h:108
void(* state_changed_cb)(otChangedFlags flags, struct openthread_context *ot_context, void *user_data)
Callback for notifying configuration or state changes.
Definition: openthread.h:98
void * user_data
User data if required.
Definition: openthread.h:102