1*b30d1939SAndy Fiddaman/* : : generated from contrib/ast/src/lib/libast/features/align.c by iffe version 2012-07-17 : : */ 2da2e3ebdSchin#ifndef _def_align_ast 3da2e3ebdSchin#define _def_align_ast 1 4da2e3ebdSchin#define _sys_types 1 /* #include <sys/types.h> ok */ 5da2e3ebdSchin 6da2e3ebdSchin#define ALIGN_CHUNK 8192 7*b30d1939SAndy Fiddaman#define ALIGN_INTEGRAL uintptr_t 8*b30d1939SAndy Fiddaman#define ALIGN_INTEGER(x) ((char*)(x)-(char*)0) 9da2e3ebdSchin#define ALIGN_POINTER(x) ((char*)(x)) 10da2e3ebdSchin#define ALIGN_ROUND(x,y) ALIGN_POINTER(ALIGN_INTEGER((x)+(y)-1)&~((y)-1)) 11da2e3ebdSchin 12da2e3ebdSchin#define ALIGN_BOUND ALIGN_BOUND2 13da2e3ebdSchin#define ALIGN_ALIGN(x) ALIGN_ALIGN2(x) 14da2e3ebdSchin#define ALIGN_TRUNC(x) ALIGN_TRUNC2(x) 15da2e3ebdSchin 16da2e3ebdSchin#define ALIGN_BIT1 0x1 17da2e3ebdSchin#define ALIGN_BOUND1 ALIGN_BOUND2 18da2e3ebdSchin#define ALIGN_ALIGN1(x) ALIGN_ALIGN2(x) 19da2e3ebdSchin#define ALIGN_TRUNC1(x) ALIGN_TRUNC2(x) 20da2e3ebdSchin#define ALIGN_CLRBIT1(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0xfffffffe) 21da2e3ebdSchin#define ALIGN_SETBIT1(x) ALIGN_POINTER(ALIGN_INTEGER(x)|0x1) 22da2e3ebdSchin#define ALIGN_TSTBIT1(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0x1) 23da2e3ebdSchin 24da2e3ebdSchin#define ALIGN_BIT2 0x2 25da2e3ebdSchin#define ALIGN_BOUND2 4 26da2e3ebdSchin#define ALIGN_ALIGN2(x) ALIGN_TRUNC2((x)+3) 27da2e3ebdSchin#define ALIGN_TRUNC2(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0xfffffffc) 28da2e3ebdSchin#define ALIGN_CLRBIT2(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0xfffffffd) 29da2e3ebdSchin#define ALIGN_SETBIT2(x) ALIGN_POINTER(ALIGN_INTEGER(x)|0x2) 30da2e3ebdSchin#define ALIGN_TSTBIT2(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0x2) 31da2e3ebdSchin 32da2e3ebdSchin#endif 33