X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Falign.h;h=c8d9d51766906e15cfe444258778872e0a5ad143;hp=928c5b6c131ec36061662f7624fd74a000a87224;hb=d4ad24a314cea1020c7cd08b27670f5da495e38d;hpb=d07ceecd2f35ccf383c7529a18dcc9b9c4b8cb17 diff --git a/src/common/align.h b/src/common/align.h index 928c5b6c1..c8d9d5176 100644 --- a/src/common/align.h +++ b/src/common/align.h @@ -21,13 +21,26 @@ #include #include -#ifndef PAGE_SIZE /* Cygwin limits.h defines its own PAGE_SIZE */ +#ifndef PAGE_SIZE /* Cygwin limits.h defines its own PAGE_SIZE. */ #define PAGE_SIZE sysconf(_SC_PAGE_SIZE) #endif +#ifndef PAGE_MASK /* macOS defines its own PAGE_MASK. */ #define PAGE_MASK (~(PAGE_SIZE - 1)) +#endif + #define __ALIGN_MASK(v, mask) (((v) + (mask)) & ~(mask)) + +#ifndef ALIGN /* macOS defines its own ALIGN. */ #define ALIGN(v, align) __ALIGN_MASK(v, (__typeof__(v)) (align) - 1) +#endif + +#define __ALIGN_FLOOR_MASK(v, mask) ((v) & ~(mask)) + +#ifndef ALIGN_FLOOR +#define ALIGN_FLOOR(v, align) __ALIGN_FLOOR_MASK(v, (__typeof__(v)) (align) - 1) +#endif + #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) /**