11#ifndef ZEPHYR_INCLUDE_NET_OPENTHREAD_H_
12#define ZEPHYR_INCLUDE_NET_OPENTHREAD_H_
27#include <openthread/instance.h>
28#include <openthread/message.h>
47struct openthread_context {
51 __deprecated otInstance *instance;
66 struct pkt_list_elem pkt_list[CONFIG_OPENTHREAD_PKT_LIST_SIZE];
71 __deprecated
struct k_mutex api_lock;
81 __deprecated
struct k_work api_work;
347#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_set_receive_cb(openthread_receive_cb cb, void *context)
Set the additional callback for receiving packets.
void openthread_api_mutex_lock(struct openthread_context *ot_context)
Lock internal mutex before accessing OT API.
int openthread_state_changed_callback_register(struct openthread_state_changed_callback *cb)
Register callbacks that will be called when a certain configuration or state changes occur within Ope...
void openthread_mutex_unlock(void)
Unlock internal mutex after accessing OpenThread API.
void(* openthread_receive_cb)(otMessage *message, void *context)
The common callback type for receiving IPv4 (translated by NAT64) and IPv6 datagrams.
Definition openthread.h:100
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.
int openthread_init(void)
Initialize the OpenThread module.
struct otInstance * openthread_get_default_instance(void)
Get pointer to default OpenThread instance.
int openthread_run(void)
Run the OpenThread network.
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.
int openthread_mutex_try_lock(void)
Try to lock internal mutex before accessing OpenThread API.
struct openthread_context * openthread_get_default_context(void)
Get pointer to default OpenThread context.
void openthread_mutex_lock(void)
Lock internal mutex before accessing OpenThread API.
int openthread_state_changed_callback_unregister(struct openthread_state_changed_callback *cb)
Unregister OpenThread configuration or state changed callbacks.
int openthread_stop(void)
Disable the OpenThread network.
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:97
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Mutex Structure.
Definition kernel.h:3070
Thread Structure.
Definition thread.h:262
A structure used to hold work until it can be processed.
Definition kernel.h:4203
A structure used to submit work.
Definition kernel.h:4051
Network Interface structure.
Definition net_if.h:714
Network packet.
Definition net_pkt.h:91
OpenThread state change callback
Definition openthread.h:113
sys_snode_t node
Internally used field for list handling.
Definition openthread.h:130
otStateChangedCallback otCallback
Callback for notifying configuration or state changes.
Definition openthread.h:121
void * user_data
User data if required.
Definition openthread.h:124
OpenThread state change callback structure.
Definition openthread.h:143
sys_snode_t node
Internally used field for list handling.
Definition openthread.h:162
void(* state_changed_cb)(otChangedFlags flags, struct openthread_context *ot_context, void *user_data)
Callback for notifying configuration or state changes.
Definition openthread.h:152
void * user_data
User data if required.
Definition openthread.h:156