jcs's openbsd hax
openbsd
at jcs 18 lines 483 B view raw
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