27#ifndef SOPC_COMMON_CONSTANTS_H_
28#define SOPC_COMMON_CONSTANTS_H_
82#ifndef SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE
83#define SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE UINT16_MAX
89#ifndef SOPC_DEFAULT_RECEIVE_MAX_NB_CHUNKS
90#define SOPC_DEFAULT_RECEIVE_MAX_NB_CHUNKS 5
96#ifndef SOPC_DEFAULT_RECEIVE_MAX_MESSAGE_LENGTH
97#define SOPC_DEFAULT_RECEIVE_MAX_MESSAGE_LENGTH SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE* SOPC_DEFAULT_RECEIVE_MAX_NB_CHUNKS
103#ifndef SOPC_DEFAULT_SEND_MAX_NB_CHUNKS
104#define SOPC_DEFAULT_SEND_MAX_NB_CHUNKS 12
110#ifndef SOPC_DEFAULT_SEND_MAX_MESSAGE_LENGTH
111#define SOPC_DEFAULT_SEND_MAX_MESSAGE_LENGTH SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE* SOPC_DEFAULT_SEND_MAX_NB_CHUNKS
115#ifndef SOPC_DEFAULT_MAX_STRING_LENGTH
116#define SOPC_DEFAULT_MAX_STRING_LENGTH UINT16_MAX
120#ifndef SOPC_DEFAULT_MAX_ARRAY_LENGTH
121#define SOPC_DEFAULT_MAX_ARRAY_LENGTH 1000000
127#ifndef SOPC_DEFAULT_MAX_DIAG_INFO_NESTED_LEVEL
128#define SOPC_DEFAULT_MAX_DIAG_INFO_NESTED_LEVEL 100
133#ifndef SOPC_DEFAULT_MAX_STRUCT_NESTED_LEVEL
134#define SOPC_DEFAULT_MAX_STRUCT_NESTED_LEVEL 50
138#ifndef SOPC_MAX_NB_ELEMENTS_ASYNC_QUEUE
139#define SOPC_MAX_NB_ELEMENTS_ASYNC_QUEUE 5000
142#ifndef SOPC_MAX_NB_ELEMENTS_ASYNC_QUEUE_WARNING_ONLY
143#define SOPC_MAX_NB_ELEMENTS_ASYNC_QUEUE_WARNING_ONLY true
147#ifndef SOPC_LOG_MAX_USER_LINE_LENGTH
148#define SOPC_LOG_MAX_USER_LINE_LENGTH 512
152#ifndef SOPC_HAS_FILESYSTEM
153#define SOPC_HAS_FILESYSTEM true
157#ifndef SOPC_MAX_TIMERS
158#define SOPC_MAX_TIMERS UINT8_MAX
167#ifndef SOPC_CONSOLE_PRINTF
168#define SOPC_CONSOLE_PRINTF printf
172#ifndef SOPC_IS_LITTLE_ENDIAN
173#define SOPC_IS_LITTLE_ENDIAN 1
179#ifndef SOPC_IS_DOUBLE_MIDDLE_ENDIAN
180#define SOPC_IS_DOUBLE_MIDDLE_ENDIAN 0
184#if UINTPTR_MAX < UINT32_MAX
185#error "UINTPTR_MAX < UINT32_MAX whereas uintptr_t are used to store uint32_t values"
189#if SIZE_MAX < UINT32_MAX
190#error "SIZE_MAX < UINT32_MAX whereas uint32_t are casted to size_t values"
194#if SIZE_MAX < LONG_MAX
195#error "SIZE_MAX < LONG_MAX whereas long are casted to size_t values"
199#if SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE < SOPC_TCP_UA_MIN_BUFFER_SIZE
200#error "SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE is not large enough, must be >= SOPC_TCP_UA_MIN_BUFFER_SIZE"
204#if 0 != SOPC_DEFAULT_RECEIVE_MAX_MESSAGE_LENGTH && \
205 (SOPC_DEFAULT_RECEIVE_MAX_MESSAGE_LENGTH < SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE)
206#error "SOPC_DEFAULT_RECEIVE_MAX_MESSAGE_LENGTH is not large enough, must be >= SOPC_TCP_UA_MAX_BUFFER_SIZE"
212#if 0 == SOPC_DEFAULT_RECEIVE_MAX_MESSAGE_LENGTH && 0 == SOPC_DEFAULT_RECEIVE_MAX_NB_CHUNKS
214 "It is forbidden to define both SOPC_DEFAULT_RECEIVE_MAX_MESSAGE_LENGTH and SOPC_DEFAULT_RECEIVE_MAX_NB_CHUNKS to value 0 (no limit)"
218#if 0 != SOPC_DEFAULT_SEND_MAX_MESSAGE_LENGTH && \
219 (SOPC_DEFAULT_SEND_MAX_MESSAGE_LENGTH < SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE)
220#error "SOPC_DEFAULT_SEND_MAX_MESSAGE_LENGTH is not large enough, must be >= SOPC_DEFAULT_TCP_UA_MAX_BUFFER_SIZE"
226#if 0 == SOPC_DEFAULT_SEND_MAX_MESSAGE_LENGTH && 0 == SOPC_DEFAULT_SEND_MAX_NB_CHUNKS
228 "It is forbidden to define both SOPC_DEFAULT_SEND_MAX_MESSAGE_LENGTH and SOPC_DEFAULT_SEND_MAX_NB_CHUNKS to value 0 (no limit)"
SOPC_Common_EncodingConstants SOPC_Common_GetDefaultEncodingConstants(void)
Get the default encoding constants (contains values below by default)
bool SOPC_Common_SetEncodingConstants(SOPC_Common_EncodingConstants config)
Set the encodings constants with current structure value. It shall be done before initialization and ...
struct SOPC_Common_EncodingConstants SOPC_Common_EncodingConstants
Configuration structure of message and types encoding limits.
bool SOPC_Common_EncodingConstantsGetInitialized(void)
Retrieve the S2OPC encoding constants "initialized" state.
const SOPC_Common_EncodingConstants * SOPC_Internal_Common_GetEncodingConstants(void)
bool SOPC_Internal_Common_Constants_RuntimeCheck(void)
OPC-UA specific constants.
Configuration structure of message and types encoding limits.
Definition sopc_common_constants.h:39
uint32_t buffer_size
Definition sopc_common_constants.h:41
uint32_t max_nested_struct
Definition sopc_common_constants.h:51
uint32_t max_nested_diag_info
Definition sopc_common_constants.h:50
uint32_t send_max_nb_chunks
Definition sopc_common_constants.h:45
int32_t max_array_length
Definition sopc_common_constants.h:49
uint32_t send_max_msg_size
Definition sopc_common_constants.h:44
uint32_t receive_max_nb_chunks
Definition sopc_common_constants.h:43
uint32_t receive_max_msg_size
Definition sopc_common_constants.h:42
int32_t max_string_length
Definition sopc_common_constants.h:48