24#ifndef ZEPHYR_INCLUDE_NET_LWM2M_H_ 
   25#define ZEPHYR_INCLUDE_NET_LWM2M_H_ 
   40#define LWM2M_OBJECT_SECURITY_ID                0   
   41#define LWM2M_OBJECT_SERVER_ID                  1   
   42#define LWM2M_OBJECT_ACCESS_CONTROL_ID          2   
   43#define LWM2M_OBJECT_DEVICE_ID                  3   
   44#define LWM2M_OBJECT_CONNECTIVITY_MONITORING_ID 4   
   45#define LWM2M_OBJECT_FIRMWARE_ID                5   
   46#define LWM2M_OBJECT_LOCATION_ID                6   
   47#define LWM2M_OBJECT_CONNECTIVITY_STATISTICS_ID 7   
   48#define LWM2M_OBJECT_SOFTWARE_MANAGEMENT_ID     9   
   49#define LWM2M_OBJECT_PORTFOLIO_ID               16  
   50#define LWM2M_OBJECT_BINARYAPPDATACONTAINER_ID  19  
   51#define LWM2M_OBJECT_EVENT_LOG_ID               20  
   52#define LWM2M_OBJECT_GATEWAY_ID                 25  
   66#define IPSO_OBJECT_GENERIC_SENSOR_ID       3300  
   67#define IPSO_OBJECT_TEMP_SENSOR_ID          3303  
   68#define IPSO_OBJECT_HUMIDITY_SENSOR_ID      3304  
   69#define IPSO_OBJECT_LIGHT_CONTROL_ID        3311  
   70#define IPSO_OBJECT_ACCELEROMETER_ID        3313  
   71#define IPSO_OBJECT_VOLTAGE_SENSOR_ID       3316  
   72#define IPSO_OBJECT_CURRENT_SENSOR_ID       3317  
   73#define IPSO_OBJECT_PRESSURE_ID             3323  
   74#define IPSO_OBJECT_BUZZER_ID               3338  
   75#define IPSO_OBJECT_TIMER_ID                3340  
   76#define IPSO_OBJECT_ONOFF_SWITCH_ID         3342  
   77#define IPSO_OBJECT_PUSH_BUTTON_ID          3347  
   78#define UCIFI_OBJECT_BATTERY_ID             3411  
   79#define IPSO_OBJECT_FILLING_LEVEL_SENSOR_ID 3435  
  147        struct coap_pending pendings[CONFIG_LWM2M_ENGINE_MAX_PENDING + 1];
 
  148        struct coap_reply replies[CONFIG_LWM2M_ENGINE_MAX_REPLIES + 1];
 
  150#if defined(CONFIG_LWM2M_QUEUE_MODE_ENABLED) 
  163#if defined(CONFIG_LWM2M_DTLS_SUPPORT) || defined(__DOXYGEN__) 
  212#if defined(CONFIG_LWM2M_QUEUE_MODE_ENABLED) || defined(__DOXYGEN__) 
 
  293typedef void *(*lwm2m_engine_get_data_cb_t)(
uint16_t obj_inst_id,
 
  327                                          bool last_block, 
size_t total_size);
 
  371#define LWM2M_DEVICE_PWR_SRC_TYPE_DC_POWER      0  
  372#define LWM2M_DEVICE_PWR_SRC_TYPE_BAT_INT       1  
  373#define LWM2M_DEVICE_PWR_SRC_TYPE_BAT_EXT       2  
  374#define LWM2M_DEVICE_PWR_SRC_TYPE_FUEL_CELL     3  
  375#define LWM2M_DEVICE_PWR_SRC_TYPE_PWR_OVER_ETH  4  
  376#define LWM2M_DEVICE_PWR_SRC_TYPE_USB           5  
  377#define LWM2M_DEVICE_PWR_SRC_TYPE_AC_POWER      6  
  378#define LWM2M_DEVICE_PWR_SRC_TYPE_SOLAR         7  
  379#define LWM2M_DEVICE_PWR_SRC_TYPE_MAX           8  
  389#define LWM2M_DEVICE_ERROR_NONE                 0  
  390#define LWM2M_DEVICE_ERROR_LOW_POWER            1  
  391#define LWM2M_DEVICE_ERROR_EXT_POWER_SUPPLY_OFF 2  
  392#define LWM2M_DEVICE_ERROR_GPS_FAILURE          3  
  393#define LWM2M_DEVICE_ERROR_LOW_SIGNAL_STRENGTH  4  
  394#define LWM2M_DEVICE_ERROR_OUT_OF_MEMORY        5  
  395#define LWM2M_DEVICE_ERROR_SMS_FAILURE          6  
  396#define LWM2M_DEVICE_ERROR_NETWORK_FAILURE      7  
  397#define LWM2M_DEVICE_ERROR_PERIPHERAL_FAILURE   8  
  408#define LWM2M_DEVICE_BATTERY_STATUS_NORMAL      0  
  411#define LWM2M_DEVICE_BATTERY_STATUS_CHARGING    1  
  412#define LWM2M_DEVICE_BATTERY_STATUS_CHARGE_COMP 2  
  415#define LWM2M_DEVICE_BATTERY_STATUS_DAMAGED     3  
  416#define LWM2M_DEVICE_BATTERY_STATUS_LOW         4  
  417#define LWM2M_DEVICE_BATTERY_STATUS_NOT_INST    5  
  418#define LWM2M_DEVICE_BATTERY_STATUS_UNKNOWN     6  
  447#define STATE_DOWNLOADING       1 
  451#define STATE_DOWNLOADED        2 
  455#define STATE_UPDATING          3 
  467#define RESULT_DEFAULT          0        
  468#define RESULT_SUCCESS          1        
  469#define RESULT_NO_STORAGE       2        
  470#define RESULT_OUT_OF_MEM       3        
  471#define RESULT_CONNECTION_LOST  4        
  472#define RESULT_INTEGRITY_FAILED 5        
  473#define RESULT_UNSUP_FW         6        
  474#define RESULT_INVALID_URI      7        
  475#define RESULT_UPDATE_FAILED    8        
  476#define RESULT_UNSUP_PROTO      9        
  480#if defined(CONFIG_LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT) || defined(__DOXYGEN__) 
  553#if defined(CONFIG_LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT) || defined(__DOXYGEN__) 
  593#if defined(CONFIG_LWM2M_SWMGMT_OBJ_SUPPORT) || defined(__DOXYGEN__) 
  687#if defined(CONFIG_LWM2M_EVENT_LOG_OBJ_SUPPORT) || defined(__DOXYGEN__) 
  704#define LWM2M_OBJLNK_MAX_ID USHRT_MAX 
 1759#define LWM2M_RES_DATA_READ_ONLY        0 
 1764#define LWM2M_RES_DATA_FLAG_RO          BIT(LWM2M_RES_DATA_READ_ONLY) 
 1769#define LWM2M_HAS_RES_FLAG(res, f)      ((res->data_flags & f) == f) 
 2082#define LWM2M_RD_CLIENT_EVENT_REG_UPDATE_FAILURE                                                   \ 
 2083        LWM2M_RD_CLIENT_EVENT_REG_TIMEOUT __DEPRECATED_MACRO 
 
 2092#define LWM2M_RD_CLIENT_FLAG_BOOTSTRAP BIT(0) 
 2168#define LWM2M_MAX_PATH_STR_SIZE sizeof("/65535/65535/65535/65535") 
 2213                      bool confirmation_request);
 
 2230               uint8_t path_list_size, 
