anjay
Loading...
Searching...
No Matches
core.h
Go to the documentation of this file.
1/*
2 * Copyright 2017-2024 AVSystem <avsystem@avsystem.com>
3 * AVSystem Anjay LwM2M SDK
4 * All rights reserved.
5 *
6 * Licensed under the AVSystem-5-clause License.
7 * See the attached LICENSE file for details.
8 */
9
10#ifndef ANJAY_INCLUDE_ANJAY_CORE_H
11#define ANJAY_INCLUDE_ANJAY_CORE_H
12
13#include <stdint.h>
14
15#include <avsystem/coap/udp.h>
16
17#include <avsystem/commons/avs_list.h>
18#include <avsystem/commons/avs_net.h>
19#include <avsystem/commons/avs_prng.h>
20#include <avsystem/commons/avs_sched.h>
21#include <avsystem/commons/avs_stream.h>
22#include <avsystem/commons/avs_time.h>
23
24#include <anjay/anjay_config.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
31typedef uint16_t anjay_ssid_t;
32
36#define ANJAY_SSID_ANY 0
37
42#define ANJAY_SSID_BOOTSTRAP UINT16_MAX
43
45typedef struct anjay_struct anjay_t;
46
47#ifdef ANJAY_WITH_SMS
50#endif // ANJAY_WITH_SMS
51
52#ifdef ANJAY_WITH_NIDD
55#endif // ANJAY_WITH_NIDD
56
60// clang-format off
61#define ANJAY_COAP_DEFAULT_UDP_TX_PARAMS \
62 { \
63 /* .ack_timeout = */ { 2, 0 }, \
64 /* .ack_random_factor = */ 1.5, \
65 /* .max_retransmit = */ 4, \
66 /* .nstart = */ 1 \
67 }
68// clang-format on
69
75// clang-format off
76#define ANJAY_DTLS_DEFAULT_UDP_HS_TX_PARAMS \
77 { \
78 /* .min = */ { 1, 0 }, \
79 /* .max = */ { 60, 0 } \
80 }
81// clang-format on
82
83#ifdef ANJAY_WITH_SMS
90// clang-format off
91#define ANJAY_COAP_DEFAULT_SMS_TX_PARAMS \
92 { \
93 /* .ack_timeout = */ { 62, 0 }, \
94 /* .ack_random_factor = */ 1.5, \
95 /* .max_retransmit = */ 0, \
96 /* .nstart = */ 1 \
97 }
98// clang-format on
99#endif // ANJAY_WITH_SMS
100
101#ifdef ANJAY_WITH_NIDD
111// clang-format off
112#define ANJAY_COAP_DEFAULT_NIDD_TX_PARAMS \
113 { \
114 /* .ack_timeout = */ { 60, 0 }, \
115 /* .ack_random_factor = */ 1.5, \
116 /* .max_retransmit = */ 0, \
117 /* .nstart = */ 1 \
118 }
119// clang-format on
120#endif // ANJAY_WITH_NIDD
121
122#ifdef ANJAY_WITH_LWM2M11
137
150#endif // ANJAY_WITH_LWM2M11
151
152#ifdef ANJAY_WITH_EST
153typedef struct {
158 bool enable;
159
188
215 avs_time_duration_t max_margin;
217
218# ifdef ANJAY_WITH_LWM2M11
257# endif // ANJAY_WITH_LWM2M11
258
259# ifdef ANJAY_WITH_EST_ENGINE_SUPPORT
290 void *arg, const void *x509_der_data, size_t x509_der_data_size);
291# endif // ANJAY_WITH_EST_ENGINE_SUPPORT
292#endif // ANJAY_WITH_EST
293
294#ifdef ANJAY_WITH_CONN_STATUS_API
389
407typedef void
409 anjay_t *anjay,
410 anjay_ssid_t ssid,
412
430#endif // ANJAY_WITH_CONN_STATUS_API
431
432typedef struct anjay_configuration {
440 const char *endpoint_name;
441
448
452 avs_net_ssl_version_t dtls_version;
453
460
469
479
487 avs_net_socket_configuration_t socket_config;
488
499 const avs_coap_udp_tx_params_t *udp_tx_params;
500
535 const avs_net_dtls_handshake_timeouts_t *udp_dtls_hs_tx_params;
536
542
559
575
586
592
607
616
628
639 avs_net_socket_tls_ciphersuites_t default_tls_ciphersuites;
640
651 avs_crypto_prng_ctx_t *prng_ctx;
652
658 avs_ssl_additional_configuration_clb_t *additional_tls_config_clb;
659
660#if defined(WITH_AVS_COAP_TCP) \
661 && (defined(ANJAY_WITH_LWM2M11) || defined(ANJAY_WITH_COAP_DOWNLOAD))
669
677 avs_time_duration_t coap_tcp_request_timeout;
678#endif // defined(WITH_AVS_COAP_TCP) && (defined(ANJAY_WITH_LWM2M11) ||
679 // defined(ANJAY_WITH_COAP_DOWNLOAD))
680
681#ifdef ANJAY_WITH_SMS
692 const avs_coap_udp_tx_params_t *sms_tx_params;
693#endif // ANJAY_WITH_SMS
694
695#ifdef ANJAY_WITH_NIDD
706 const avs_coap_udp_tx_params_t *nidd_tx_params;
707#endif // ANJAY_WITH_NIDD
708
709#ifdef ANJAY_WITH_SMS
715#endif // ANJAY_WITH_SMS
716
717#ifdef ANJAY_WITH_NIDD
723#endif // ANJAY_WITH_NIDD
724
725#ifdef ANJAY_WITH_SMS
739 const char *local_msisdn;
740
751#endif // ANJAY_WITH_SMS
752
753#ifdef ANJAY_WITH_LWM2M11
773
793
808 avs_crypto_certificate_chain_info_t trust_store_certs;
809
824 avs_crypto_cert_revocation_list_info_t trust_store_crls;
825
838#endif // ANJAY_WITH_LWM2M11
839
840#ifdef ANJAY_WITH_EST
853
854# ifdef ANJAY_WITH_LWM2M11
860# endif // ANJAY_WITH_LWM2M11
861
862# ifdef ANJAY_WITH_EST_ENGINE_SUPPORT
870
878
887
896# endif // ANJAY_WITH_EST_ENGINE_SUPPORT
897#endif // ANJAY_WITH_EST
898#ifdef ANJAY_WITH_CONN_STATUS_API
907
918#endif // ANJAY_WITH_CONN_STATUS_API
920
924const char *anjay_get_version(void);
925
935
951
952#ifdef ANJAY_WITH_CORE_PERSISTENCE
996 avs_stream_t *in_stream);
997
1025 avs_stream_t *out_stream);
1026
1027#endif // ANJAY_WITH_CORE_PERSISTENCE
1028
1075AVS_LIST(avs_net_socket_t *const) anjay_get_sockets(anjay_t *anjay);
1076
1084
1131
1159
1179int anjay_serve(anjay_t *anjay, avs_net_socket_t *ready_socket);
1180
1182typedef uint16_t anjay_oid_t;
1183
1185typedef uint16_t anjay_iid_t;
1186
1188typedef uint16_t anjay_rid_t;
1189
1191typedef uint16_t anjay_riid_t;
1192
1197#define ANJAY_ID_INVALID UINT16_MAX
1198
1201#define ANJAY_COAP_STATUS(Maj, Min) ((uint8_t) ((Maj << 5) | (Min & 0x1F)))
1202
1208#define ANJAY_ERR_BAD_REQUEST (-(int) ANJAY_COAP_STATUS(4, 0))
1213#define ANJAY_ERR_UNAUTHORIZED (-(int) ANJAY_COAP_STATUS(4, 1))
1218#define ANJAY_ERR_BAD_OPTION (-(int) ANJAY_COAP_STATUS(4, 2))
1219#define ANJAY_ERR_FORBIDDEN (-(int) ANJAY_COAP_STATUS(4, 3))
1221#define ANJAY_ERR_NOT_FOUND (-(int) ANJAY_COAP_STATUS(4, 4))
1226#define ANJAY_ERR_METHOD_NOT_ALLOWED (-(int) ANJAY_COAP_STATUS(4, 5))
1231#define ANJAY_ERR_NOT_ACCEPTABLE (-(int) ANJAY_COAP_STATUS(4, 6))
1236#define ANJAY_ERR_REQUEST_ENTITY_INCOMPLETE (-(int) ANJAY_COAP_STATUS(4, 8))
1241#define ANJAY_ERR_UNSUPPORTED_CONTENT_FORMAT (-(int) ANJAY_COAP_STATUS(4, 15))
1243#define ANJAY_ERR_INTERNAL (-(int) ANJAY_COAP_STATUS(5, 0))
1245#define ANJAY_ERR_NOT_IMPLEMENTED (-(int) ANJAY_COAP_STATUS(5, 1))
1250#define ANJAY_ERR_SERVICE_UNAVAILABLE (-(int) ANJAY_COAP_STATUS(5, 3))
1268avs_sched_t *anjay_get_scheduler(anjay_t *anjay);
1269
1281int anjay_sched_time_to_next(anjay_t *anjay, avs_time_duration_t *out_delay);
1282
1296int anjay_sched_time_to_next_ms(anjay_t *anjay, int *out_delay_ms);
1297
1314
1322
1323#ifdef ANJAY_WITH_EVENT_LOOP
1385int anjay_event_loop_run(anjay_t *anjay, avs_time_duration_t max_wait_time);
1386
1408 avs_time_duration_t max_wait_time);
1409
1445
1475int anjay_serve_any(anjay_t *anjay, avs_time_duration_t max_wait_time);
1476#endif // ANJAY_WITH_EVENT_LOOP
1477
1510
1530
1531#ifdef ANJAY_WITH_LWM2M11
1545#endif // ANJAY_WITH_LWM2M11
1546
1579
1614 anjay_ssid_t ssid,
1615 avs_time_duration_t timeout);
1616
1628
1649
1656typedef struct {
1657 bool udp : 1;
1658 bool tcp : 1;
1659#ifdef ANJAY_WITH_SMS
1660 bool sms : 1;
1661#endif // ANJAY_WITH_SMS
1662#ifdef ANJAY_WITH_NIDD
1663 bool nidd : 1;
1664#endif // ANJAY_WITH_NIDD
1666
1671
1680
1686
1692
1693#ifdef ANJAY_WITH_SMS
1699#endif // ANJAY_WITH_SMS
1700
1701#ifdef ANJAY_WITH_NIDD
1707#endif // ANJAY_WITH_NIDD
1708
1719 anjay_transport_set_t transport_set);
1720
1748 anjay_transport_set_t transport_set);
1749
1769 anjay_transport_set_t transport_set);
1770
1786 anjay_transport_set_t transport_set);
1787
1810 anjay_transport_set_t transport_set);
1811
1828
1829#ifdef ANJAY_WITH_LWM2M11
1867
1904#endif // ANJAY_WITH_LWM2M11
1905
1906typedef struct {
1910 avs_net_security_info_t security_info;
1911
1916 const avs_net_socket_dane_tlsa_record_t *dane_tlsa_record;
1917
1925 avs_net_socket_tls_ciphersuites_t tls_ciphersuites;
1926
1927 /*
1928 * Server Name Indicator to use for authenticating with the peer during
1929 * secure TLS connection. The value is passed to the underlying TLS library
1930 * that need to take this variable into account for it make any effect. This
1931 * field is optional and can be left zero-initialized. If not set the
1932 * integration layer should use the Server URI instead.
1933 */
1936
1977 anjay_security_config_t *out_config,
1978 const char *uri);
1979
2005
2006#if defined(ANJAY_WITH_EST) && defined(AVS_COMMONS_WITH_AVS_PERSISTENCE)
2019avs_error_t anjay_est_state_persist(anjay_t *anjay, avs_stream_t *out_stream);
2020
2039avs_error_t anjay_est_state_restore(anjay_t *anjay, avs_stream_t *out_stream);
2040
2049#endif // defined(ANJAY_WITH_EST) && defined(AVS_COMMONS_WITH_AVS_PERSISTENCE)
2050
2057
2076
2105 anjay_t *anjay,
2106 anjay_ssid_t ssid,
2108
2136static inline avs_time_real_t
2140
2179 anjay_ssid_t ssid);
2180
2215 anjay_t *anjay, anjay_transport_set_t transport_set);
2216
2258 anjay_ssid_t ssid);
2259
2290 anjay_ssid_t ssid);
2291
2317 anjay_t *anjay, anjay_transport_set_t transport_set);
2318
2344 anjay_t *anjay, anjay_transport_set_t transport_set);
2345
2369
2395 anjay_t *anjay, anjay_transport_set_t transport_set);
2396
2410avs_error_t
2412 anjay_transport_set_t transport_set,
2413 const avs_coap_udp_tx_params_t *tx_params);
2414
2428avs_error_t
2430 anjay_transport_set_t transport_set,
2431 avs_time_duration_t exchange_timeout);
2432
2443 anjay_t *anjay,
2444 avs_net_dtls_handshake_timeouts_t dtls_handshake_timeouts);
2445
2446#ifdef ANJAY_WITH_COMMUNICATION_TIMESTAMP_API
2468 anjay_ssid_t ssid,
2469 avs_time_real_t *out_time);
2470
2501 anjay_ssid_t ssid,
2502 avs_time_real_t *out_time);
2524 anjay_ssid_t ssid,
2525 avs_time_real_t *out_time);
2526#endif // ANJAY_WITH_COMMUNICATION_TIMESTAMP_API
2527
2528#ifdef ANJAY_WITH_SMS
2529# ifdef ANJAY_WITH_LWM2M11
2544 anjay_ssid_t ssid,
2545 bool *out_sms_trigger);
2546# endif // ANJAY_WITH_LWM2M11
2547
2561 const char *server_msisdn,
2562 anjay_ssid_t *out_ssid);
2563#endif // ANJAY_WITH_SMS
2564
2565#ifdef __cplusplus
2566} /* extern "C" */
2567#endif
2568
2569#endif /*ANJAY_INCLUDE_ANJAY_CORE_H*/
anjay_registration_expiration_status_t
Definition core.h:2058
@ ANJAY_REGISTRATION_EXPIRATION_STATUS_VALID
Definition core.h:2064
@ ANJAY_REGISTRATION_EXPIRATION_STATUS_INFINITE_LIFETIME
Definition core.h:2074
@ ANJAY_REGISTRATION_EXPIRATION_STATUS_EXPIRED
Definition core.h:2069
static avs_time_real_t anjay_registration_expiration_time(anjay_t *anjay, anjay_ssid_t ssid)
Definition core.h:2137
bool anjay_est_state_is_ready_for_persistence(anjay_t *anjay)
const anjay_transport_set_t ANJAY_TRANSPORT_SET_NIDD
anjay_t * anjay_new(const anjay_configuration_t *config)
int anjay_set_queue_mode_preference(anjay_t *anjay, anjay_queue_mode_preference_t preference)
avs_error_t anjay_update_coap_exchange_timeout(anjay_t *anjay, anjay_transport_set_t transport_set, avs_time_duration_t exchange_timeout)
const anjay_transport_set_t ANJAY_TRANSPORT_SET_SMS
anjay_est_cacerts_policy_t
Definition core.h:219
@ ANJAY_EST_CACERTS_FOR_EST_SECURITY_AND_BOOTSTRAP
Definition core.h:226
@ ANJAY_EST_CACERTS_IF_EST_CONFIGURED
Definition core.h:243
@ ANJAY_EST_CACERTS_DISABLED
Definition core.h:255
@ ANJAY_EST_CACERTS_ALWAYS
Definition core.h:250
@ ANJAY_EST_CACERTS_FOR_EST_SECURITY
Definition core.h:236
enum anjay_server_conn_status anjay_server_conn_status_t
avs_time_real_t anjay_transport_next_planned_pmax_notify_trigger(anjay_t *anjay, anjay_transport_set_t transport_set)
int anjay_delete_with_core_persistence(anjay_t *anjay, avs_stream_t *out_stream)
avs_time_real_t anjay_next_planned_lifecycle_operation(anjay_t *anjay, anjay_ssid_t ssid)
void anjay_delete(anjay_t *anjay)
avs_time_real_t anjay_next_planned_pmax_notify_trigger(anjay_t *anjay, anjay_ssid_t ssid)
int anjay_get_sms_trigger(anjay_t *anjay, anjay_ssid_t ssid, bool *out_sms_trigger)
anjay_socket_transport_t
Definition core.h:1077
@ ANJAY_SOCKET_TRANSPORT_NIDD
Definition core.h:1082
@ ANJAY_SOCKET_TRANSPORT_INVALID
Definition core.h:1078
@ ANJAY_SOCKET_TRANSPORT_UDP
Definition core.h:1079
@ ANJAY_SOCKET_TRANSPORT_TCP
Definition core.h:1080
@ ANJAY_SOCKET_TRANSPORT_SMS
Definition core.h:1081
int anjay_sched_time_to_next_ms(anjay_t *anjay, int *out_delay_ms)
const anjay_transport_set_t ANJAY_TRANSPORT_SET_TCP
uint16_t anjay_oid_t
Definition core.h:1182
uint16_t anjay_rid_t
Definition core.h:1188
int anjay_event_loop_interrupt(anjay_t *anjay)
bool anjay_all_connections_failed(anjay_t *anjay)
uint16_t anjay_iid_t
Definition core.h:1185
bool anjay_ongoing_registration_exists(anjay_t *anjay)
bool anjay_transport_has_unsent_notifications(anjay_t *anjay, anjay_transport_set_t transport_set)
int anjay_transport_enter_offline(anjay_t *anjay, anjay_transport_set_t transport_set)
anjay_security_config_t anjay_security_config_pkix(anjay_t *anjay)
avs_error_t anjay_update_dtls_handshake_timeouts(anjay_t *anjay, avs_net_dtls_handshake_timeouts_t dtls_handshake_timeouts)
bool anjay_has_unsent_notifications(anjay_t *anjay, anjay_ssid_t ssid)
anjay_server_conn_status_t anjay_get_server_connection_status(anjay_t *anjay, anjay_ssid_t ssid)
int anjay_transport_set_online(anjay_t *anjay, anjay_transport_set_t transport_set)
int anjay_server_schedule_reconnect(anjay_t *anjay, anjay_ssid_t ssid)
struct anjay_struct anjay_t
Definition core.h:45
anjay_queue_mode_preference_t
Definition core.h:1830
@ ANJAY_FORCE_ONLINE_MODE
Definition core.h:1865
@ ANJAY_PREFER_QUEUE_MODE
Definition core.h:1846
@ ANJAY_FORCE_QUEUE_MODE
Definition core.h:1839
@ ANJAY_PREFER_ONLINE_MODE
Definition core.h:1855
anjay_t * anjay_new_from_core_persistence(const anjay_configuration_t *config, avs_stream_t *in_stream)
int anjay_transport_exit_offline(anjay_t *anjay, anjay_transport_set_t transport_set)
avs_time_real_t anjay_transport_next_planned_notify_trigger(anjay_t *anjay, anjay_transport_set_t transport_set)
uint16_t anjay_ssid_t
Definition core.h:31
avs_time_real_t anjay_next_planned_notify_trigger(anjay_t *anjay, anjay_ssid_t ssid)
int anjay_event_loop_run(anjay_t *anjay, avs_time_duration_t max_wait_time)
avs_error_t anjay_update_transport_tx_params(anjay_t *anjay, anjay_transport_set_t transport_set, const avs_coap_udp_tx_params_t *tx_params)
const anjay_transport_set_t ANJAY_TRANSPORT_SET_UDP
const anjay_transport_set_t ANJAY_TRANSPORT_SET_IP
avs_error_t anjay_get_server_last_registration_time(anjay_t *anjay, anjay_ssid_t ssid, avs_time_real_t *out_time)
avs_error_t anjay_get_server_last_communication_time(anjay_t *anjay, anjay_ssid_t ssid, avs_time_real_t *out_time)
int anjay_disable_server(anjay_t *anjay, anjay_ssid_t ssid)
const char * anjay_est_engine_cacert_address_gen_t(void *arg, const void *x509_der_data, size_t x509_der_data_size)
Definition core.h:289
AVS_LIST[avs_net_socket_t *const ] anjay_get_sockets(anjay_t *anjay)
avs_time_real_t anjay_transport_next_planned_lifecycle_operation(anjay_t *anjay, anjay_transport_set_t transport_set)
void anjay_server_connection_status_cb_t(void *arg, anjay_t *anjay, anjay_ssid_t ssid, anjay_server_conn_status_t status)
Definition core.h:408
int anjay_schedule_registration_update(anjay_t *anjay, anjay_ssid_t ssid)
int anjay_serve(anjay_t *anjay, avs_net_socket_t *ready_socket)
void anjay_sched_run(anjay_t *anjay)
int anjay_schedule_register(anjay_t *anjay, anjay_ssid_t ssid)
AVS_LIST[const anjay_socket_entry_t] anjay_get_socket_entries(anjay_t *anjay)
bool anjay_transport_is_offline(anjay_t *anjay, anjay_transport_set_t transport_set)
int anjay_get_server_ssid_by_msisdn(anjay_t *anjay, const char *server_msisdn, anjay_ssid_t *out_ssid)
int anjay_schedule_bootstrap_request(anjay_t *anjay)
anjay_server_conn_status
Definition core.h:301
@ ANJAY_SERV_CONN_STATUS_INITIAL
Definition core.h:320
@ ANJAY_SERV_CONN_STATUS_REGISTERING
Definition core.h:341
@ ANJAY_SERV_CONN_STATUS_BOOTSTRAPPING
Definition core.h:331
@ ANJAY_SERV_CONN_STATUS_DEREGISTERING
Definition core.h:357
@ ANJAY_SERV_CONN_STATUS_INVALID
Definition core.h:306
@ ANJAY_SERV_CONN_STATUS_REREGISTERING
Definition core.h:382
@ ANJAY_SERV_CONN_STATUS_ERROR
Definition core.h:313
@ ANJAY_SERV_CONN_STATUS_UPDATING
Definition core.h:387
@ ANJAY_SERV_CONN_STATUS_REGISTERED
Definition core.h:346
@ ANJAY_SERV_CONN_STATUS_REG_FAILURE
Definition core.h:352
@ ANJAY_SERV_CONN_STATUS_SUSPENDING
Definition core.h:371
@ ANJAY_SERV_CONN_STATUS_DEREGISTERED
Definition core.h:365
@ ANJAY_SERV_CONN_STATUS_SUSPENDED
Definition core.h:376
@ ANJAY_SERV_CONN_STATUS_CONNECTING
Definition core.h:326
@ ANJAY_SERV_CONN_STATUS_BOOTSTRAPPED
Definition core.h:336
avs_sched_t * anjay_get_scheduler(anjay_t *anjay)
int anjay_enable_server(anjay_t *anjay, anjay_ssid_t ssid)
avs_error_t anjay_get_server_next_update_time(anjay_t *anjay, anjay_ssid_t ssid, avs_time_real_t *out_time)
int anjay_serve_any(anjay_t *anjay, avs_time_duration_t max_wait_time)
int anjay_security_config_from_dm(anjay_t *anjay, anjay_security_config_t *out_config, const char *uri)
int anjay_disable_server_with_timeout(anjay_t *anjay, anjay_ssid_t ssid, avs_time_duration_t timeout)
int anjay_event_loop_run_with_error_handling(anjay_t *anjay_locked, avs_time_duration_t max_wait_time)
avs_time_real_t anjay_registration_expiration_time_with_status(anjay_t *anjay, anjay_ssid_t ssid, anjay_registration_expiration_status_t *out_status)
int anjay_sched_time_to_next(anjay_t *anjay, avs_time_duration_t *out_delay)
int anjay_transport_schedule_reconnect(anjay_t *anjay, anjay_transport_set_t transport_set)
anjay_lwm2m_version_t
Definition core.h:123
@ ANJAY_LWM2M_VERSION_1_1
Definition core.h:135
@ ANJAY_LWM2M_VERSION_1_0
Definition core.h:128
const char * anjay_get_version(void)
struct anjay_configuration anjay_configuration_t
avs_error_t anjay_est_state_restore(anjay_t *anjay, avs_stream_t *out_stream)
int anjay_sched_calculate_wait_time_ms(anjay_t *anjay, int limit_ms)
avs_error_t anjay_est_state_persist(anjay_t *anjay, avs_stream_t *out_stream)
const anjay_transport_set_t ANJAY_TRANSPORT_SET_ALL
uint16_t anjay_riid_t
Definition core.h:1191
Definition core.h:432
bool use_connection_id
Definition core.h:591
bool enable_self_notify
Definition core.h:615
size_t in_buffer_size
Definition core.h:459
avs_net_socket_configuration_t socket_config
Definition core.h:487
bool prefer_multipart_sms
Definition core.h:750
size_t msg_cache_size
Definition core.h:478
avs_time_duration_t coap_tcp_request_timeout
Definition core.h:677
size_t out_buffer_size
Definition core.h:468
void * server_connection_status_cb_arg
Definition core.h:917
const anjay_lwm2m_version_config_t * lwm2m_version_config
Definition core.h:772
void * est_engine_cacerts_address_gen_cb_arg
Definition core.h:895
anjay_nidd_driver_t * nidd_driver
Definition core.h:722
avs_crypto_certificate_chain_info_t trust_store_certs
Definition core.h:808
bool use_system_trust_store
Definition core.h:792
bool confirmable_notifications
Definition core.h:541
avs_crypto_prng_ctx_t * prng_ctx
Definition core.h:651
const avs_coap_udp_tx_params_t * udp_tx_params
Definition core.h:499
bool prefer_hierarchical_formats
Definition core.h:585
avs_crypto_cert_revocation_list_info_t trust_store_crls
Definition core.h:824
bool update_immediately_on_dm_change
Definition core.h:606
bool disable_legacy_server_initiated_bootstrap
Definition core.h:558
anjay_est_cacerts_policy_t est_cacerts_policy
Definition core.h:859
size_t coap_tcp_max_options_size
Definition core.h:668
const char * endpoint_name
Definition core.h:440
avs_net_ssl_version_t dtls_version
Definition core.h:452
avs_net_socket_tls_ciphersuites_t default_tls_ciphersuites
Definition core.h:639
const avs_coap_udp_tx_params_t * sms_tx_params
Definition core.h:692
const char * local_msisdn
Definition core.h:739
const avs_net_dtls_handshake_timeouts_t * udp_dtls_hs_tx_params
Definition core.h:535
const char * est_engine_key_address
Definition core.h:869
anjay_est_engine_cacert_address_gen_t * est_engine_cacerts_address_gen_cb
Definition core.h:886
bool rebuild_client_cert_chain
Definition core.h:837
anjay_server_connection_status_cb_t * server_connection_status_cb
Definition core.h:906
uint16_t udp_listen_port
Definition core.h:447
bool connection_error_is_registration_failure
Definition core.h:627
const char * est_engine_cert_address
Definition core.h:877
const avs_coap_udp_tx_params_t * nidd_tx_params
Definition core.h:706
const anjay_est_reenroll_config_t * est_reenroll_config
Definition core.h:852
avs_ssl_additional_configuration_clb_t * additional_tls_config_clb
Definition core.h:658
size_t stored_notification_limit
Definition core.h:574
anjay_smsdrv_t * sms_driver
Definition core.h:714
Definition core.h:153
double nominal_usage
Definition core.h:187
avs_time_duration_t max_margin
Definition core.h:215
bool enable
Definition core.h:158
Definition core.h:138
anjay_lwm2m_version_t minimum_version
Definition core.h:142
anjay_lwm2m_version_t maximum_version
Definition core.h:148
Definition nidd.h:169
Definition core.h:1906
avs_net_security_info_t security_info
Definition core.h:1910
const char * server_name_indication
Definition core.h:1934
avs_net_socket_tls_ciphersuites_t tls_ciphersuites
Definition core.h:1925
const avs_net_socket_dane_tlsa_record_t * dane_tlsa_record
Definition core.h:1916
Definition sms.h:134
Definition core.h:1089
bool queue_mode
Definition core.h:1129
anjay_ssid_t ssid
Definition core.h:1115
anjay_socket_transport_t transport
Definition core.h:1103
avs_net_socket_t * socket
Definition core.h:1095
Definition core.h:1656
bool sms
Definition core.h:1660
bool tcp
Definition core.h:1658
bool udp
Definition core.h:1657
bool nidd
Definition core.h:1663