updates. New data types.
[silc.git] / includes / silcincludes.h
index 80f27486a11174e47fffdae0094fb1641430b0d0..d793c4b3efd06370733d8fd30634f89a0dd0dc97 100644 (file)
@@ -42,6 +42,7 @@
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <sys/times.h>
+#include <time.h>
 
 #ifdef SOCKS5
 #include "socks.h"
 #include "../lib/contrib/getopt.h"
 #endif
 
+#ifndef HAVE_REGEX_H
+#include "../lib/contrib/regex.h"
+#else
+#include <regex.h>
+#endif
+
 #ifndef TRUE
 #define TRUE 1
 #endif
 #define FALSE 0
 #endif
 
+/* Define types. The types must be at least of the specified size */
+#undef uint8
+#undef uint16
+#undef uint32
+#undef uin64
+#undef int8
+#undef int16
+#undef int32
+#undef int64
+
+typedef unsigned char uint8;
+typedef signed char int8;
+
+#if SILC_SIZEOF_SHORT > 2
+#error "sizeof short must be 2 bytes"
+#endif
+
+typedef unsigned short uint16;
+typedef signed short int16;
+
+#if SILC_SIZEOF_LONG == 4
+typedef unsigned long uint32;
+typedef signed long int32;
+#else
+#if SILC_SIZEOF_INT == 4
+typedef unsigned long uint32;
+typedef signed long int32;
+#else
+#if SILC_SIZEOF_LONG_LONG >= 4
+typedef unsigned long long uint32;
+typedef signed long long int32;
+#endif
+#endif
+#endif
+
+#if SILC_SIZEOF_LONG >= 8
+typedef unsigned long uint64;
+typedef signed long int64;
+#else
+#if SILC_SIZEOF_LONG_LONG >= 8
+typedef unsigned long long uint64;
+typedef signed long long int64;
+#else
+typedef uint32 uint64;
+typedef int32 int64;
+#endif
+#endif
+
+#if SILC_SIZEOF_VOID_P < 4
+typedef uint32 * void *;
+#endif
+
+#ifndef bool
+#define bool unsigned char
+#endif
+
 /* Generic global SILC includes */
 #include "bitmove.h"
 
 #include "silcpacket.h"
 #include "silcnotify.h"
 #include "silcmode.h"
+#include "silcauth.h"
+#include "silcprivate.h"
 
 /* TRQ (SilcList API and SilcDList API) */
 #include "silclist.h"