bool confirmation_request);
 
_TIME_T_ time_t
Definition _timespec.h:14
 
CoAP implementation for Zephyr.
 
int lwm2m_engine_set_u8(const char *pathstr, uint8_t value)
Set resource (instance) value (u8)
 
int lwm2m_send_cb(struct lwm2m_ctx *ctx, const struct lwm2m_obj_path path_list[], uint8_t path_list_size, lwm2m_send_cb_t reply_cb)
 
 
int(* lwm2m_engine_set_data_cb_t)(uint16_t obj_inst_id, uint16_t res_id, uint16_t res_inst_id, uint8_t *data, uint16_t data_len, bool last_block, size_t total_size)
Asynchronous callback when data has been set to a resource buffer.
Definition lwm2m.h:324
 
int lwm2m_get_f64(const struct lwm2m_obj_path *path, double *value)
Get resource (instance) value (double)
 
int lwm2m_set_objlnk(const struct lwm2m_obj_path *path, const struct lwm2m_objlnk *value)
Set resource (instance) value (Objlnk)
 
bool lwm2m_engine_path_is_observed(const char *pathstr)
Check whether a path is observed.
 
int lwm2m_engine_stop(struct lwm2m_ctx *client_ctx)
Stop the LwM2M engine.
 
int lwm2m_engine_get_float(const char *pathstr, double *buf)
Get resource (instance) value (double)
 
int lwm2m_get_u32(const struct lwm2m_obj_path *path, uint32_t *value)
Get resource (instance) value (u32)
 
