common.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 HAW Hamburg
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #include "liblwm2m.h"
27 #include "lwm2m_client.h"
28 
40 static inline lwm2m_object_t *lwm2m_get_object_by_id(lwm2m_client_data_t *client_data, uint16_t id)
41 {
42  return (lwm2m_object_t *)LWM2M_LIST_FIND(client_data->lwm2m_ctx->objectList, id);
43 }
44 
60 int lwm2m_get_string(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, char *out,
61  size_t *out_len);
62 
82 int lwm2m_get_string_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
83  char *out, size_t *out_len);
84 
100 int lwm2m_get_opaque(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, uint8_t *out,
101  size_t *out_len);
102 
122 int lwm2m_get_opaque_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
123  uint8_t *out, size_t *out_len);
124 
139 int lwm2m_get_int(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, int64_t *out);
140 
159 int lwm2m_get_int_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
160  int64_t *out);
161 
176 int lwm2m_get_float(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, double *out);
177 
196 int lwm2m_get_float_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
197  double *out);
198 
213 int lwm2m_get_bool(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, bool *out);
214 
233 int lwm2m_get_bool_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
234  bool *out);
235 
252 int lwm2m_get_objlink(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri,
253  uint16_t *object_id_out, uint16_t *instance_id_out);
254 
275 int lwm2m_get_objlink_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
276  uint16_t *object_id_out, uint16_t *instance_id_out);
277 
293 int lwm2m_set_string(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, char *val,
294  size_t val_len);
295 
315 int lwm2m_set_string_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
316  char *val, size_t val_len);
317 
333 int lwm2m_set_opaque(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, uint8_t *val,
334  size_t val_len);
335 
355 int lwm2m_set_opaque_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
356  uint8_t *val, size_t val_len);
357 
372 int lwm2m_set_int(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, int64_t val);
373 
392 int lwm2m_set_int_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
393  int64_t val);
394 
409 int lwm2m_set_float(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, double val);
410 
429 int lwm2m_set_float_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
430  double val);
431 
446 int lwm2m_set_bool(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, bool val);
447 
466 int lwm2m_set_bool_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
467  bool val);
468 
484 int lwm2m_set_objlink(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri,
485  uint16_t object_id_in, uint16_t instance_id_in);
486 
506 int lwm2m_set_objlink_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len,
507  uint16_t object_id_in, uint16_t instance_id_in);
508 
509 #ifdef __cplusplus
510 }
511 #endif
512 
int lwm2m_get_int(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, int64_t *out)
Get the value of an integer-type resource, specified by uri.
int lwm2m_get_bool_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, bool *out)
Get the value of an float-type resource, specified by a path path.
int lwm2m_set_bool(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, bool val)
Set the value of an boolean-type resource, specified by uri.
int lwm2m_set_string(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, char *val, size_t val_len)
Set the value of a string-type resource, specified by uri.
int lwm2m_set_bool_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, bool val)
Set the value of an float-type resource, specified by a path path.
int lwm2m_set_objlink_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, uint16_t object_id_in, uint16_t instance_id_in)
Set the value of an objectlink-type resource, specified by a path path.
int lwm2m_set_int(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, int64_t val)
Set the value of an integer-type resource, specified by uri.
int lwm2m_get_string_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, char *out, size_t *out_len)
Get the value of a string-type resource, specified by a path path.
int lwm2m_get_objlink_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, uint16_t *object_id_out, uint16_t *instance_id_out)
Get the value of an objectlink-type resource, specified by a path path.
int lwm2m_set_float_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, double val)
Set the value of an float-type resource, specified by a path path.
int lwm2m_set_int_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, int64_t val)
Set the value of an integer-type resource, specified by a path path.
int lwm2m_get_objlink(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, uint16_t *object_id_out, uint16_t *instance_id_out)
Get the value of an objectlink-type resource, specified by uri.
int lwm2m_get_float(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, double *out)
Get the value of an float-type resource, specified by uri.
int lwm2m_get_bool(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, bool *out)
Get the value of an boolean-type resource, specified by uri.
int lwm2m_set_objlink(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, uint16_t object_id_in, uint16_t instance_id_in)
Set the value of an objectlink-type resource, specified by uri.
int lwm2m_set_float(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, double val)
Set the value of an float-type resource, specified by uri.
int lwm2m_get_float_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, double *out)
Get the value of an float-type resource, specified by a path path.
int lwm2m_get_string(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, char *out, size_t *out_len)
Get the value of a string-type resource, specified by uri.
int lwm2m_set_string_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, char *val, size_t val_len)
Set the value of a string-type resource, specified by a path path.
int lwm2m_get_opaque(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, uint8_t *out, size_t *out_len)
Get the value of an opaque-type resource, specified by uri.
int lwm2m_get_int_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, int64_t *out)
Get the value of an integer-type resource, specified by a path path.
int lwm2m_set_opaque_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, uint8_t *val, size_t val_len)
Set the value of an opaque-type resource, specified by a path path.
int lwm2m_set_opaque(lwm2m_client_data_t *client_data, const lwm2m_uri_t *uri, uint8_t *val, size_t val_len)
Set the value of an opaque-type resource, specified by uri.
static lwm2m_object_t * lwm2m_get_object_by_id(lwm2m_client_data_t *client_data, uint16_t id)
Get the handle for an object type of the client by its ID.
Definition: common.h:40
int lwm2m_get_opaque_by_path(lwm2m_client_data_t *client_data, const char *path, size_t path_len, uint8_t *out, size_t *out_len)
Get the value of an opaque-type resource, specified by a path path.
Definitions and public API for a LwM2M client using Wakaama.
LwM2M client descriptor.
Definition: lwm2m_client.h:69
lwm2m_context_t * lwm2m_ctx
LwM2M context.
Definition: lwm2m_client.h:78