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)
176#if !defined(CONFIG_UNICOAP_URI_HOST_PART_LENGTH_MAX) || defined(DOXYGEN)
177# define CONFIG_UNICOAP_URI_HOST_PART_LENGTH_MAX (32)
185#define UNICOAP_HEADER_SIZE_MAX (15)
194#if !defined(CONFIG_UNICOAP_EXTERNAL_TOKEN_LENGTH_MAX) || defined(DOXYGEN)
195# define CONFIG_UNICOAP_EXTERNAL_TOKEN_LENGTH_MAX (8)
199 "CONFIG_UNICOAP_EXTERNAL_TOKEN_LENGTH_MAX must not be zero");
206#if !defined(CONFIG_UNICOAP_GENERATED_TOKEN_LENGTH) || defined(DOXYGEN)
207# define CONFIG_UNICOAP_GENERATED_TOKEN_LENGTH (2)
211 "CONFIG_UNICOAP_GENERATED_TOKEN_LENGTH must not be zero");
216#define UNICOAP_ETAG_LENGTH_FIXED_WIDTH 4
227#if !defined(CONFIG_UNICOAP_PDU_SIZE_MAX) || defined(DOXYGEN)
228# define CONFIG_UNICOAP_PDU_SIZE_MAX (128)
238#if !defined(CONFIG_UNICOAP_WELL_KNOWN_CORE_SIZE_MAX) || defined(DOXYGEN)
239# define CONFIG_UNICOAP_WELL_KNOWN_CORE_SIZE_MAX (120)
248#if !defined(CONFIG_UNICOAP_CLIENT_MEMOS_CAPACITY) || defined(DOXYGEN)
249# define CONFIG_UNICOAP_CLIENT_MEMOS_CAPACITY (2)
266#define UNICOAP_NSTART (1)
271#define UNICOAP_DEFAULT_LEISURE (5)
279#if !defined(CONFIG_UNICOAP_TIMEOUT_CLIENT_RESPONSE_MS) || defined(DOXYGEN)
280# define CONFIG_UNICOAP_TIMEOUT_CLIENT_RESPONSE_MS (7000)
294#if !defined(CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH) || defined(DOXYGEN)
295# define CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH (3)
301#if (CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH == 3)
302# define UNICOAP_OBSERVE_TICK_EXPONENT (0)
303#elif (CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH == 2)
304# define UNICOAP_OBSERVE_TICK_EXPONENT (6)
305#elif (CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH == 1)
306# define UNICOAP_OBSERVE_TICK_EXPONENT (14)
308# error CONFIG_UNICOAP_OBSERVE_VALUE_WIDTH must not exceed 3
325#if !defined(CONFIG_UNICOAP_PREVENT_OPTIONAL_RESPONSES) || defined(DOXYGEN)
326# define CONFIG_UNICOAP_PREVENT_OPTIONAL_RESPONSES 0
334#if !defined(CONFIG_UNICOAP_WELL_KNOWN_CORE) || defined(DOXYGEN)
335# define CONFIG_UNICOAP_WELL_KNOWN_CORE (1)
356#if !defined(CONFIG_UNICOAP_RANDOM_FACTOR_1000) || defined(DOXYGEN)
357# define CONFIG_UNICOAP_RANDOM_FACTOR_1000 (1500)
361#define UNICOAP_TIMEOUT_ACK_RANGE_UPPER \
362 ((uint32_t)CONFIG_UNICOAP_TIMEOUT_ACK_MS * CONFIG_UNICOAP_RANDOM_FACTOR_1000 / 1000)
376#if !defined(CONFIG_UNICOAP_TIMEOUT_ACK_MS) || DOXYGEN
377# define CONFIG_UNICOAP_TIMEOUT_ACK_MS (2000)
385#if !defined(CONFIG_UNICOAP_RETRANSMISSIONS_MAX) || DOXYGEN
386# define CONFIG_UNICOAP_RETRANSMISSIONS_MAX (4)
390 "CONFIG_UNICOAP_RETRANSMISSIONS_MAX must not exceed 31");
398#if !defined(CONFIG_UNICOAP_RFC7252_TRANSMISSIONS_CAPACITY) || defined(DOXYGEN)
399# define CONFIG_UNICOAP_RFC7252_TRANSMISSIONS_CAPACITY 2
418#if !defined(CONFIG_UNICOAP_CARBON_COPIES_MAX) || defined(DOXYGEN)
419# define CONFIG_UNICOAP_CARBON_COPIES_MAX (2)
438#if !defined(CONFIG_UNICOAP_DTLS_HANDSHAKE_TIMEOUT_MS) || defined(DOXYGEN)
439# define CONFIG_UNICOAP_DTLS_HANDSHAKE_TIMEOUT_MS (3 * MS_PER_SEC)
449#if !defined(CONFIG_UNICOAP_DTLS_MINIMUM_AVAILABLE_SESSION_SLOTS) || defined(DOXYGEN)
450# define CONFIG_UNICOAP_DTLS_MINIMUM_AVAILABLE_SESSION_SLOTS (1)
459#if !defined(CONFIG_UNICOAP_DTLS_MINIMUM_AVAILABLE_SESSION_SLOTS_TIMEOUT_MS) || defined(DOXYGEN)
460# define CONFIG_UNICOAP_DTLS_MINIMUM_AVAILABLE_SESSION_SLOTS_TIMEOUT_MS (15 * MS_PER_SEC)
473#if !defined(UNICOAP_STACK_SIZE) || defined(DOXYGEN)
478# if IS_USED(MODULE_UNICOAP_DRIVER_DTLS)
479# define UNICOAP_DTLS_EXTRA_STACKSIZE (THREAD_STACKSIZE_DEFAULT)
481# define UNICOAP_DTLS_EXTRA_STACKSIZE (0)
489# define UNICOAP_STACK_SIZE (THREAD_STACKSIZE_DEFAULT + DEBUG_EXTRA_STACKSIZE + \
490 CONFIG_UNICOAP_OPTIONS_BUFFER_DEFAULT_CAPACITY + UNICOAP_DTLS_EXTRA_STACKSIZE)
501#if !defined(CONFIG_UNICOAP_BLOCK_SIZE) || defined(DOXYGEN)
502# define CONFIG_UNICOAP_BLOCK_SIZE (32)
506# ifdef CONFIG_UNICOAP_BLOCK_SZX
507# error CONFIG_UNICOAP_BLOCK_SZX must not be configured manually.
509# if CONFIG_UNICOAP_BLOCK_SIZE == 1024
510# define CONFIG_UNICOAP_BLOCK_SZX (6)
511# elif CONFIG_UNICOAP_BLOCK_SIZE == 512
512# define CONFIG_UNICOAP_BLOCK_SZX (5)
513# elif CONFIG_UNICOAP_BLOCK_SIZE == 256
514# define CONFIG_UNICOAP_BLOCK_SZX (4)
515# elif CONFIG_UNICOAP_BLOCK_SIZE == 128
516# define CONFIG_UNICOAP_BLOCK_SZX (3)
517# elif CONFIG_UNICOAP_BLOCK_SIZE == 64
518# define CONFIG_UNICOAP_BLOCK_SZX (2)
519# elif CONFIG_UNICOAP_BLOCK_SIZE == 32
520# define CONFIG_UNICOAP_BLOCK_SZX (1)
521# elif CONFIG_UNICOAP_BLOCK_SIZE == 16
522# define CONFIG_UNICOAP_BLOCK_SZX (0)
524# 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.