int lwm2m_set_res_data_len(const struct lwm2m_obj_path *path, uint16_t data_len)
Update data size for a resource.
 
bool lwm2m_path_is_observed(const struct lwm2m_obj_path *path)
Check whether a path is observed.
 
int lwm2m_engine_set_s64(const char *pathstr, int64_t value)
Set resource (instance) value (s64)
 
lwm2m_security_mode_e
Security modes as defined in LwM2M Security object.
Definition lwm2m.h:2292
 
int lwm2m_get_s8(const struct lwm2m_obj_path *path, int8_t *value)
Get resource (instance) value (s8)
 
int lwm2m_engine_register_pre_write_callback(const char *pathstr, lwm2m_engine_get_data_cb_t cb)
Set resource (instance) pre-write callback.
 
int lwm2m_engine_resume(void)
Resume the LwM2M engine thread.
 
int lwm2m_set_s64(const struct lwm2m_obj_path *path, int64_t value)
Set resource (instance) value (s64)
 
int lwm2m_engine_pause(void)
Suspend the LwM2M engine Thread.
 
int lwm2m_set_u8(const struct lwm2m_obj_path *path, uint8_t value)
Set resource (instance) value (u8)
 
int lwm2m_get_u16(const struct lwm2m_obj_path *path, uint16_t *value)
Get resource (instance) value (u16)
 
int lwm2m_engine_set_s16(const char *pathstr, int16_t value)
Set resource (instance) value (s16)
 
lwm2m_engine_execute_cb_t lwm2m_firmware_get_update_cb(void)
Get the event callback for firmware update execute events.
 
int lwm2m_set_u16(const struct lwm2m_obj_path *path, uint16_t value)
Set resource (instance) value (u16)
 
lwm2m_send_status
LwM2M send status.
Definition lwm2m.h:2186
 
int lwm2m_get_string(const struct lwm2m_obj_path *path, void *str, uint16_t buflen)
Get resource (instance) value (string)
 
int lwm2m_engine_register_read_callback(const char *pathstr, lwm2m_engine_get_data_cb_t cb)
Set resource (instance) read callback.
 
int lwm2m_get_s16(const struct lwm2m_obj_path *path, int16_t *value)
Get resource (instance) value (s16)
 
int lwm2m_engine_get_time(const char *pathstr, time_t *buf)
Get resource (instance) value (Time)
 
int lwm2m_engine_set_string(const char *pathstr, const char *data_ptr)
Set resource (instance) value (string)
 
int lwm2m_swmgmt_set_write_package_cb(uint16_t obj_inst_id, lwm2m_engine_set_data_cb_t cb)
Set data callback for software management block transfer.
 
int lwm2m_register_exec_callback(const struct lwm2m_obj_path *path, lwm2m_engine_execute_cb_t cb)
Set resource execute event callback.
 
int lwm2m_engine_set_opaque(const char *pathstr, const char *data_ptr, uint16_t data_len)
Set resource (instance) value (opaque buffer)
 
int lwm2m_get_time(const struct lwm2m_obj_path *path, time_t *buf)
Get resource (instance) value (Time)
 
void lwm2m_firmware_set_update_cb_inst(uint16_t obj_inst_id, lwm2m_engine_execute_cb_t cb)
Set data callback to handle firmware update execute events.
 
int lwm2m_engine_set_u32(const char *pathstr, uint32_t value)
Set resource (instance) value (u32)
 
int lwm2m_set_s32(const struct lwm2m_obj_path *path, int32_t value)
Set resource (instance) value (s32)
 
int lwm2m_engine_create_obj_inst(const char *pathstr)
Create an LwM2M object instance.
 
int lwm2m_set_f64(const struct lwm2m_obj_path *path, const double value)
Set resource (instance) value (double)
 
int lwm2m_engine_get_opaque(const char *pathstr, void *buf, uint16_t buflen)
Get resource (instance) value (opaque buffer)
 
int lwm2m_register_create_callback(uint16_t obj_id, lwm2m_engine_user_cb_t cb)
Set object instance create event callback.
 
lwm2m_engine_execute_cb_t lwm2m_firmware_get_update_cb_inst(uint16_t obj_inst_id)
Get the event callback for firmware update execute events.
 
int lwm2m_set_s8(const struct lwm2m_obj_path *path, int8_t value)
Set resource (instance) value (s8)
 
int lwm2m_engine_delete_obj_inst(const char *pathstr)
Delete an LwM2M object instance.
 
void(* lwm2m_ctx_event_cb_t)(struct lwm2m_ctx *ctx, enum lwm2m_rd_client_event event)
Asynchronous RD client event callback.
Definition lwm2m.h:132
 
