c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota/* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_sparc_64bit/src/lib/libast/features/align.c by iffe version 2009-12-04 : : */
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#ifndef _def_align_ast
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define _def_align_ast 1
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define _sys_types 1 /* #include <sys/types.h> ok */
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Otatypedef unsigned long ALIGN_INTEGRAL;
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_CHUNK 8192
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_INTEGRAL long
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_INTEGER(x) ((ALIGN_INTEGRAL)(x))
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_POINTER(x) ((char*)(x))
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_ROUND(x,y) ALIGN_POINTER(ALIGN_INTEGER((x)+(y)-1)&~((y)-1))
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_BOUND ALIGN_BOUND2
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_ALIGN(x) ALIGN_ALIGN2(x)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_TRUNC(x) ALIGN_TRUNC2(x)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_BIT1 0x1
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_BOUND1 ALIGN_BOUND2
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_ALIGN1(x) ALIGN_ALIGN2(x)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_TRUNC1(x) ALIGN_TRUNC2(x)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_CLRBIT1(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0xfffffffffffffffe)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_SETBIT1(x) ALIGN_POINTER(ALIGN_INTEGER(x)|0x1)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_TSTBIT1(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0x1)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_BIT2 0x2
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_BOUND2 16
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_ALIGN2(x) ALIGN_TRUNC2((x)+15)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_TRUNC2(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0xfffffffffffffff0)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_CLRBIT2(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0xfffffffffffffffd)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_SETBIT2(x) ALIGN_POINTER(ALIGN_INTEGER(x)|0x2)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#define ALIGN_TSTBIT2(x) ALIGN_POINTER(ALIGN_INTEGER(x)&0x2)
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota#endif
c0dd49bdd68c0d758a67d56f07826f3b45cfc664Eiji Ota