Anjay Lite
Loading...
Searching...
No Matches
anj_config.h
Go to the documentation of this file.
1/*
2 * Copyright 2023-2025 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#ifndef ANJ_CONFIG_H
11#define ANJ_CONFIG_H
12
25/******************************************************************************\
26 * Input/Output buffer sizes
27\******************************************************************************/
34#define ANJ_IN_MSG_BUFFER_SIZE 1200
35
42#define ANJ_OUT_MSG_BUFFER_SIZE 1200
43
52#define ANJ_OUT_PAYLOAD_BUFFER_SIZE 1024
53
54/******************************************************************************\
55 * Data Model configuration
56\******************************************************************************/
64#define ANJ_DM_MAX_OBJECTS_NUMBER 10
65
73#define ANJ_WITH_COMPOSITE_OPERATIONS
74
82#define ANJ_DM_MAX_COMP_READ_ENTRIES 5
83
84/******************************************************************************\
85 * Device Object configuration
86\******************************************************************************/
94#define ANJ_WITH_DEFAULT_DEVICE_OBJ
95
96/******************************************************************************\
97 * Security Object configuration
98\******************************************************************************/
105#define ANJ_WITH_DEFAULT_SECURITY_OBJ
106
114#define ANJ_SEC_OBJ_MAX_PUBLIC_KEY_OR_IDENTITY_SIZE 255
115
123#define ANJ_SEC_OBJ_MAX_SERVER_PUBLIC_KEY_SIZE 255
124
132#define ANJ_SEC_OBJ_MAX_SECRET_KEY_SIZE 255
133
134/******************************************************************************\
135 * Server Object configuration
136\******************************************************************************/
143#define ANJ_WITH_DEFAULT_SERVER_OBJ
144
145/******************************************************************************\
146 * FOTA Object configuration
147\******************************************************************************/
151#define ANJ_WITH_DEFAULT_FOTA_OBJ
152
162#define ANJ_FOTA_WITH_PULL_METHOD
163
169#define ANJ_FOTA_WITH_PUSH_METHOD
170
174#define ANJ_FOTA_WITH_COAP
175
179#define ANJ_FOTA_WITH_COAPS
180
184#define ANJ_FOTA_WITH_HTTP
185
189#define ANJ_FOTA_WITH_HTTPS
190
194#define ANJ_FOTA_WITH_COAP_TCP
195
199#define ANJ_FOTA_WITH_COAPS_TCP
200
201/******************************************************************************\
202 * CoAP Downloader configuration
203\******************************************************************************/
210#define ANJ_WITH_COAP_DOWNLOADER
211
218#define ANJ_COAP_DOWNLOADER_MAX_PATHS_NUMBER 3
219
227#define ANJ_COAP_DOWNLOADER_MAX_MSG_SIZE 1200
228
229/******************************************************************************\
230 * Observe configuration
231\******************************************************************************/
236#define ANJ_WITH_OBSERVE
237
245#define ANJ_WITH_OBSERVE_COMPOSITE
246
256#define ANJ_OBSERVE_MAX_OBSERVATIONS_NUMBER 10
257
268#define ANJ_OBSERVE_MAX_WRITE_ATTRIBUTES_NUMBER 10
269
270/******************************************************************************\
271 * Bootstrap configuration
272\******************************************************************************/
276#define ANJ_WITH_BOOTSTRAP
277
281#define ANJ_WITH_BOOTSTRAP_DISCOVER
282
283/******************************************************************************\
284 * Discover configuration
285\******************************************************************************/
290#define ANJ_WITH_DISCOVER
291
298#define ANJ_WITH_DISCOVER_ATTR
299
300/******************************************************************************\
301 * Send configuration
302\******************************************************************************/
306#define ANJ_WITH_LWM2M_SEND
307
315#define ANJ_LWM2M_SEND_QUEUE_SIZE 1
316
317/******************************************************************************\
318 * Compat layer configuration
319\******************************************************************************/
325#define ANJ_WITH_TIME_POSIX_COMPAT
326
333#define ANJ_WITH_RNG_POSIX_COMPAT
334
340#define ANJ_WITH_SOCKET_POSIX_COMPAT
341
350#define ANJ_WITH_CRYPTO_STORAGE_DEFAULT
351
361#define ANJ_NET_WITH_IPV4
362
372#define ANJ_NET_WITH_IPV6
373
380#define ANJ_NET_WITH_UDP
381
388#define ANJ_NET_WITH_TCP
389
396#define ANJ_NET_WITH_DTLS
397
404#define ANJ_WITH_MBEDTLS
405
413#define ANJ_MBEDTLS_PSK_IDENTITY_MAX_LEN 128
414
421#define ANJ_MBEDTLS_TLS_VERSION MBEDTLS_SSL_VERSION_TLS1_2
422
434#define ANJ_MBEDTLS_ALLOWED_CIPHERSUITES MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8,MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8
435
443#define ANJ_MBEDTLS_HS_INITIAL_TIMEOUT_VALUE_MS 1000
444
452#define ANJ_MBEDTLS_HS_MAXIMUM_TIMEOUT_VALUE_MS 60000
453
454/******************************************************************************\
455 * Security configuration
456\******************************************************************************/
460#define ANJ_WITH_SECURITY
461
471#define ANJ_WITH_CERTIFICATES
472
482#define ANJ_WITH_EXTERNAL_CRYPTO_STORAGE
483
484/******************************************************************************\
485 * Data Formats configuration
486\******************************************************************************/
492#define ANJ_WITH_EXTERNAL_DATA
493
498#define ANJ_WITH_CBOR
499
503#define ANJ_WITH_CBOR_DECODE_DECIMAL_FRACTIONS
504
509#define ANJ_WITH_CBOR_DECODE_HALF_FLOAT
510
514#define ANJ_WITH_CBOR_DECODE_INDEFINITE_BYTES
515
519#define ANJ_WITH_CBOR_DECODE_STRING_TIME
520
530#define ANJ_WITH_LWM2M_CBOR
531
541#define ANJ_WITH_SENML_CBOR
542
547#define ANJ_WITH_PLAINTEXT
548
553#define ANJ_WITH_OPAQUE
554
561#define ANJ_WITH_TLV
562
563/******************************************************************************\
564 * CoAP configuration
565\******************************************************************************/
571#define ANJ_COAP_WITH_UDP
572
578#define ANJ_COAP_WITH_TCP
579
588#define ANJ_COAP_MAX_OPTIONS_NUMBER 15
589
601#define ANJ_COAP_MAX_ATTR_OPTION_SIZE 40
602
611#define ANJ_COAP_MAX_LOCATION_PATHS_NUMBER 2
612
620#define ANJ_COAP_MAX_LOCATION_PATH_SIZE 40
621
638#define ANJ_WITH_CACHE
639
654#define ANJ_CACHE_ENTRIES_NUMBER 10
655
656/******************************************************************************\
657 * Logger configuration
658\******************************************************************************/
666#define ANJ_LOG_FULL
667
683#define ANJ_LOG_ALT_IMPL_HEADER
684
692#define ANJ_LOG_FORMATTER_PRINTF
693
703#define ANJ_LOG_FORMATTER_BUF_SIZE 512
704
711#define ANJ_LOG_HANDLER_OUTPUT_STDERR
712
718#define ANJ_LOG_HANDLER_OUTPUT_ALT
719
723#define ANJ_LOG_STRIP_CONSTANTS
724
734#define ANJ_LOG_LEVEL_DEFAULT L_INFO
735
753#define ANJ_LOG_FILTERING_CONFIG_HEADER
754
755/******************************************************************************\
756 * Persistence configuration
757\******************************************************************************/
764#define ANJ_WITH_PERSISTENCE
765
766/******************************************************************************\
767 * Other configuration
768\******************************************************************************/
772#define ANJ_WITH_LWM2M12
773
781#define ANJ_WITH_CUSTOM_CONVERSION_FUNCTIONS
782
788#define ANJ_PLATFORM_BIG_ENDIAN
789
790#endif // ANJ_CONFIG_H