Anjay Lite
Loading...
Searching...
No Matches
core.h
Go to the documentation of this file.
1/*
2 * Copyright 2023-2026 AVSystem <avsystem@avsystem.com>
3 * AVSystem Anjay Lite LwM2M SDK
4 * All rights reserved.
5 *
6 * Licensed under AVSystem Anjay Lite LwM2M Client SDK - Non-Commercial License.
7 * See the attached LICENSE file for details.
8 */
9
10#include <anj/init.h>
11
20#ifndef ANJ_CORE_H
21# define ANJ_CORE_H
22
24# include <anj/defs.h>
25# include <anj/dm/core.h>
26
28# define ANJ_INTERNAL_INCLUDE_EXCHANGE
29# include <anj_internal/exchange.h> // IWYU pragma: export
30# undef ANJ_INTERNAL_INCLUDE_EXCHANGE
34# ifdef ANJ_WITH_BOOTSTRAP
35# define ANJ_INTERNAL_INCLUDE_BOOTSTRAP
36# include <anj_internal/bootstrap.h> // IWYU pragma: export
37# undef ANJ_INTERNAL_INCLUDE_BOOTSTRAP
38# endif // ANJ_WITH_BOOTSTRAP
41# ifdef ANJ_WITH_LWM2M_SEND
42# include <anj/lwm2m_send.h>
43# endif // ANJ_WITH_LWM2M_SEND
44
45# ifdef __cplusplus
46extern "C" {
47# endif
48
49# define ANJ_SUPPORTED_BINDING_MODES "U"
50
125
140
156typedef void anj_connection_status_callback_t(void *arg,
157 anj_t *anj,
158 anj_conn_status_t conn_status);
159
263
273int anj_core_init(anj_t *anj, const anj_configuration_t *config);
274
289
329
348void anj_core_server_obj_disable_executed(anj_t *anj, uint32_t timeout);
349
360
374
406 const anj_uri_path_t *path,
407 anj_core_change_type_t change_type);
408
425
442
461
484
494
548
550# define ANJ_INTERNAL_INCLUDE_CORE
551# include <anj_internal/core.h> // IWYU pragma: export
552# undef ANJ_INTERNAL_INCLUDE_CORE
555# ifdef __cplusplus
556}
557# endif
558
559#endif // ANJ_CORE_H
Platform hooks for network transport integration.
bool anj_core_ongoing_operation(anj_t *anj)
void anj_connection_status_callback_t(void *arg, anj_t *anj, anj_conn_status_t conn_status)
Definition core.h:156
struct anj_configuration_struct anj_configuration_t
int anj_core_init(anj_t *anj, const anj_configuration_t *config)
int anj_core_shutdown(anj_t *anj)
void anj_core_server_obj_bootstrap_request_trigger_executed(anj_t *anj)
void anj_core_disable_server(anj_t *anj, anj_time_duration_t timeout)
anj_core_change_type_t
Definition core.h:130
@ ANJ_CORE_CHANGE_TYPE_DELETED
Definition core.h:138
@ ANJ_CORE_CHANGE_TYPE_VALUE_CHANGED
Definition core.h:132
@ ANJ_CORE_CHANGE_TYPE_ADDED
Definition core.h:135
void anj_core_step(anj_t *anj)
anj_conn_status_t
Definition core.h:54
@ ANJ_CONN_STATUS_ENTERING_QUEUE_MODE
Definition core.h:117
@ ANJ_CONN_STATUS_REGISTERING
Definition core.h:98
@ ANJ_CONN_STATUS_QUEUE_MODE
Definition core.h:123
@ ANJ_CONN_STATUS_INITIAL
Definition core.h:65
@ ANJ_CONN_STATUS_REGISTERED
Definition core.h:103
@ ANJ_CONN_STATUS_INVALID
Definition core.h:73
@ ANJ_CONN_STATUS_SUSPENDED
Definition core.h:112
@ ANJ_CONN_STATUS_FAILURE
Definition core.h:83
@ ANJ_CONN_STATUS_BOOTSTRAPPING
Definition core.h:88
@ ANJ_CONN_STATUS_BOOTSTRAPPED
Definition core.h:93
void anj_core_data_model_changed(anj_t *anj, const anj_uri_path_t *path, anj_core_change_type_t change_type)
anj_time_duration_t anj_core_next_step_time(anj_t *anj)
void anj_core_server_obj_disable_executed(anj_t *anj, uint32_t timeout)
void anj_core_request_bootstrap(anj_t *anj)
void anj_core_restart(anj_t *anj)
void anj_core_request_update(anj_t *anj)
void anj_core_server_obj_registration_update_trigger_executed(anj_t *anj)
Core type and constant definitions for Anjay Lite.
struct anj_struct anj_t
Definition defs.h:129
Core data model API: object management, read/write helpers, bootstrap.
Global configuration validation header for Anjay Lite.
Public API for composing and queuing LwM2M Send messages.
Definition core.h:163
anj_time_duration_t bootstrap_retry_timeout
Definition core.h:247
const anj_net_socket_configuration_t * net_socket_cfg
Definition core.h:220
anj_connection_status_callback_t * connection_status_cb
Definition core.h:181
anj_time_duration_t queue_mode_timeout
Definition core.h:215
anj_time_duration_t bootstrap_timeout
Definition core.h:260
bool queue_mode_enabled
Definition core.h:206
uint16_t bootstrap_retry_count
Definition core.h:239
anj_time_duration_t exchange_request_timeout
Definition core.h:232
const anj_exchange_udp_tx_params_t * udp_tx_params
Definition core.h:226
const char * endpoint_name
Definition core.h:171
void * connection_status_cb_arg
Definition core.h:189
Definition defs.h:212
Definition anj_net_api.h:148
Relative duration of time.
Definition time.h:106
Definition defs.h:257