X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fbabeltrace-internal.h;h=583d949ca2ebe72d4f9874cf074affd5ec7527b3;hb=9b0d4b3c906eb0f134b945980ad66857c37bfa2b;hp=339c1e7c115758190eacd0dadbbe7a2ad621de52;hpb=b8c621ad6d4d96aa968563c030ec908cb1019526;p=babeltrace.git diff --git a/include/babeltrace/babeltrace-internal.h b/include/babeltrace/babeltrace-internal.h index 339c1e7c..583d949c 100644 --- a/include/babeltrace/babeltrace-internal.h +++ b/include/babeltrace/babeltrace-internal.h @@ -27,112 +27,62 @@ #include #include #include +#include +#include +#include +#include + +#define PERROR_BUFLEN 200 + +#ifndef likely +# ifdef __GNUC__ +# define likely(x) __builtin_expect(!!(x), 1) +# else +# define likely(x) (!!(x)) +# endif +#endif -extern int babeltrace_verbose, babeltrace_debug; - -#define printf_verbose(fmt, args...) \ - do { \ - if (babeltrace_verbose) \ - fprintf(stdout, "[verbose] " fmt, ## args); \ - } while (0) - -#define printf_debug(fmt, args...) \ - do { \ - if (babeltrace_debug) \ - fprintf(stdout, "[debug] " fmt, ## args); \ - } while (0) - -#define _bt_printf(fp, kindstr, fmt, args...) \ - fprintf(fp, "[%s]%s%s%s: " fmt "\n", \ - kindstr, \ - (babeltrace_debug ? " \"" : ""), \ - (babeltrace_debug ? __func__ : ""), \ - (babeltrace_debug ? "\"" : ""), \ - ## args) - -#define _bt_printfl(fp, kindstr, lineno, fmt, args...) \ - fprintf(fp, "[%s]%s%s%s at line %u: " fmt "\n", \ - kindstr, \ - (babeltrace_debug ? " \"" : ""), \ - (babeltrace_debug ? __func__ : ""), \ - (babeltrace_debug ? "\"" : ""), \ - lineno, \ - ## args) - -/* printf without lineno information */ -#define printf_fatal(fmt, args...) \ - _bt_printf(stderr, "fatal", fmt, ## args) -#define printf_error(fmt, args...) \ - _bt_printf(stderr, "error", fmt, ## args) -#define printf_warning(fmt, args...) \ - _bt_printf(stderr, "warning", fmt, ## args) +#ifndef unlikely +# ifdef __GNUC__ +# define unlikely(x) __builtin_expect(!!(x), 0) +# else +# define unlikely(x) (!!(x)) +# endif +#endif -/* printf with lineno information */ -#define printfl_fatal(lineno, fmt, args...) \ - _bt_printfl(stderr, "fatal", lineno, fmt, ## args) -#define printfl_error(lineno, fmt, args...) \ - _bt_printfl(stderr, "error", lineno, fmt, ## args) -#define printfl_warning(lineno, fmt, args...) \ - _bt_printfl(stderr, "warning", lineno, fmt, ## args) +#ifndef min +#define min(a, b) (((a) < (b)) ? (a) : (b)) +#endif -/* printf with node lineno information */ -#define printfn_fatal(node, fmt, args...) \ - _bt_printfl(stderr, "fatal", (node)->lineno, fmt, ## args) -#define printfn_error(node, fmt, args...) \ - _bt_printfl(stderr, "error", (node)->lineno, fmt, ## args) -#define printfn_warning(node, fmt, args...) \ - _bt_printfl(stderr, "warning", (node)->lineno, fmt, ## args) +#ifndef max +#define max(a, b) (((a) > (b)) ? (a) : (b)) +#endif -/* fprintf with Node lineno information */ -#define fprintfn_fatal(fp, node, fmt, args...) \ - _bt_printfl(fp, "fatal", (node)->lineno, fmt, ## args) -#define fprintfn_error(fp, node, fmt, args...) \ - _bt_printfl(fp, "error", (node)->lineno, fmt, ## args) -#define fprintfn_warning(fp, node, fmt, args...) \ - _bt_printfl(fp, "warning", (node)->lineno, fmt, ## args) +#ifndef max_t +#define max_t(type, a, b) \ + ((type) (a) > (type) (b) ? (type) (a) : (type) (b)) +#endif -#define likely(x) __builtin_expect(!!(x), 1) -#define unlikely(x) __builtin_expect(!!(x), 0) +/* + * Memory allocation zeroed + */ +#define zmalloc(x) calloc(1, x) /* * BT_HIDDEN: set the hidden attribute for internal functions + * On Windows, symbols are local unless explicitly exported, + * see https://gcc.gnu.org/wiki/Visibility */ +#if defined(_WIN32) || defined(__CYGWIN__) +#define BT_HIDDEN +#else #define BT_HIDDEN __attribute__((visibility("hidden"))) +#endif -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 delta_offset_first_sum; - int offset_nr; - int clock_use_offset_avg; -}; - -extern int opt_all_field_names, - opt_scope_field_names, - opt_header_field_names, - opt_context_field_names, - opt_payload_field_names, - opt_all_fields, - opt_trace_field, - opt_trace_domain_field, - opt_trace_procname_field, - opt_trace_vpid_field, - opt_trace_hostname_field, - opt_trace_default_fields, - opt_loglevel_field, - opt_emf_field, - opt_callsite_field, - opt_delta_field, - opt_clock_cycles, - opt_clock_seconds, - opt_clock_date, - opt_clock_gmt, - opt_clock_force_correlate; +#ifndef __STRINGIFY +#define __STRINGIFY(x) #x +#endif -extern uint64_t opt_clock_offset; +#define TOSTRING(x) __STRINGIFY(x) #endif