1 #ifndef _CTDB_INCLUDES_H
2 #define _CTDB_INCLUDES_H
4 #define HAVE_UNIXSOCKET 1
8 #include "system/wait.h"
9 #include "system/network.h"
12 #include "ctdb_client.h"
14 /* Allow use of deprecated function tevent_loop_allow_nesting() */
15 #define TEVENT_DEPRECATED
16 /* Saves ctdb from massive churn. */
17 #define TEVENT_COMPAT_DEFINES 1
22 extern int this_log_level
;
35 #define DEBUGLVL(lvl) ((lvl) <= LogLevel)
36 #define DEBUG(lvl, x) do { this_log_level = (lvl); if ((lvl) < DEBUG_DEBUG) { log_ringbuffer x; } if ((lvl) <= LogLevel) { do_debug x; }} while (0)
37 #define DEBUGADD(lvl, x) do { if ((lvl) <= LogLevel) { this_log_level = (lvl); do_debug_add x; }} while (0)
43 #define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x))
46 #define discard_const(ptr) ((void *)((intptr_t)(ptr)))
49 struct timeval
timeval_zero(void);
50 bool timeval_is_zero(const struct timeval
*tv
);
51 struct timeval
timeval_current(void);
52 struct timeval
timeval_set(uint32_t secs
, uint32_t usecs
);
53 int timeval_compare(const struct timeval
*tv1
, const struct timeval
*tv2
);
54 struct timeval
timeval_until(const struct timeval
*tv1
,
55 const struct timeval
*tv2
);
56 _PUBLIC_
struct timeval
timeval_current_ofs(uint32_t secs
, uint32_t usecs
);
57 double timeval_elapsed(struct timeval
*tv
);
58 double timeval_delta(struct timeval
*tv2
, struct timeval
*tv
);
59 char **file_lines_load(const char *fname
, int *numlines
, TALLOC_CTX
*mem_ctx
);
60 char *hex_encode_talloc(TALLOC_CTX
*mem_ctx
, const unsigned char *buff_in
, size_t len
);
61 uint8_t *hex_decode_talloc(TALLOC_CTX
*mem_ctx
, const char *hex_in
, size_t *len
);
62 _PUBLIC_
const char **str_list_add(const char **list
, const char *s
);
63 _PUBLIC_
int set_blocking(int fd
, bool set
);
65 #include "lib/util/debug.h"
66 #include "lib/util/util.h"
68 #endif /* _CTDB_INCLUDES_H */