X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fmacros.h;h=90849ed30ae5e543a577f9214bc33152864751f8;hp=9304388554d0af82e61ab6ae2e0abddca933960d;hb=70c6956ba2dcd36f4e44158a0b27621eda336a6a;hpb=f6835b82a8dbb3a9688c7b28fd4d673dca371272 diff --git a/src/common/macros.h b/src/common/macros.h index 930438855..90849ed30 100644 --- a/src/common/macros.h +++ b/src/common/macros.h @@ -21,6 +21,7 @@ #include #include +#include /* * Takes a pointer x and transform it so we can use it to access members @@ -73,10 +74,19 @@ void *zmalloc(size_t len) #define LTTNG_PACKED __attribute__((__packed__)) #endif -#ifndef LTTNG_HIDDEN +/* + * LTTNG_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 LTTNG_HIDDEN +#else #define LTTNG_HIDDEN __attribute__((visibility("hidden"))) #endif +#define member_sizeof(type, field) sizeof(((type *) 0)->field) + /* * lttng_strncpy returns 0 on success, or nonzero on failure. * It checks that the @src string fits into @dst_len before performing @@ -87,7 +97,7 @@ void *zmalloc(size_t len) static inline int lttng_strncpy(char *dst, const char *src, size_t dst_len) { - if (strnlen(src, dst_len) == dst_len) { + if (lttng_strnlen(src, dst_len) == dst_len) { /* Fail since copying would result in truncation. */ return -1; }