void lwm2m_firmware_set_cancel_cb(lwm2m_engine_user_cb_t cb)
Set callback for firmware update cancel.
 
int lwm2m_register_post_write_callback(const struct lwm2m_obj_path *path, lwm2m_engine_set_data_cb_t cb)
Set resource (instance) post-write callback.
 
int lwm2m_engine_get_s32(const char *pathstr, int32_t *value)
Get resource (instance) value (s32)
 
int lwm2m_engine_update_observer_min_period(struct lwm2m_ctx *client_ctx, const char *pathstr, uint32_t period_s)
Change an observer's pmin value.
 
lwm2m_engine_set_data_cb_t lwm2m_firmware_get_write_cb(void)
Get the data callback for firmware block transfer writes.
 
int lwm2m_get_objlnk(const struct lwm2m_obj_path *path, struct lwm2m_objlnk *buf)
Get resource (instance) value (Objlnk)
 
int lwm2m_engine_set_s32(const char *pathstr, int32_t value)
Set resource (instance) value (s32)
 
int lwm2m_engine_set_u16(const char *pathstr, uint16_t value)
Set resource (instance) value (u16)
 
int lwm2m_engine_get_u8(const char *pathstr, uint8_t *value)
Get resource (instance) value (u8)
 
int lwm2m_create_object_inst(const struct lwm2m_obj_path *path)
Create an LwM2M object instance.
 
int lwm2m_set_res_buf(const struct lwm2m_obj_path *path, void *buffer_ptr, uint16_t buffer_len, uint16_t data_len, uint8_t data_flags)
Set data buffer for a resource.
 
int lwm2m_swmgmt_install_completed(uint16_t obj_inst_id, int error_code)
Function to be called when a Software Management object instance completed the Install operation.
 
int lwm2m_engine_send(struct lwm2m_ctx *ctx, char const *path_list[], uint8_t path_list_size, bool confirmation_request)
 
 
int lwm2m_engine_register_post_write_callback(const char *pathstr, lwm2m_engine_set_data_cb_t cb)
Set resource (instance) post-write callback.
 
void *(* lwm2m_engine_get_data_cb_t)(uint16_t obj_inst_id, uint16_t res_id, uint16_t res_inst_id, size_t *data_len)
Asynchronous callback to get a resource buffer and length.
Definition lwm2m.h:293
 
int lwm2m_engine_get_bool(const char *pathstr, bool *value)
Get resource (instance) value (bool)
 
void lwm2m_firmware_set_update_cb(lwm2m_engine_execute_cb_t cb)
Set data callback to handle firmware update execute events.
 
int lwm2m_engine_get_res_data(const char *pathstr, void **data_ptr, uint16_t *data_len, uint8_t *data_flags)
Get data buffer for a resource.
 
int lwm2m_engine_create_res_inst(const char *pathstr)
Create a resource instance.
 
int lwm2m_engine_set_res_buf(const char *pathstr, void *buffer_ptr, uint16_t buffer_len, uint16_t data_len, uint8_t data_flags)
Set data buffer for a resource.
 
void lwm2m_firmware_set_write_cb(lwm2m_engine_set_data_cb_t cb)
Set data callback for firmware block transfer.
 
int lwm2m_engine_get_u16(const char *pathstr, uint16_t *value)
Get resource (instance) value (u16)
 
int lwm2m_enable_cache(const struct lwm2m_obj_path *path, struct lwm2m_time_series_elem *data_cache, size_t cache_len)
 
 
int lwm2m_engine_register_delete_callback(uint16_t obj_id, lwm2m_engine_user_cb_t cb)
Set object instance delete event callback.
 
int lwm2m_update_observer_max_period(struct lwm2m_ctx *client_ctx, const struct lwm2m_obj_path *path, uint32_t period_s)
Change an observer's pmax value.
 
int lwm2m_security_mode(struct lwm2m_ctx *ctx)
Read security mode from selected security object instance.
 
lwm2m_engine_user_cb_t lwm2m_firmware_get_cancel_cb_inst(uint16_t obj_inst_id)
Get the callback for firmware update cancel.
 
int lwm2m_register_pre_write_callback(const struct lwm2m_obj_path *path, lwm2m_engine_get_data_cb_t cb)
Set resource (instance) pre-write callback.
 
int lwm2m_engine_get_s8(const char *pathstr, int8_t *value)
Get resource (instance) value (s8)
 
int lwm2m_set_time(const struct lwm2m_obj_path *path, time_t value)
Set resource (instance) value (Time)
 
