jcs's openbsd hax
openbsd
1/* Public domain. */
2
3#ifndef _LINUX_ALIGN_H
4#define _LINUX_ALIGN_H
5
6#include <sys/param.h>
7
8#define roundup2(x, y) (((x) + ((y) - 1)) & (~((__typeof(x))(y) - 1)))
9#define rounddown2(x, y) ((x) & ~((__typeof(x))(y) - 1))
10
11#undef ALIGN
12#define ALIGN(x, y) roundup2((x), (y))
13
14#define IS_ALIGNED(x, y) (((x) & ((y) - 1)) == 0)
15#define PTR_ALIGN(x, y) ((__typeof(x))roundup2((unsigned long)(x), (y)))
16#define ALIGN_DOWN(x, y) ((__typeof(x))rounddown2((unsigned long)(x), (y)))
17
18#endif