example libctdb.a and test program libctdb/tst.c
[sahlberg/ctdb.git] / include / includes.h
1 #define HAVE_UNIXSOCKET 1
2
3 #include "replace.h"
4 #include "talloc.h"
5 #include "system/wait.h"
6 #include "system/network.h"
7 #include "tdb.h"
8 #include "idtree.h"
9 #include "ctdb.h"
10
11 typedef bool BOOL;
12
13 #define True 1
14 #define False 0
15
16 extern int LogLevel;
17 extern int this_log_level;
18
19 enum debug_level { 
20         DEBUG_EMERG   = -3, 
21         DEBUG_ALERT   = -2, 
22         DEBUG_CRIT    = -1,
23         DEBUG_ERR     =  0,
24         DEBUG_WARNING =  1,
25         DEBUG_NOTICE  =  2,     
26         DEBUG_INFO    =  3,
27         DEBUG_DEBUG   =  4,
28 };
29
30 typedef void ctdb_ringbuf_log_fn(const char *format, ...);
31 extern ctdb_ringbuf_log_fn *ctdb_ringbuf_log;
32
33 #define DEBUGLVL(lvl) ((lvl) <= LogLevel)
34 #define DEBUG(lvl, x) do { this_log_level = (lvl); if (ctdb_ringbuf_log && (lvl) < DEBUG_DEBUG) { ctdb_ringbuf_log x; } if ((lvl) <= LogLevel) { do_debug x; }} while (0)
35 #define DEBUGADD(lvl, x) do { if ((lvl) <= LogLevel) { this_log_level = (lvl); do_debug_add x; }} while (0)
36
37 #define _PUBLIC_
38 #define _NORETURN_
39 #define _PURE_
40
41 #define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x))
42
43 #ifndef discard_const
44 #define discard_const(ptr) ((void *)((intptr_t)(ptr)))
45 #endif
46
47 struct timeval timeval_zero(void);
48 bool timeval_is_zero(const struct timeval *tv);
49 struct timeval timeval_current(void);
50 struct timeval timeval_set(uint32_t secs, uint32_t usecs);
51 int timeval_compare(const struct timeval *tv1, const struct timeval *tv2);
52 struct timeval timeval_until(const struct timeval *tv1,
53                              const struct timeval *tv2);
54 _PUBLIC_ struct timeval timeval_current_ofs(uint32_t secs, uint32_t usecs);
55 double timeval_elapsed(struct timeval *tv);
56 double timeval_delta(struct timeval *tv2, struct timeval *tv);
57 char **file_lines_load(const char *fname, int *numlines, TALLOC_CTX *mem_ctx);
58 char *hex_encode_talloc(TALLOC_CTX *mem_ctx, const unsigned char *buff_in, size_t len);
59 _PUBLIC_ const char **str_list_add(const char **list, const char *s);
60 _PUBLIC_ int set_blocking(int fd, BOOL set);
61
62 #include "lib/util/debug.h"
63 #include "lib/util/util.h"