Browse Source

net: openthread: Remove OpenThread module API from net header

Use OpenThread module header instead of redefining its API.

Signed-off-by: Adrian Gielniewski <adrian.gielniewski@nordicsemi.no>
pull/90855/head
Adrian Gielniewski 1 month ago committed by Benjamin Cabé
parent
commit
47f39a1323
  1. 141
      include/zephyr/net/openthread.h

141
include/zephyr/net/openthread.h

@ -24,8 +24,7 @@ @@ -24,8 +24,7 @@
#include <zephyr/net/net_if.h>
#include <zephyr/kernel/thread.h>
#include <openthread/instance.h>
#include <openthread/message.h>
#include <openthread.h>
#ifdef __cplusplus
extern "C" {
@ -89,47 +88,8 @@ struct openthread_context { @@ -89,47 +88,8 @@ struct openthread_context {
* INTERNAL_HIDDEN @endcond
*/
/**
* @brief The common callback type for receiving IPv4 (translated by NAT64) and IPv6 datagrams.
*
* This callback is called when a datagram is received.
*
* @param message The message to receive.
* @param context The context to pass to the callback.
*/
typedef void (*openthread_receive_cb)(otMessage *message, void *context);
/** OpenThread state change callback */
/**
* @brief OpenThread state change callback structure
*
* Used to register a callback in the callback list. As many
* callbacks as needed can be added as long as each of them
* are unique pointers of struct openthread_state_changed_cb.
*
* @note You may destroy the object only after it is unregistered from the callback list.
*/
struct openthread_state_changed_callback {
/**
* @brief Callback for notifying configuration or state changes.
*
* @param otCallback OpenThread callback to register.
* See https://openthread.io/reference/group/api-instance#otstatechangedcallback for
* details.
*/
otStateChangedCallback otCallback;
/** User data if required */
void *user_data;
/**
* Internally used field for list handling
* - user must not directly modify
*/
sys_snode_t node;
};
/**
* @deprecated use @ref openthread_state_changed_callback instead.
*
@ -162,21 +122,6 @@ struct openthread_state_changed_cb { @@ -162,21 +122,6 @@ struct openthread_state_changed_cb {
sys_snode_t node;
};
/**
* @brief Register callbacks that will be called when a certain configuration
* or state changes occur within OpenThread.
*
* @param cb Callback struct to register.
*/
int openthread_state_changed_callback_register(struct openthread_state_changed_callback *cb);
/**
* @brief Unregister OpenThread configuration or state changed callbacks.
*
* @param cb Callback struct to unregister.
*/
int openthread_state_changed_callback_unregister(struct openthread_state_changed_callback *cb);
/**
* @deprecated use @ref openthread_state_changed_callback_register instead.
*
@ -200,11 +145,6 @@ __deprecated int openthread_state_changed_cb_register(struct openthread_context @@ -200,11 +145,6 @@ __deprecated int openthread_state_changed_cb_register(struct openthread_context
__deprecated int openthread_state_changed_cb_unregister(struct openthread_context *ot_context,
struct openthread_state_changed_cb *cb);
/**
* @brief Get OpenThread thread identification.
*/
k_tid_t openthread_thread_id_get(void);
/**
* @brief Get pointer to default OpenThread context.
*
@ -213,50 +153,6 @@ k_tid_t openthread_thread_id_get(void); @@ -213,50 +153,6 @@ k_tid_t openthread_thread_id_get(void);
*/
struct openthread_context *openthread_get_default_context(void);
/**
* @brief Get pointer to default OpenThread instance.
*
* @retval !NULL On success.
* @retval NULL On failure.
*/
struct otInstance *openthread_get_default_instance(void);
/**
* @brief Initialize the OpenThread module.
*
* This function:
* - Initializes the OpenThread module.
* - Creates an OpenThread single instance.
* - Starts the shell.
* - Enables the UART and NCP HDLC for coprocessor purposes.
* - Initializes the NAT64 translator.
* - Creates a work queue for the OpenThread module.
*
* @note This function is automatically called by Zephyr's networking layer.
* If you want to initialize the OpenThread independently, call this function
* in your application init code.
*
* @retval 0 On success.
* @retval -EIO On failure.
*/
int openthread_init(void);
/**
* @brief Run the OpenThread network.
*
* @details Prepares the OpenThread network and enables it.
* Depends on active settings: it uses the stored network configuration,
* starts the joining procedure or uses the default network configuration.
* Additionally, when the device is MTD, it sets the SED mode to properly
* attach the network.
*/
int openthread_run(void);
/**
* @brief Disable the OpenThread network.
*/
int openthread_stop(void);
/**
* @deprecated use @ref openthread_run instead.
*
@ -270,41 +166,6 @@ int openthread_stop(void); @@ -270,41 +166,6 @@ int openthread_stop(void);
*/
__deprecated int openthread_start(struct openthread_context *ot_context);
/**
* @brief Set the additional callback for receiving packets.
*
* @details This callback is called once a packet is received and can be
* used to inject packets into the Zephyr networking stack.
* Setting this callback is optional.
*
* @param cb Callback to set.
* @param context Context to pass to the callback.
*/
void openthread_set_receive_cb(openthread_receive_cb cb, void *context);
/**
* @brief Lock internal mutex before accessing OpenThread API.
*
* @details OpenThread API is not thread-safe. Therefore, before accessing any
* API function, you need to lock the internal mutex, to prevent the
* OpenThread thread from pre-empting the API call.
*/
void openthread_mutex_lock(void);
/**
* @brief Try to lock internal mutex before accessing OpenThread API.
*
* @details This function behaves like openthread_mutex_lock(), provided that
* the internal mutex is unlocked. Otherwise, it returns a negative value without
* waiting.
*/
int openthread_mutex_try_lock(void);
/**
* @brief Unlock internal mutex after accessing OpenThread API.
*/
void openthread_mutex_unlock(void);
/**
* @deprecated use @ref openthread_mutex_lock.
*

Loading…
Cancel
Save