42#if !defined(CONFIG_UNICOAP_CREATE_THREAD) || defined(DOXYGEN)
43# define CONFIG_UNICOAP_CREATE_THREAD 1
53#if !defined(CONFIG_UNICOAP_DEBUG_LOGGING) || defined(DOXYGEN)
54# define CONFIG_UNICOAP_DEBUG_LOGGING 0
68#if !defined(CONFIG_UNICOAP_ASSIST) || defined(DOXYGEN)
69# define CONFIG_UNICOAP_ASSIST CONFIG_UNICOAP_DEBUG_LOGGING
72#if CONFIG_UNICOAP_DEBUG_LOGGING && !CONFIG_UNICOAP_ASSIST
73# warning Disabling CONFIG_UNICOAP_ASSIST when CONFIG_UNICOAP_DEBUG_LOGGING is enabled has no effect because debug logging implies emitting asstistance diagnostics.
85#define UNICOAP_DEFAULT_COAP_PORT (5683)
90#define UNICOAP_DEFAULT_COAPS_PORT (5684)
96#if !defined(CONFIG_UNICOAP_UDP_PORT) || defined(DOXYGEN)
97# define CONFIG_UNICOAP_UDP_PORT UNICOAP_DEFAULT_COAP_PORT
104#if !defined(CONFIG_UNICOAP_DTLS_PORT) || defined(DOXYGEN)
105# define CONFIG_UNICOAP_DTLS_PORT UNICOAP_DEFAULT_COAPS_PORT
114#if !defined(CONFIG_UNICOAP_SOCK_ZERO_COPY_GUARANTEES) || defined(DOXYGEN)
115# define CONFIG_UNICOAP_SOCK_ZERO_COPY_GUARANTEES IS_USED(MODULE_GNRC_SOCK_UDP)
123#if !defined(CONFIG_UNICOAP_GET_LOCAL_ENDPOINTS) || defined(DOXYGEN)
124# define CONFIG_UNICOAP_GET_LOCAL_ENDPOINTS 1
145#if !defined(CONFIG_UNICOAP_OPTIONS_FULL_SUPPORT) || defined(DOXYGEN)
146# define CONFIG_UNICOAP_OPTIONS_FULL_SUPPORT 1
154#if !defined(CONFIG_UNICOAP_OPTIONS_MAX) || defined(DOXYGEN)
155# define CONFIG_UNICOAP_OPTIONS_MAX (16)
167#if !defined(CONFIG_UNICOAP_OPTIONS_BUFFER_DEFAULT_CAPACITY) || defined(DOXYGEN)
168# define CONFIG_UNICOAP_OPTIONS_BUFFER_DEFAULT_CAPACITY (32)
175#define UNICOAP_HEADER_SIZE_MAX (15)
184#if !defined(CONFIG_UNICOAP_EXTERNAL_TOKEN_LENGTH_MAX) || defined(DOXYGEN)
185# define CONFIG_UNICOAP_EXTERNAL_TOKEN_LENGTH_MAX (8)
189 "CONFIG_UNICOAP_EXTERNAL_TOKEN_LENGTH_MAX must not be zero");
196#if !defined(CONFIG_UNICOAP_GENERATED_TOKEN_LENGTH) || defined(DOXYGEN)
197# define CONFIG_UNICOAP_GENERATED_TOKEN_LENGTH (2)
201 "CONFIG_UNICOAP_GENERATED_TOKEN_LENGTH must not be zero");
206#define UNICOAP_ETAG_LENGTH_FIXED_WIDTH 4
217#if !defined(CONFIG_UNICOAP_PDU_SIZE_MAX) || defined(DOXYGEN)
218# define CONFIG_UNICOAP_PDU_SIZE_MAX (128)
228#if !defined(CONFIG_UNICOAP_WELL_KNOWN_CORE_SIZE_MAX) || defined(DOXYGEN)
229# define CONFIG_UNICOAP_WELL_KNOWN_CORE_SIZE_MAX (120)
245#define UNICOAP_NSTART (1)
250#define UNICOAP_DEFAULT_LEISURE (5)
263#if !defined(CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH) || defined(DOXYGEN)
264# define CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH (3)
270#if (CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH == 3)
271# define UNICOAP_OBSERVE_TICK_EXPONENT (0)
272#elif (CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH == 2)
273# define UNICOAP_OBSERVE_TICK_EXPONENT (6)
274#elif (CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH == 1)
275# define UNICOAP_OBSERVE_TICK_EXPONENT (14)
277# error CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH must not exceed 3
294#if !defined(CONFIG_UNICOAP_PREVENT_OPTIONAL_RESPONSES) || defined(DOXYGEN)
295# define CONFIG_UNICOAP_PREVENT_OPTIONAL_RESPONSES 0
303#if !defined(CONFIG_UNICOAP_WELL_KNOWN_CORE) || defined(DOXYGEN)
304# define CONFIG_UNICOAP_WELL_KNOWN_CORE (1)
325#if !defined(CONFIG_UNICOAP_RANDOM_FACTOR_1000) || defined(DOXYGEN)
326# define CONFIG_UNICOAP_RANDOM_FACTOR_1000 (1500)
330#define UNICOAP_TIMEOUT_ACK_RANGE_UPPER \
331 ((uint32_t)CONFIG_UNICOAP_TIMEOUT_ACK_MS * CONFIG_UNICOAP_RANDOM_FACTOR_1000 / 1000)
345#if !defined(CONFIG_UNICOAP_TIMEOUT_ACK_MS) || DOXYGEN
346# define CONFIG_UNICOAP_TIMEOUT_ACK_MS (2000)
354#if !defined(CONFIG_UNICOAP_RETRANSMISSIONS_MAX) || DOXYGEN
355# define CONFIG_UNICOAP_RETRANSMISSIONS_MAX (4)
359 "CONFIG_UNICOAP_RETRANSMISSIONS_MAX must not exceed 31");
367#if !defined(CONFIG_UNICOAP_RFC7252_TRANSMISSIONS_MAX) || defined(DOXYGEN)
368# define CONFIG_UNICOAP_RFC7252_TRANSMISSIONS_MAX 2
387#if !defined(CONFIG_UNICOAP_CARBON_COPIES_MAX) || defined(DOXYGEN)
388# define CONFIG_UNICOAP_CARBON_COPIES_MAX (2)
407#if !defined(CONFIG_UNICOAP_DTLS_HANDSHAKE_TIMEOUT_MS) || defined(DOXYGEN)
408# define CONFIG_UNICOAP_DTLS_HANDSHAKE_TIMEOUT_MS (3 * MS_PER_SEC)
418#if !defined(CONFIG_UNICOAP_DTLS_MINIMUM_AVAILABLE_SESSION_SLOTS) || defined(DOXYGEN)
419# define CONFIG_UNICOAP_DTLS_MINIMUM_AVAILABLE_SESSION_SLOTS (1)
428#if !defined(CONFIG_UNICOAP_DTLS_MINIMUM_AVAILABLE_SESSION_SLOTS_TIMEOUT_MS) || defined(DOXYGEN)
429# define CONFIG_UNICOAP_DTLS_MINIMUM_AVAILABLE_SESSION_SLOTS_TIMEOUT_MS (15 * MS_PER_SEC)
442#if !defined(UNICOAP_STACK_SIZE) || defined(DOXYGEN)
447# if IS_USED(MODULE_UNICOAP_DRIVER_DTLS)
448# define UNICOAP_DTLS_EXTRA_STACKSIZE (THREAD_STACKSIZE_DEFAULT)
450# define UNICOAP_DTLS_EXTRA_STACKSIZE (0)
458# define UNICOAP_STACK_SIZE (THREAD_STACKSIZE_DEFAULT + DEBUG_EXTRA_STACKSIZE + \
459 CONFIG_UNICOAP_OPTIONS_BUFFER_DEFAULT_CAPACITY + UNICOAP_DTLS_EXTRA_STACKSIZE)
470#if !defined(CONFIG_UNICOAP_BLOCK_SIZE) || defined(DOXYGEN)
471# define CONFIG_UNICOAP_BLOCK_SIZE (32)
475# ifdef CONFIG_UNICOAP_BLOCK_SZX
476# error CONFIG_UNICOAP_BLOCK_SZX must not be configured manually.
478# if CONFIG_UNICOAP_BLOCK_SIZE == 1024
479# define CONFIG_UNICOAP_BLOCK_SZX (6)
480# elif CONFIG_UNICOAP_BLOCK_SIZE == 512
481# define CONFIG_UNICOAP_BLOCK_SZX (5)
482# elif CONFIG_UNICOAP_BLOCK_SIZE == 256
483# define CONFIG_UNICOAP_BLOCK_SZX (4)
484# elif CONFIG_UNICOAP_BLOCK_SIZE == 128
485# define CONFIG_UNICOAP_BLOCK_SZX (3)
486# elif CONFIG_UNICOAP_BLOCK_SIZE == 64
487# define CONFIG_UNICOAP_BLOCK_SZX (2)
488# elif CONFIG_UNICOAP_BLOCK_SIZE == 32
489# define CONFIG_UNICOAP_BLOCK_SZX (1)
490# elif CONFIG_UNICOAP_BLOCK_SIZE == 16
491# define CONFIG_UNICOAP_BLOCK_SZX (0)
493# error CONFIG_UNICOAP_BLOCK_SIZE must be 1024, 512, 256, 128, 64, 32, or 16
POSIX.1-2008 compliant version of the assert macro.
#define CONFIG_UNICOAP_GENERATED_TOKEN_LENGTH
Length of tokens generated by the unicoap client API.
#define CONFIG_UNICOAP_RETRANSMISSIONS_MAX
Maximum number of retransmissions of a confirmable message.
#define CONFIG_UNICOAP_EXTERNAL_TOKEN_LENGTH_MAX
Maximum length of a token received from a client.
Common macros and compiler attributes/pragmas configuration.