summaryrefslogtreecommitdiff
path: root/common/include/verify_policy_utils.h
blob: 4d6966e19c8a828476db75fccb61fd36fb113761 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef __RT_COMMON_H__
#define __RT_COMMON_H__

#include <assert.h>
#define EVAL_TM_STYLE   "%Y-%m-%d"

#define VERIFY_SYMBOL_MAX			64
#define VERIFY_PATH_MAX             258
#define VERIFY_STRING_MAX			2048
#define VERIFY_ARRAY_MAX			512
#define MAX_TAG_ID_NUM              128

/** Alway treated the expr as true */
#ifndef likely
#define likely(expr) __builtin_expect(!!(expr), 1)
#endif

/** Alway treated the expr as false */
#ifndef unlikely
#define unlikely(expr) __builtin_expect(!!(expr), 0)
#endif

#ifndef FOREVER
#define FOREVER for(;;)
#endif

#ifdef SOCK_NONBLOCK
#define EVUTIL_SOCK_NONBLOCK SOCK_NONBLOCK
#else
#define EVUTIL_SOCK_NONBLOCK 0x4000000
#endif
#ifdef SOCK_CLOEXEC
#define EVUTIL_SOCK_CLOEXEC SOCK_CLOEXEC
#else
#define EVUTIL_SOCK_CLOEXEC 0x80000000
#endif
#ifdef EFD_NONBLOCK
#define EVUTIL_EFD_NONBLOCK EFD_NONBLOCK
#else
#define EVUTIL_EFD_NONBLOCK 0x4000
#endif
#ifdef EFD_CLOEXEC
#define EVUTIL_EFD_CLOEXEC EFD_CLOEXEC
#else
#define EVUTIL_EFD_CLOEXEC 0x8000
#endif

#define	__rt_always_inline__	__attribute__((always_inline)) inline

#define ALLOC(type, number) ((type *)calloc(sizeof(type), number))
#define	FREE(p)	{free(*p);*p=NULL;}

char* rt_strdup(const char* s);

#define	MODULE_VERIFY_POLICY "verify-policy.init"

#define CHECK_OR_EXIT(condition, fmt, ...)                                                                          \
do { if(!(condition)) { log_fatal(g_verify_proxy->logger, MODULE_VERIFY_POLICY, fmt, ##__VA_ARGS__); exit(EXIT_FAILURE);   }  } while(0) \

#endif