int lwm2m_set_string(const struct lwm2m_obj_path *path, const char *data_ptr)
Set resource (instance) value (string)
 
int lwm2m_engine_get_string(const char *pathstr, void *str, uint16_t buflen)
Get resource (instance) value (string)
 
int lwm2m_swmgmt_set_deactivate_cb(uint16_t obj_inst_id, lwm2m_engine_execute_cb_t cb)
Set callback to handle software deactivation requests.
 
int lwm2m_engine_get_s64(const char *pathstr, int64_t *value)
Get resource (instance) value (s64)
 
int lwm2m_engine_set_u64(const char *pathstr, uint64_t value)
Set resource (instance) value (u64)
 
void(* lwm2m_send_cb_t)(enum lwm2m_send_status status)
Callback returning send status.
Definition lwm2m.h:2196
 
int lwm2m_get_u64(const struct lwm2m_obj_path *path, uint64_t *value)
Get resource (instance) value (u64)
 
int lwm2m_engine_set_res_data_len(const char *pathstr, uint16_t data_len)
Update data size for a resource.
 
struct lwm2m_ctx * lwm2m_rd_client_ctx(void)
 
 
int lwm2m_set_u64(const struct lwm2m_obj_path *path, uint64_t value)
Set resource (instance) value (u64)
 
int lwm2m_engine_set_bool(const char *pathstr, bool value)
Set resource (instance) value (bool)
 
int lwm2m_engine_get_u64(const char *pathstr, uint64_t *value)
Get resource (instance) value (u64)
 
void lwm2m_acknowledge(struct lwm2m_ctx *client_ctx)
Acknowledge the currently processed request with an empty ACK.
 
int lwm2m_register_delete_callback(uint16_t obj_id, lwm2m_engine_user_cb_t cb)
Set object instance delete event callback.
 
int lwm2m_set_u32(const struct lwm2m_obj_path *path, uint32_t value)
Set resource (instance) value (u32)
 
void lwm2m_event_log_set_read_log_data_cb(lwm2m_engine_get_data_cb_t cb)
Set callback to read log data.
 
lwm2m_engine_user_cb_t lwm2m_firmware_get_cancel_cb(void)
Get a callback for firmware update cancel.
 
int lwm2m_set_default_sockopt(struct lwm2m_ctx *ctx)
Set default socket options for DTLS connections.
 
int lwm2m_engine_get_s16(const char *pathstr, int16_t *value)
Get resource (instance) value (s16)
 
char * lwm2m_path_log_buf(char *buf, struct lwm2m_obj_path *path)
Helper function to print path objects' contents to log.
 
int lwm2m_get_s32(const struct lwm2m_obj_path *path, int32_t *value)
Get resource (instance) value (s32)
 
void lwm2m_registry_lock(void)
Locks the registry for this thread.
 
int lwm2m_rd_client_start(struct lwm2m_ctx *client_ctx, const char *ep_name, uint32_t flags, lwm2m_ctx_event_cb_t event_cb, lwm2m_observe_cb_t observe_cb)
Start the LwM2M RD (Registration / Discovery) Client.
 
int lwm2m_set_bool(const struct lwm2m_obj_path *path, bool value)
Set resource (instance) value (bool)
 
int lwm2m_engine_start(struct lwm2m_ctx *client_ctx)
Start the LwM2M engine.
 
int lwm2m_engine_register_create_callback(uint16_t obj_id, lwm2m_engine_user_cb_t cb)
Set object instance create event callback.
 
void lwm2m_firmware_set_cancel_cb_inst(uint16_t obj_inst_id, lwm2m_engine_user_cb_t cb)
Set data callback for firmware update cancel.
 
int lwm2m_set_opaque(const struct lwm2m_obj_path *path, const char *data_ptr, uint16_t data_len)
Set resource (instance) value (opaque buffer)
 
int lwm2m_get_s64(const struct lwm2m_obj_path *path, int64_t *value)
Get resource (instance) value (s64)
 
void lwm2m_registry_unlock(void)
Unlocks the registry previously locked by lwm2m_registry_lock().
 
int lwm2m_update_device_service_period(uint32_t period_ms)
Update the period of the device service.
 
void lwm2m_rd_client_update(void)
Trigger a Registration Update of the LwM2M RD Client.
 
int lwm2m_swmgmt_set_read_package_version_cb(uint16_t obj_inst_id, lwm2m_engine_get_data_cb_t cb)
Set callback to read software package.
 
int(* lwm2m_engine_user_cb_t)(uint16_t obj_inst_id)
Asynchronous event notification callback.
Definition lwm2m.h:345
 
