* types.h: Try and use uint64_t for a 64-bit type.
[gnupg.git] / include / types.h
index baece0b..0b4f6a4 100644 (file)
@@ -1,5 +1,5 @@
 /* types.h - some common typedefs
- *     Copyright (C) 1998 Free Software Foundation, Inc.
+ *     Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
  *
  * This file is part of GNUPG.
  *
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
  */
 
-#ifndef GPG_TYPES_H
-#define GPG_TYPES_H
+#ifndef G10_TYPES_H
+#define G10_TYPES_H
 
+#if HAVE_INTTYPES_H
+/* For uint64_t */
+#include <inttypes.h>
+#endif
 
 /* The AC_CHECK_SIZEOF() in configure fails for some machines.
  * we provide some fallback values here */
 
 #ifndef HAVE_BYTE_TYPEDEF
   #undef byte      /* maybe there is a macro with this name */
-  typedef unsigned char byte;
+  #ifndef __riscos__
+    typedef unsigned char byte;
+  #else 
+    /* Norcroft treats char  = unsigned char  as legal assignment
+                   but char* = unsigned char* as illegal assignment
+       and the same applies to the signed variants as well  */
+    typedef char byte;
+  #endif 
   #define HAVE_BYTE_TYPEDEF
 #endif
 
   #elif SIZEOF_UNSIGNED_LONG_LONG == 8
     typedef unsigned long long u64;
     #define HAVE_U64_TYPEDEF
+  #elif SIZEOF_UINT64_T == 8
+    typedef uint64_t u64;
+    #define HAVE_U64_TYPEDEF
   #endif
 #endif
 
@@ -121,4 +135,4 @@ typedef struct string_list {
 } *STRLIST;
 
 
-#endif /*GPG_TYPES_H*/
+#endif /*G10_TYPES_H*/