Program Listing for File lwm2m_send.h
↰ Return to documentation for file (include_public/anj/lwm2m_send.h)
/*
* Copyright 2023-2026 AVSystem <avsystem@avsystem.com>
* AVSystem Anjay Lite LwM2M SDK
* All rights reserved.
*
* Licensed under AVSystem Anjay Lite LwM2M Client SDK - Non-Commercial License.
* See the attached LICENSE file for details.
*/
#include <anj/init.h>
#ifndef ANJ_LWM2M_SEND_H
# define ANJ_LWM2M_SEND_H
# include <anj/defs.h>
# ifdef __cplusplus
extern "C" {
# endif
# ifdef ANJ_WITH_LWM2M_SEND
# define ANJ_SEND_ID_ALL UINT16_MAX
# define ANJ_SEND_SUCCESS 0
# define ANJ_SEND_ERR_TIMEOUT -1
# define ANJ_SEND_ERR_ABORT -2
# define ANJ_SEND_ERR_REJECTED -3
# define ANJ_SEND_ERR_NETWORK -4
# define ANJ_SEND_ERR_INTERNAL -5
# define ANJ_SEND_ERR_NO_REQUEST_FOUND -6
# define ANJ_SEND_ERR_NO_SPACE -7
# define ANJ_SEND_ERR_NOT_ALLOWED -8
# define ANJ_SEND_ERR_DATA_NOT_VALID -9
/* end of anj_send_errors */
typedef enum {
# ifdef ANJ_WITH_SENML_CBOR
ANJ_SEND_CONTENT_FORMAT_SENML_CBOR,
# endif // ANJ_WITH_SENML_CBOR
# ifdef ANJ_WITH_LWM2M_CBOR
ANJ_SEND_CONTENT_FORMAT_LWM2M_CBOR,
# endif // ANJ_WITH_LWM2M_CBOR
} anj_send_content_format_t;
typedef void anj_send_finished_handler_t(anj_t *anjay,
uint16_t send_id,
int result,
void *data);
typedef struct {
const anj_io_out_entry_t *records;
size_t records_cnt;
anj_send_finished_handler_t *finished_handler;
void *data;
anj_send_content_format_t content_format;
} anj_send_request_t;
int anj_send_new_request(anj_t *anj,
const anj_send_request_t *send_request,
uint16_t *out_send_id);
int anj_send_abort(anj_t *anj, uint16_t send_id);
# define ANJ_INTERNAL_INCLUDE_SEND
# include <anj_internal/lwm2m_send.h>
# undef ANJ_INTERNAL_INCLUDE_SEND
# endif // ANJ_WITH_LWM2M_SEND
# ifdef __cplusplus
}
# endif
#endif // ANJ_LWM2M_SEND_H