int lwm2m_engine_set_res_data(const char *pathstr, void *data_ptr, uint16_t data_len, uint8_t data_flags)
Set data buffer for a resource.
 
int lwm2m_device_add_err(uint8_t error_code)
Register a new error code with LwM2M Device object.
 
int lwm2m_get_res_buf(const struct lwm2m_obj_path *path, void **buffer_ptr, uint16_t *buffer_len, uint16_t *data_len, uint8_t *data_flags)
Get data buffer for a resource.
 
int lwm2m_engine_delete_res_inst(const char *pathstr)
Delete a resource instance.
 
int lwm2m_engine_register_validate_callback(const char *pathstr, lwm2m_engine_set_data_cb_t cb)
Set resource (instance) validation callback.
 
int lwm2m_swmgmt_set_activate_cb(uint16_t obj_inst_id, lwm2m_engine_execute_cb_t cb)
Set callback to handle software activation requests.
 
void lwm2m_firmware_set_write_cb_inst(uint16_t obj_inst_id, lwm2m_engine_set_data_cb_t cb)
Set data callback for firmware block transfer.
 
int lwm2m_get_u8(const struct lwm2m_obj_path *path, uint8_t *value)
Get resource (instance) value (u8)
 
int lwm2m_create_res_inst(const struct lwm2m_obj_path *path)
Create a resource instance.
 
lwm2m_observe_event
Observe callback events.
Definition lwm2m.h:103
 
lwm2m_rd_client_event
LwM2M RD client events.
Definition lwm2m.h:2061
 
int lwm2m_engine_update_observer_max_period(struct lwm2m_ctx *client_ctx, const char *pathstr, uint32_t period_s)
Change an observer's pmax value.
 
int lwm2m_swmgmt_set_delete_package_cb(uint16_t obj_inst_id, lwm2m_engine_execute_cb_t cb)
Set callback to handle software uninstall requests.
 
int lwm2m_delete_res_inst(const struct lwm2m_obj_path *path)
Delete a resource instance.
 
int lwm2m_engine_register_exec_callback(const char *pathstr, lwm2m_engine_execute_cb_t cb)
Set resource execute event callback.
 
int lwm2m_engine_set_time(const char *pathstr, time_t value)
Set resource (instance) value (Time)
 
int lwm2m_set_s16(const struct lwm2m_obj_path *path, int16_t value)
Set resource (instance) value (s16)
 
int lwm2m_register_validate_callback(const struct lwm2m_obj_path *path, lwm2m_engine_set_data_cb_t cb)
Set resource (instance) validation callback.
 
lwm2m_engine_set_data_cb_t lwm2m_firmware_get_write_cb_inst(uint16_t obj_inst_id)
Get the data callback for firmware block transfer writes.
 
void(* lwm2m_observe_cb_t)(enum lwm2m_observe_event event, struct lwm2m_obj_path *path, void *user_data)
Observe callback indicating observer adds and deletes, and notification ACKs and timeouts.
Definition lwm2m.h:120
 
int lwm2m_engine_set_objlnk(const char *pathstr, const struct lwm2m_objlnk *value)
Set resource (instance) value (Objlnk)
 
int lwm2m_update_observer_min_period(struct lwm2m_ctx *client_ctx, const struct lwm2m_obj_path *path, uint32_t period_s)
Change an observer's pmin value.
 
int lwm2m_swmgmt_set_install_package_cb(uint16_t obj_inst_id, lwm2m_engine_execute_cb_t cb)
Set callback to handle software install requests.
 
int lwm2m_get_opaque(const struct lwm2m_obj_path *path, void *buf, uint16_t buflen)
Get resource (instance) value (opaque buffer)
 
int lwm2m_send(struct lwm2m_ctx *ctx, const struct lwm2m_obj_path path_list[], uint8_t path_list_size, bool confirmation_request)
 
 
int lwm2m_engine_set_s8(const char *pathstr, int8_t value)
Set resource (instance) value (s8)
 
void(* lwm2m_socket_fault_cb_t)(int error)
Callback function called when a socket error is encountered.
Definition lwm2m.h:89
 
int lwm2m_engine_set_float(const char *pathstr, const double *value)
Set resource (instance) value (double)
 
int lwm2m_engine_enable_cache(char const *resource_path, struct lwm2m_time_series_elem *data_cache, size_t cache_len)
 
 
int(* lwm2m_engine_execute_cb_t)(uint16_t obj_inst_id, uint8_t *args, uint16_t args_len)
Asynchronous execute notification callback.
Definition lwm2m.h:363
 
