Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/ldap/include/ac/bytes.h
4395 views
1
/* Generic bytes.h */
2
/* $OpenLDAP$ */
3
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
4
*
5
* Copyright 1998-2024 The OpenLDAP Foundation.
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted only as authorized by the OpenLDAP
10
* Public License.
11
*
12
* A copy of this license is available in file LICENSE in the
13
* top-level directory of the distribution or, alternatively, at
14
* <http://www.OpenLDAP.org/license.html>.
15
*/
16
17
#ifndef _AC_BYTES_H
18
#define _AC_BYTES_H
19
20
/* cross compilers should define both AC_INT{2,4}_TYPE in CPPFLAGS */
21
22
#if !defined( AC_INT4_TYPE )
23
/* use autoconf defines to provide sized typedefs */
24
# if SIZEOF_LONG == 4
25
# define AC_INT4_TYPE long
26
# elif SIZEOF_INT == 4
27
# define AC_INT4_TYPE int
28
# elif SIZEOF_SHORT == 4
29
# define AC_INT4_TYPE short
30
# else
31
# error "AC_INT4_TYPE?"
32
# endif
33
#endif
34
35
typedef AC_INT4_TYPE ac_int4;
36
typedef signed AC_INT4_TYPE ac_sint4;
37
typedef unsigned AC_INT4_TYPE ac_uint4;
38
39
#if !defined( AC_INT2_TYPE )
40
# if SIZEOF_SHORT == 2
41
# define AC_INT2_TYPE short
42
# elif SIZEOF_INT == 2
43
# define AC_INT2_TYPE int
44
# elif SIZEOF_LONG == 2
45
# define AC_INT2_TYPE long
46
# else
47
# error "AC_INT2_TYPE?"
48
# endif
49
#endif
50
51
#if defined( AC_INT2_TYPE )
52
typedef AC_INT2_TYPE ac_int2;
53
typedef signed AC_INT2_TYPE ac_sint2;
54
typedef unsigned AC_INT2_TYPE ac_uint2;
55
#endif
56
57
#ifndef BYTE_ORDER
58
/* cross compilers should define BYTE_ORDER in CPPFLAGS */
59
60
/*
61
* Definitions for byte order, according to byte significance from low
62
* address to high.
63
*/
64
#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */
65
#define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */
66
#define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */
67
68
/* assume autoconf's AC_C_BIGENDIAN has been ran */
69
/* if it hasn't, we assume (maybe falsely) the order is LITTLE ENDIAN */
70
# ifdef WORDS_BIGENDIAN
71
# define BYTE_ORDER BIG_ENDIAN
72
# else
73
# define BYTE_ORDER LITTLE_ENDIAN
74
# endif
75
76
#endif /* BYTE_ORDER */
77
78
#endif /* _AC_BYTES_H */
79
80