#include <stdio.h>
#include <glib.h>
#include <stdint.h>
-#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stdbool.h>
+#include <babeltrace/compat/string-internal.h>
#define PERROR_BUFLEN 200
-extern int babeltrace_verbose, babeltrace_debug;
+extern bool babeltrace_verbose, babeltrace_debug;
#define printf_verbose(fmt, args...) \
do { \
perrorstr, \
## args)
-#if !defined(__linux__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE))
-
#define _bt_printf_perror(fp, fmt, args...) \
({ \
char buf[PERROR_BUFLEN] = "Error in strerror_r()"; \
- strerror_r(errno, buf, sizeof(buf)); \
+ bt_strerror_r(errno, buf, sizeof(buf)); \
_bt_printfe(fp, "error", buf, fmt, ## args); \
})
#define _bt_printfl_perror(fp, lineno, fmt, args...) \
({ \
char buf[PERROR_BUFLEN] = "Error in strerror_r()"; \
- strerror_r(errno, buf, sizeof(buf)); \
- _bt_printfle(fp, "error", lineno, buf, fmt, ## args); \
- })
-
-#else
-
-/*
- * Version using GNU strerror_r, for linux with appropriate defines.
- */
-
-#define _bt_printf_perror(fp, fmt, args...) \
- ({ \
- char *buf; \
- char tmp[PERROR_BUFLEN] = "Error in strerror_r()"; \
- buf = strerror_r(errno, tmp, sizeof(tmp)); \
- _bt_printfe(fp, "error", buf, fmt, ## args); \
- })
-
-#define _bt_printfl_perror(fp, lineno, fmt, args...) \
- ({ \
- char *buf; \
- char tmp[PERROR_BUFLEN] = "Error in strerror_r()"; \
- buf = strerror_r(errno, tmp, sizeof(tmp)); \
+ bt_strerror_r(errno, buf, sizeof(buf)); \
_bt_printfle(fp, "error", lineno, buf, fmt, ## args); \
})
-#endif
-
/* printf without lineno information */
#define printf_fatal(fmt, args...) \
_bt_printf(stderr, "fatal", fmt, ## args)
# endif
#endif
+#ifndef min
+#define min(a, b) (((a) < (b)) ? (a) : (b))
+#endif
+
+#ifndef max
+#define max(a, b) (((a) > (b)) ? (a) : (b))
+#endif
+
+#ifndef max_t
+#define max_t(type, a, b) \
+ ((type) (a) > (type) (b) ? (type) (a) : (type) (b))
+#endif
+
+/*
+ * Memory allocation zeroed
+ */
+#define zmalloc(x) calloc(1, x)
+
/*
* BT_HIDDEN: set the hidden attribute for internal functions
*/
#define BT_CTF_MAJOR 1
#define BT_CTF_MINOR 8
+#define __STRINGIFY(x) #x
+#define TOSTRING(x) __STRINGIFY(x)
+
struct bt_trace_descriptor;
struct trace_collection {
GPtrArray *array; /* struct bt_trace_descriptor */
GHashTable *clocks; /* struct ctf_clock */
- uint64_t single_clock_offset_avg;
- uint64_t offset_first;
+ int64_t single_clock_offset_avg;
+ int64_t offset_first;
int64_t delta_offset_first_sum;
int offset_nr;
int clock_use_offset_avg;
opt_clock_seconds,
opt_clock_date,
opt_clock_gmt,
- opt_clock_force_correlate;
-
-extern uint64_t opt_clock_offset;
+ opt_clock_force_correlate,
+ opt_debug_info_full_path;
+
+extern int64_t opt_clock_offset;
+extern int64_t opt_clock_offset_ns;
+extern int babeltrace_ctf_console_output;
+extern char *opt_debug_info_dir;
+extern char *opt_debug_info_target_prefix;
#endif