int lwm2m_register_read_callback(const struct lwm2m_obj_path *path, lwm2m_engine_get_data_cb_t cb)
Set resource (instance) read callback.
 
int lwm2m_engine_get_objlnk(const char *pathstr, struct lwm2m_objlnk *buf)
Get resource (instance) value (Objlnk)
 
int lwm2m_delete_object_inst(const struct lwm2m_obj_path *path)
Delete an LwM2M object instance.
 
int lwm2m_rd_client_stop(struct lwm2m_ctx *client_ctx, lwm2m_ctx_event_cb_t event_cb, bool deregister)
Stop the LwM2M RD (De-register) Client.
 
int lwm2m_get_bool(const struct lwm2m_obj_path *path, bool *value)
Get resource (instance) value (bool)
 
int lwm2m_engine_get_u32(const char *pathstr, uint32_t *value)
Get resource (instance) value (u32)
 
int lwm2m_engine_get_res_buf(const char *pathstr, void **buffer_ptr, uint16_t *buffer_len, uint16_t *data_len, uint8_t *data_flags)
Get data buffer for a resource.
 
@ LWM2M_SECURITY_PSK
Pre-Shared Key mode.
Definition lwm2m.h:2293
 
@ LWM2M_SECURITY_RAW_PK
Raw Public Key mode.
Definition lwm2m.h:2294
 
@ LWM2M_SECURITY_CERT
Certificate mode.
Definition lwm2m.h:2295
 
@ LWM2M_SECURITY_CERT_EST
Certificate mode with EST.
Definition lwm2m.h:2297
 
@ LWM2M_SECURITY_NOSEC
NoSec mode.
Definition lwm2m.h:2296
 
@ LWM2M_SEND_STATUS_SUCCESS
Definition lwm2m.h:2187
 
@ LWM2M_SEND_STATUS_FAILURE
Definition lwm2m.h:2188
 
@ LWM2M_SEND_STATUS_TIMEOUT
Definition lwm2m.h:2189
 
@ LWM2M_OBSERVE_EVENT_OBSERVER_ADDED
Observer added.
Definition lwm2m.h:104
 
@ LWM2M_OBSERVE_EVENT_NOTIFY_TIMEOUT
Notification timed out.
Definition lwm2m.h:107
 
@ LWM2M_OBSERVE_EVENT_NOTIFY_ACK
Notification ACKed.
Definition lwm2m.h:106
 
@ LWM2M_OBSERVE_EVENT_OBSERVER_REMOVED
Observer removed.
Definition lwm2m.h:105
 
@ LWM2M_RD_CLIENT_EVENT_DEREGISTER_FAILURE
Definition lwm2m.h:2070
 
@ LWM2M_RD_CLIENT_EVENT_QUEUE_MODE_RX_OFF
Definition lwm2m.h:2072
 
@ LWM2M_RD_CLIENT_EVENT_BOOTSTRAP_TRANSFER_COMPLETE
Definition lwm2m.h:2065
 
@ LWM2M_RD_CLIENT_EVENT_REGISTRATION_COMPLETE
Definition lwm2m.h:2067
 
@ LWM2M_RD_CLIENT_EVENT_REG_TIMEOUT
Definition lwm2m.h:2068
 
@ LWM2M_RD_CLIENT_EVENT_REG_UPDATE_COMPLETE
Definition lwm2m.h:2069
 
@ LWM2M_RD_CLIENT_EVENT_DEREGISTER
Definition lwm2m.h:2076
 
@ LWM2M_RD_CLIENT_EVENT_REG_UPDATE
Definition lwm2m.h:2075
 
@ LWM2M_RD_CLIENT_EVENT_BOOTSTRAP_REG_FAILURE
Definition lwm2m.h:2063
 
@ LWM2M_RD_CLIENT_EVENT_BOOTSTRAP_REG_COMPLETE
Definition lwm2m.h:2064
 
@ LWM2M_RD_CLIENT_EVENT_DISCONNECT
Definition lwm2m.h:2071
 
@ LWM2M_RD_CLIENT_EVENT_NONE
Definition lwm2m.h:2062
 
@ LWM2M_RD_CLIENT_EVENT_REGISTRATION_FAILURE
Definition lwm2m.h:2066
 
@ LWM2M_RD_CLIENT_EVENT_ENGINE_SUSPENDED
Definition lwm2m.h:2073
 
@ LWM2M_RD_CLIENT_EVENT_NETWORK_ERROR
Definition lwm2m.h:2074
 
struct _slist sys_slist_t
Single-linked list structure.
Definition slist.h:49
 
