#include <unistd.h>
#include <limits.h>
-#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 PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
/**
({ \
LTTNG_BUILD_RUNTIME_BUG_ON((alignment) == 0 \
|| ((alignment) & ((alignment) - 1))); \
- (((align_drift) - (alignment)) & ((alignment) - 1); \
+ (((align_drift) - (alignment)) & ((alignment) - 1)); \
})
#endif /* _LTTNG_ALIGN_H */