4 * Copyright 1998,1999 The OpenLDAP Foundation, Redwood City, California, USA
7 * Redistribution and use in source and binary forms are permitted only
8 * as authorized by the OpenLDAP Public License. A copy of this
9 * license is available at http://www.OpenLDAP.org/license.html or
10 * in file LICENSE in the top-level directory of the distribution.
16 /* cross compilers should define both AC_INT{2,4}_TYPE in CPPFLAGS */
18 #if !defined( AC_INT4_TYPE ) || !defined( AC_INT2_TYPE )
19 /* use autoconf defines to provide sized typedefs */
21 # define AC_INT4_TYPE long
22 # elif SIZEOF_INT == 4
23 # define AC_INT4_TYPE int
25 # error "AC_INT4_TYPE?"
28 # if SIZEOF_SHORT == 2
29 # define AC_INT2_TYPE short
30 # elif SIZEOF_INT == 2
31 # define AC_INT2_TYPE int
33 # error "AC_INT2_TYPE?"
37 typedef AC_INT4_TYPE ac_int4;
38 typedef signed AC_INT4_TYPE ac_sint4;
39 typedef unsigned AC_INT4_TYPE ac_uint4;
41 typedef AC_INT2_TYPE ac_int2;
42 typedef signed AC_INT2_TYPE ac_sint2;
43 typedef unsigned AC_INT2_TYPE ac_uint2;
46 /* cross compilers should define BYTE_ORDER in CPPFLAGS */
49 * Definitions for byte order, according to byte significance from low
52 #define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */
53 #define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */
54 #define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */
56 /* assume autoconf's AC_C_BIGENDIAN has been ran */
57 /* if it hasn't, we assume (maybe falsely) the order is LITTLE ENDIAN */
58 # ifdef WORDS_BIGENDIAN
59 # define BYTE_ORDER BIG_ENDIAN
61 # define BYTE_ORDER LITTLE_ENDIAN
64 #endif /* BYTE_ORDER */
66 #endif /* _AC_BYTES_H */