flags
Definition parser.h:96
 
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
 
__INT32_TYPE__ int32_t
Definition stdint.h:74
 
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
 
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
 
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
 
__INT64_TYPE__ int64_t
Definition stdint.h:75
 
__INT8_TYPE__ int8_t
Definition stdint.h:72
 
__INT16_TYPE__ int16_t
Definition stdint.h:73
 
Represents a request awaiting for an acknowledgment (ACK).
Definition coap.h:313
 
Represents the handler for the reply of a request, it is also used when observing resources.
Definition coap.h:327
 
LwM2M context structure to maintain information for a single LwM2M connection.
Definition lwm2m.h:140
 
lwm2m_socket_fault_cb_t fault_cb
Socket fault callback.
Definition lwm2m.h:236
 
char * desthostname
Destination hostname.
Definition lwm2m.h:179
 
bool hostname_verify
Flag to indicate if hostname verification is enabled.
Definition lwm2m.h:183
 
lwm2m_observe_cb_t observe_cb
Callback for new or cancelled observations, and acknowledged or timed out notifications.
Definition lwm2m.h:241
 
struct sockaddr remote_addr
Destination address storage.
Definition lwm2m.h:142
 
uint8_t validate_buf[CONFIG_LWM2M_ENGINE_VALIDATION_BUFFER_SIZE]
Validation buffer.
Definition lwm2m.h:250
 
int(* load_credentials)(struct lwm2m_ctx *client_ctx)
Custom load_credentials function.
Definition lwm2m.h:189
 
int tls_tag
TLS tag is set by client as a reference used when the LwM2M engine calls tls_credential_(add|delete)
Definition lwm2m.h:173
 
int(* set_socketoptions)(struct lwm2m_ctx *client_ctx)
Custom socket options.
Definition lwm2m.h:197
 
int srv_obj_inst
Current index of Server Object used in this context.
Definition lwm2m.h:223
 
void * processed_req
A pointer to currently processed request, for internal LwM2M engine use.
Definition lwm2m.h:161
 
bool bootstrap_mode
Flag to enable BOOTSTRAP interface.
Definition lwm2m.h:228
 
lwm2m_ctx_event_cb_t event_cb
Callback for client events.
Definition lwm2m.h:244
 
int sec_obj_inst
Current index of Security Object used for server credentials.
Definition lwm2m.h:220
 
bool buffer_client_messages
Flag to indicate that the client is buffering Notifications and Send messages.
Definition lwm2m.h:217
 
bool use_dtls
Flag to indicate if context should use DTLS.
Definition lwm2m.h:204
 
int sock_fd
Socket File Descriptor.
Definition lwm2m.h:231
 
uint16_t desthostnamelen
Destination hostname length.
Definition lwm2m.h:181
 
bool connection_suspended
Flag to indicate that the socket connection is suspended.
Definition lwm2m.h:210
 
LwM2M object path structure.
Definition lwm2m.h:92
 
uint16_t obj_inst_id
Object instance ID.
Definition lwm2m.h:94
 
uint16_t res_inst_id
Resource instance ID.
Definition lwm2m.h:96
 
uint8_t level
Path level (0-4).
Definition lwm2m.h:97
 
uint16_t res_id
Resource ID.
Definition lwm2m.h:95
 
uint16_t obj_id
Object ID.
Definition lwm2m.h:93
 
LWM2M Objlnk resource type structure.
Definition lwm2m.h:709
 
uint16_t obj_id
Object ID.
Definition lwm2m.h:710
 
uint16_t obj_inst
Object instance ID.
Definition lwm2m.h:711
 
LwM2M Time series data structure.
Definition lwm2m.h:256
 
int64_t i64
Definition lwm2m.h:267
 
int16_t i16
Definition lwm2m.h:265
 
double f
Definition lwm2m.h:269
 
uint32_t u32
Definition lwm2m.h:262
 
int32_t i32
Definition lwm2m.h:266
 
int8_t i8
Definition lwm2m.h:264
 
uint8_t u8
Definition lwm2m.h:260
 
time_t t
Cached data Unix timestamp.
Definition lwm2m.h:258
 
uint16_t u16
Definition lwm2m.h:261
 
uint64_t u64
Definition lwm2m.h:263
 
bool b
Definition lwm2m.h:270
 
time_t time
Definition lwm2m.h:268
 
Generic sockaddr struct.
Definition net_ip.h:347
 
static fdata_t data[2]
Definition test_fifo_contexts.c:15
 
static const intptr_t user_data[5]
Definition main.c:588