Remove unused u64 type definitions.
[gnupg.git] / include / types.h
1 /* types.h - some common typedefs
2  *      Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
3  *
4  * This file is part of GnuPG.
5  *
6  * GnuPG is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * GnuPG is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef G10_TYPES_H
21 #define G10_TYPES_H
22
23 #ifdef HAVE_INTTYPES_H
24 # include <inttypes.h>
25 #endif
26
27 /* The AC_CHECK_SIZEOF() in configure fails for some machines.
28  * we provide some fallback values here */
29 #if !SIZEOF_UNSIGNED_SHORT
30 #undef SIZEOF_UNSIGNED_SHORT
31 #define SIZEOF_UNSIGNED_SHORT 2
32 #endif
33 #if !SIZEOF_UNSIGNED_INT
34 #undef SIZEOF_UNSIGNED_INT
35 #define SIZEOF_UNSIGNED_INT 4
36 #endif
37 #if !SIZEOF_UNSIGNED_LONG
38 #undef SIZEOF_UNSIGNED_LONG
39 #define SIZEOF_UNSIGNED_LONG 4
40 #endif
41
42
43 #include <sys/types.h>
44
45
46 #ifndef HAVE_BYTE_TYPEDEF
47 #undef byte         /* maybe there is a macro with this name */
48 #ifndef __riscos__
49 typedef unsigned char byte;
50 #else
51 /* Norcroft treats char  = unsigned char  as legal assignment
52                but char* = unsigned char* as illegal assignment
53    and the same applies to the signed variants as well  */
54 typedef char byte;
55 #endif
56 #define HAVE_BYTE_TYPEDEF
57 #endif
58
59 #ifndef HAVE_USHORT_TYPEDEF
60 #undef ushort     /* maybe there is a macro with this name */
61 typedef unsigned short ushort;
62 #define HAVE_USHORT_TYPEDEF
63 #endif
64
65 #ifndef HAVE_ULONG_TYPEDEF
66 #undef ulong        /* maybe there is a macro with this name */
67 typedef unsigned long ulong;
68 #define HAVE_ULONG_TYPEDEF
69 #endif
70
71 #ifndef HAVE_U16_TYPEDEF
72 #undef u16          /* maybe there is a macro with this name */
73 #if SIZEOF_UNSIGNED_INT == 2
74 typedef unsigned int   u16;
75 #elif SIZEOF_UNSIGNED_SHORT == 2
76 typedef unsigned short u16;
77 #else
78 #error no typedef for u16
79 #endif
80 #define HAVE_U16_TYPEDEF
81 #endif
82
83 #ifndef HAVE_U32_TYPEDEF
84 #undef u32          /* maybe there is a macro with this name */
85 #if SIZEOF_UNSIGNED_INT == 4
86 typedef unsigned int u32;
87 #elif SIZEOF_UNSIGNED_LONG == 4
88 typedef unsigned long u32;
89 #else
90 #error no typedef for u32
91 #endif
92 #define HAVE_U32_TYPEDEF
93 #endif
94
95
96 typedef union {
97     int a;
98     short b;
99     char c[1];
100     long d;
101     float f;
102     double g;
103 } PROPERLY_ALIGNED_TYPE;
104
105 #endif /*G10_TYPES_H*/