Zephyr API Documentation  3.4.0
A Scalable Open Source RTOS
3.4.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
lwm2m_ctx Struct Reference

LwM2M context structure to maintain information for a single LwM2M connection. More...

#include <lwm2m.h>

Data Fields

struct sockaddr remote_addr
 
struct coap_pending pendings [CONFIG_LWM2M_ENGINE_MAX_PENDING+1]
 
struct coap_reply replies [CONFIG_LWM2M_ENGINE_MAX_REPLIES+1]
 
sys_slist_t pending_sends
 
sys_slist_t observer
 
void * processed_req
 
int(* set_socketoptions )(struct lwm2m_ctx *client_ctx)
 
bool use_dtls
 
bool connection_suspended
 
int sec_obj_inst
 
int srv_obj_inst
 
bool bootstrap_mode
 
int sock_fd
 
lwm2m_socket_fault_cb_t fault_cb
 
lwm2m_observe_cb_t observe_cb
 
lwm2m_ctx_event_cb_t event_cb
 
uint8_t validate_buf [CONFIG_LWM2M_ENGINE_VALIDATION_BUFFER_SIZE]
 

Detailed Description

LwM2M context structure to maintain information for a single LwM2M connection.

Field Documentation

◆ bootstrap_mode

bool lwm2m_ctx::bootstrap_mode

Flag to enable BOOTSTRAP interface. See Section "Bootstrap Interface" of LwM2M Technical Specification for more information.

◆ connection_suspended

bool lwm2m_ctx::connection_suspended

Flag to indicate that the socket connection is suspended. With queue mode, this will tell if there is a need to reconnect.

◆ event_cb

lwm2m_ctx_event_cb_t lwm2m_ctx::event_cb

◆ fault_cb

lwm2m_socket_fault_cb_t lwm2m_ctx::fault_cb

Socket fault callback. LwM2M processing thread will call this callback in case of socket errors on receive.

◆ observe_cb

lwm2m_observe_cb_t lwm2m_ctx::observe_cb

Callback for new or cancelled observations, and acknowledged or timed out notifications.

◆ observer

sys_slist_t lwm2m_ctx::observer

◆ pending_sends

sys_slist_t lwm2m_ctx::pending_sends

◆ pendings

struct coap_pending lwm2m_ctx::pendings[CONFIG_LWM2M_ENGINE_MAX_PENDING+1]

Private CoAP and networking structures + 1 is for RD Client own message

◆ processed_req

void* lwm2m_ctx::processed_req

A pointer to currently processed request, for internal LwM2M engine use. The underlying type is struct lwm2m_message, but since it's declared in a private header and not exposed to the application, it's stored as a void pointer.

◆ remote_addr

struct sockaddr lwm2m_ctx::remote_addr

Destination address storage

◆ replies

struct coap_reply lwm2m_ctx::replies[CONFIG_LWM2M_ENGINE_MAX_REPLIES+1]

◆ sec_obj_inst

int lwm2m_ctx::sec_obj_inst

Current index of Security Object used for server credentials

◆ set_socketoptions

int(* lwm2m_ctx::set_socketoptions) (struct lwm2m_ctx *client_ctx)

Client can override default socket options by providing a callback that is called afer a socket is created and before connect.

◆ sock_fd

int lwm2m_ctx::sock_fd

Socket File Descriptor

◆ srv_obj_inst

int lwm2m_ctx::srv_obj_inst

Current index of Server Object used in this context.

◆ use_dtls

bool lwm2m_ctx::use_dtls

Flag to indicate if context should use DTLS. Enabled via the use of coaps:// protocol prefix in connection information. NOTE: requires CONFIG_LWM2M_DTLS_SUPPORT=y

◆ validate_buf

uint8_t lwm2m_ctx::validate_buf[CONFIG_LWM2M_ENGINE_VALIDATION_BUFFER_SIZE]

Validation buffer. Used as a temporary buffer to decode the resource value before validation. On successful validation, its content is copied into the actual resource buffer.


The documentation for this struct was generated from the following file: