7#ifndef UCS_CONFIG_TYPES_H
8#define UCS_CONFIG_TYPES_H
10#include <ucs/sys/compiler_def.h>
11#include <sys/socket.h>
24 UCS_LOG_LEVEL_TRACE_REQ,
25 UCS_LOG_LEVEL_TRACE_DATA,
26 UCS_LOG_LEVEL_TRACE_ASYNC,
27 UCS_LOG_LEVEL_TRACE_FUNC,
28 UCS_LOG_LEVEL_TRACE_POLL,
38 UCS_ASYNC_MODE_SIGNAL,
39 UCS_ASYNC_MODE_THREAD,
40 UCS_ASYNC_MODE_THREAD_SPINLOCK = UCS_ASYNC_MODE_THREAD,
41 UCS_ASYNC_MODE_THREAD_MUTEX,
47extern const char *ucs_async_mode_names[];
53typedef enum ucs_ternary_auto_value {
59} ucs_ternary_auto_value_t;
65typedef enum ucs_on_off_auto_value {
69 UCS_CONFIG_ON_OFF_LAST
70} ucs_on_off_auto_value_t;
77 UCS_HANDLE_ERROR_BACKTRACE,
78 UCS_HANDLE_ERROR_FREEZE,
79 UCS_HANDLE_ERROR_DEBUG,
80 UCS_HANDLE_ERROR_NONE,
89 UCS_CONFIG_PRINT_CONFIG = UCS_BIT(0),
90 UCS_CONFIG_PRINT_HEADER = UCS_BIT(1),
91 UCS_CONFIG_PRINT_DOC = UCS_BIT(2),
92 UCS_CONFIG_PRINT_HIDDEN = UCS_BIT(3),
93 UCS_CONFIG_PRINT_COMMENT_DEFAULT = UCS_BIT(4)
94} ucs_config_print_flags_t;
98ucs_ternary_auto_value_is_yes_or_try(ucs_ternary_auto_value_t value)
100 return (value == UCS_YES) || (value == UCS_TRY);
105ucs_ternary_auto_value_is_yes_or_no(ucs_ternary_auto_value_t value)
107 return (value == UCS_YES) || (value == UCS_NO);
115#define UCS_CONFIG_ARRAY_FIELD(_type, _array_name) \
117 _type *_array_name; \
124#define UCS_CONFIG_STRING_ARRAY_FIELD(_array_name) \
125 UCS_CONFIG_ARRAY_FIELD(char*, _array_name)
128typedef UCS_CONFIG_STRING_ARRAY_FIELD(names) ucs_config_names_array_t;
135 UCS_CONFIG_ALLOW_LIST_ALLOW_ALL,
136 UCS_CONFIG_ALLOW_LIST_ALLOW,
137 UCS_CONFIG_ALLOW_LIST_NEGATE
138} ucs_config_allow_list_mode_t;
143 ucs_config_allow_list_mode_t
mode;
const struct sockaddr * addr
Definition types.h:152
socklen_t addrlen
Definition types.h:153
struct ucs_sock_addr ucs_sock_addr_t
ucs_config_names_array_t array
Definition types.h:142
ucs_config_allow_list_mode_t mode
Definition types.h:143
const char * file_filter
Definition types.h:163
char name[16]
Definition types.h:162
ucs_log_level_t log_level
Definition types.h:161