#include "replace.h"
#include "talloc.h"
+#include "system/wait.h"
+#include "system/network.h"
#include "tdb.h"
#include "idtree.h"
-#include "ctdb.h"
-#include "lib/util/debug.h"
+#include "ctdb_client.h"
typedef bool BOOL;
#define False 0
extern int LogLevel;
-
-#define DEBUG(lvl, x) if ((lvl) <= LogLevel) (do_debug x)
+extern int this_log_level;
+
+enum debug_level {
+ DEBUG_EMERG = -3,
+ DEBUG_ALERT = -2,
+ DEBUG_CRIT = -1,
+ DEBUG_ERR = 0,
+ DEBUG_WARNING = 1,
+ DEBUG_NOTICE = 2,
+ DEBUG_INFO = 3,
+ DEBUG_DEBUG = 4,
+};
+
+#define DEBUGLVL(lvl) ((lvl) <= LogLevel)
+#define DEBUG(lvl, x) do { this_log_level = (lvl); if ((lvl) < DEBUG_DEBUG) { log_ringbuffer x; } if ((lvl) <= LogLevel) { do_debug x; }} while (0)
+#define DEBUGADD(lvl, x) do { if ((lvl) <= LogLevel) { this_log_level = (lvl); do_debug_add x; }} while (0)
#define _PUBLIC_
+#define _NORETURN_
+#define _PURE_
#define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x))
const struct timeval *tv2);
_PUBLIC_ struct timeval timeval_current_ofs(uint32_t secs, uint32_t usecs);
double timeval_elapsed(struct timeval *tv);
+double timeval_delta(struct timeval *tv2, struct timeval *tv);
char **file_lines_load(const char *fname, int *numlines, TALLOC_CTX *mem_ctx);
char *hex_encode_talloc(TALLOC_CTX *mem_ctx, const unsigned char *buff_in, size_t len);
_PUBLIC_ const char **str_list_add(const char **list, const char *s);
_PUBLIC_ int set_blocking(int fd, BOOL set);
+#include "lib/util/debug.h"
+#include "lib/util/util.h"