51#define LWM2M_FLOAT32_BITS 10
52#define LWM2M_FLOAT32_FRAC (1L << LWM2M_FLOAT32_BITS)
56 LWM2M_TEXT_PLAIN = 1541,
60 LWM2M_OLD_JSON = 1543,
61 LWM2M_OLD_OPAQUE = 1544
62} lwm2m_content_format_t;
64void lwm2m_engine_init(
void);
66int lwm2m_engine_set_rd_data(lwm2m_buffer_t *outbuf,
int block);
69(* lwm2m_object_instance_callback_t)(lwm2m_object_instance_t *object,
70 lwm2m_context_t *ctx);
72(* lwm2m_resource_dim_callback_t)(lwm2m_object_instance_t *object,
73 uint16_t resource_id);
75#define LWM2M_OBJECT_INSTANCE_NONE 0xffff
77struct lwm2m_object_instance {
78 lwm2m_object_instance_t *next;
82 const lwm2m_resource_id_t *resource_ids;
83 uint16_t resource_count;
85 lwm2m_object_instance_callback_t callback;
86 lwm2m_resource_dim_callback_t resource_dim_callback;
91 lwm2m_object_instance_t *(* create_instance)(uint16_t instance_id,
92 lwm2m_status_t *status);
93 int (* delete_instance)(uint16_t instance_id, lwm2m_status_t *status);
94 lwm2m_object_instance_t *(* get_first)(lwm2m_status_t *status);
95 lwm2m_object_instance_t *(* get_next)(lwm2m_object_instance_t *instance,
96 lwm2m_status_t *status);
97 lwm2m_object_instance_t *(* get_by_id)(uint16_t instance_id,
98 lwm2m_status_t *status);
101typedef struct lwm2m_object lwm2m_object_t;
103 lwm2m_object_t *next;
104 const lwm2m_object_impl_t *impl;
107lwm2m_object_instance_t *lwm2m_engine_get_instance_buffer(
void);
109int lwm2m_engine_has_instance(uint16_t object_id, uint16_t instance_id);
110int lwm2m_engine_add_object(lwm2m_object_instance_t *
object);
111void lwm2m_engine_remove_object(lwm2m_object_instance_t *
object);
112int lwm2m_engine_add_generic_object(lwm2m_object_t *
object);
113void lwm2m_engine_remove_generic_object(lwm2m_object_t *
object);
114void lwm2m_notify_object_observers(lwm2m_object_instance_t *obj,
117void lwm2m_engine_set_opaque_callback(lwm2m_context_t *ctx, lwm2m_write_opaque_callback cb);
Header file for the LWM2M object API.
Queue Mode Configuration Parameters.