Program Listing for File lwm2m_gateway.h
↰ Return to documentation for file (include_public/anjay/lwm2m_gateway.h)
/*
* Copyright 2017-2026 AVSystem <avsystem@avsystem.com>
* AVSystem Anjay LwM2M SDK
* All rights reserved.
*
* Licensed under AVSystem Anjay LwM2M Client SDK - Non-Commercial License.
* See the attached LICENSE file for details.
*/
#ifndef ANJAY_INCLUDE_LWM2M_GATEWAY_H
#define ANJAY_INCLUDE_LWM2M_GATEWAY_H
#include <anjay/anjay.h>
#include <anjay/anjay_config.h>
#include <anjay/lwm2m_send.h>
#ifdef ANJAY_WITH_LWM2M_GATEWAY
# ifdef __cplusplus
extern "C" {
# endif
int anjay_lwm2m_gateway_install(anjay_t *anjay);
int anjay_lwm2m_gateway_register_device(anjay_t *anjay,
const char *device_id,
anjay_iid_t *inout_iid);
int anjay_lwm2m_gateway_deregister_device(anjay_t *anjay, anjay_iid_t iid);
int anjay_lwm2m_gateway_register_object(
anjay_t *anjay,
anjay_iid_t iid,
const anjay_dm_object_def_t *const *def_ptr);
int anjay_lwm2m_gateway_unregister_object(
anjay_t *anjay,
anjay_iid_t iid,
const anjay_dm_object_def_t *const *def_ptr);
# ifdef ANJAY_WITH_SEND
int anjay_lwm2m_gateway_send_batch_add_int(anjay_send_batch_builder_t *builder,
anjay_iid_t gateway_iid,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid,
anjay_riid_t riid,
avs_time_real_t timestamp,
int64_t value);
int anjay_lwm2m_gateway_send_batch_add_uint(anjay_send_batch_builder_t *builder,
anjay_iid_t gateway_iid,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid,
anjay_riid_t riid,
avs_time_real_t timestamp,
uint64_t value);
int anjay_lwm2m_gateway_send_batch_add_double(
anjay_send_batch_builder_t *builder,
anjay_iid_t gateway_iid,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid,
anjay_riid_t riid,
avs_time_real_t timestamp,
double value);
int anjay_lwm2m_gateway_send_batch_add_bool(anjay_send_batch_builder_t *builder,
anjay_iid_t gateway_iid,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid,
anjay_riid_t riid,
avs_time_real_t timestamp,
bool value);
int anjay_lwm2m_gateway_send_batch_add_string(
anjay_send_batch_builder_t *builder,
anjay_iid_t gateway_iid,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid,
anjay_riid_t riid,
avs_time_real_t timestamp,
const char *str);
int anjay_lwm2m_gateway_send_batch_add_bytes(
anjay_send_batch_builder_t *builder,
anjay_iid_t gateway_iid,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid,
anjay_riid_t riid,
avs_time_real_t timestamp,
const void *data,
size_t length);
int anjay_lwm2m_gateway_send_batch_add_objlnk(
anjay_send_batch_builder_t *builder,
anjay_iid_t gateway_iid,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid,
anjay_riid_t riid,
avs_time_real_t timestamp,
anjay_oid_t objlnk_oid,
anjay_iid_t objlnk_iid);
int anjay_lwm2m_gateway_send_batch_data_add_current(
anjay_send_batch_builder_t *builder,
anjay_t *anjay,
anjay_iid_t gateway_iid,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid);
int anjay_lwm2m_gateway_send_batch_data_add_current_multiple(
anjay_send_batch_builder_t *builder,
anjay_t *anjay,
anjay_iid_t gateway_iid,
const anjay_send_resource_path_t *paths,
size_t paths_length);
int anjay_lwm2m_gateway_send_batch_data_add_current_multiple_ignore_not_found(
anjay_send_batch_builder_t *builder,
anjay_t *anjay,
anjay_iid_t gateway_iid,
const anjay_send_resource_path_t *paths,
size_t paths_length);
# endif // ANJAY_WITH_SEND
int anjay_lwm2m_gateway_notify_changed(anjay_t *anjay,
anjay_iid_t end_dev,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid);
int anjay_lwm2m_gateway_notify_instances_changed(anjay_t *anjay,
anjay_iid_t end_dev,
anjay_oid_t oid);
# ifdef ANJAY_WITH_OBSERVATION_STATUS
anjay_resource_observation_status_t
anjay_lwm2m_gateway_resource_observation_status(anjay_t *anjay,
anjay_iid_t end_dev,
anjay_oid_t oid,
anjay_iid_t iid,
anjay_rid_t rid);
# endif // ANJAY_WITH_OBSERVATION_STATUS
# ifdef __cplusplus
}
# endif
#endif // ANJAY_WITH_LWM2M_GATEWAY
#endif // ANJAY_INCLUDE_LWM2M_GATEWAY_H