X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmacro.h;h=10a106bc196be3f1900d96d7b59cc9771a47520e;hp=622c08eeda89ef840f06ac24638ae01873d13469;hb=ca2cab5dcd3d29f45992a439f54e48faad764c6e;hpb=e99e38bbdcca3fe5956823bdb3d38544ccf93221 diff --git a/src/macro.h b/src/macro.h index 622c08eed..10a106bc1 100644 --- a/src/macro.h +++ b/src/macro.h @@ -25,19 +25,22 @@ #include #include -#define _printf_attr(a,b) __attribute__ ((format (printf, a, b))) -#define _sentinel __attribute__ ((sentinel)) -#define _noreturn __attribute__((noreturn)) -#define _unused __attribute__ ((unused)) -#define _destructor __attribute__ ((destructor)) -#define _pure __attribute__ ((pure)) -#define _const __attribute__ ((const)) -#define _deprecated __attribute__ ((deprecated)) -#define _packed __attribute__ ((packed)) -#define _malloc __attribute__ ((malloc)) -#define _weak __attribute__ ((weak)) -#define _likely(x) (__builtin_expect(!!(x),1)) -#define _unlikely(x) (__builtin_expect(!!(x),0)) +#define _printf_attr_(a,b) __attribute__ ((format (printf, a, b))) +#define _sentinel_ __attribute__ ((sentinel)) +#define _noreturn_ __attribute__((noreturn)) +#define _unused_ __attribute__ ((unused)) +#define _destructor_ __attribute__ ((destructor)) +#define _pure_ __attribute__ ((pure)) +#define _const_ __attribute__ ((const)) +#define _deprecated_ __attribute__ ((deprecated)) +#define _packed_ __attribute__ ((packed)) +#define _malloc_ __attribute__ ((malloc)) +#define _weak_ __attribute__ ((weak)) +#define _likely_(x) (__builtin_expect(!!(x),1)) +#define _unlikely_(x) (__builtin_expect(!!(x),0)) +#define _public_ __attribute__ ((visibility("default"))) +#define _hidden_ __attribute__ ((visibility("hidden"))) +#define _weakref_(x) __attribute__((weakref(#x))) /* Rounds up */ static inline size_t ALIGN(size_t l) { @@ -70,7 +73,7 @@ static inline size_t ALIGN(size_t l) { #define assert_se(expr) \ do { \ - if (_unlikely(!(expr))) \ + if (_unlikely_(!(expr))) \ log_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \ "Assertion '%s' failed at %s:%u, function %s(). Aborting.", \ #expr , __FILE__, __LINE__, __PRETTY_FUNCTION__); \ @@ -106,12 +109,18 @@ static inline size_t ALIGN(size_t l) { #define PTR_TO_UINT32(p) ((uint32_t) ((uintptr_t) (p))) #define UINT32_TO_PTR(u) ((void*) ((uintptr_t) (u))) +#define PTR_TO_ULONG(p) ((unsigned long) ((uintptr_t) (p))) +#define ULONG_TO_PTR(u) ((void*) ((uintptr_t) (u))) + #define PTR_TO_INT(p) ((int) ((intptr_t) (p))) #define INT_TO_PTR(u) ((void*) ((intptr_t) (u))) #define TO_INT32(p) ((int32_t) ((intptr_t) (p))) #define INT32_TO_PTR(u) ((void*) ((intptr_t) (u))) +#define PTR_TO_LONG(p) ((long) ((intptr_t) (p))) +#define LONG_TO_PTR(u) ((void*) ((intptr_t) (u))) + #define memzero(x,l) (memset((x), 0, (l))) #define zero(x) (memzero(&(x), sizeof(x)))