8#ifndef ZEPHYR_INCLUDE_MGMT_SMP_H_
9#define ZEPHYR_INCLUDE_MGMT_SMP_H_
25struct zephyr_smp_transport;
128#ifdef CONFIG_MCUMGR_TRANSPORT_REASSEMBLY
void(* smp_transport_ud_free_fn)(void *ud)
SMP free user_data callback.
Definition smp.h:79
uint16_t(* smp_transport_get_mtu_fn)(const struct net_buf *nb)
SMP MTU query callback for transport.
Definition smp.h:52
int(* smp_transport_out_fn)(struct net_buf *nb)
SMP transmit callback for transport.
Definition smp.h:37
smp_transport_type
SMP transport type for client registration.
Definition smp.h:140
void smp_rx_clear(struct smp_transport *zst)
Used to clear pending queued requests for an SMP transport.
struct smp_transport * smp_client_transport_get(int smpt_type)
Discover a registered SMP transport client object.
bool(* smp_transport_query_valid_check_fn)(struct net_buf *nb, void *arg)
Function for checking if queued data is still valid.
Definition smp.h:92
int(* smp_transport_ud_copy_fn)(struct net_buf *dst, const struct net_buf *src)
SMP copy user_data callback.
Definition smp.h:67
void smp_rx_remove_invalid(struct smp_transport *zst, void *arg)
Used to remove queued requests for an SMP transport that are no longer valid.
int smp_transport_init(struct smp_transport *smpt)
Initializes a Zephyr SMP transport object.
void smp_client_transport_register(struct smp_client_transport_entry *entry)
Register a Zephyr SMP transport object for client.
@ SMP_UDP_IPV6_TRANSPORT
SMP UDP IPv6.
Definition smp.h:150
@ SMP_SHELL_TRANSPORT
SMP shell.
Definition smp.h:146
@ SMP_BLUETOOTH_TRANSPORT
SMP bluetooth.
Definition smp.h:144
@ SMP_USER_DEFINED_TRANSPORT
SMP user defined type.
Definition smp.h:154
@ SMP_SERIAL_TRANSPORT
SMP serial.
Definition smp.h:142
@ SMP_UDP_IPV4_TRANSPORT
SMP UDP IPv4.
Definition smp.h:148
@ SMP_LORAWAN_TRANSPORT
SMP LoRaWAN.
Definition smp.h:152
struct _snode sys_snode_t
Single-linked list node structure.
Definition slist.h:39
#define bool
Definition stdbool.h:13
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
A structure used to submit work.
Definition kernel.h:3985
Network buffer representation.
Definition net_buf.h:1006
SMP Client transport structure.
Definition smp.h:160
int smpt_type
Transport type.
Definition smp.h:165
sys_snode_t node
Definition smp.h:161
struct smp_transport * smpt
Transport structure pointer.
Definition smp.h:163
Function pointers of SMP transport functions, if a handler is NULL then it is not supported/implement...
Definition smp.h:98
smp_transport_get_mtu_fn get_mtu
Transport's get-MTU function.
Definition smp.h:103
smp_transport_query_valid_check_fn query_valid_check
Transport's check function for if a query is valid.
Definition smp.h:112
smp_transport_out_fn output
Transport's send function.
Definition smp.h:100
smp_transport_ud_free_fn ud_free
Transport buffer user_data free function.
Definition smp.h:109
smp_transport_ud_copy_fn ud_copy
Transport buffer user_data copy function.
Definition smp.h:106
SMP transport object for sending SMP responses.
Definition smp.h:118
struct k_work work
Definition smp.h:120
struct k_fifo fifo
Definition smp.h:123
struct smp_transport_api_t functions
Definition smp.h:126