updates.
[silc.git] / includes / silcincludes.h
index 0358befd4ff2bfea8b4f9b459f87c15e1b674649..296972f47c0d28cc0195c656a8cb0ac6a2eadf8b 100644 (file)
@@ -2,9 +2,9 @@
 
   silcincludes.h
 
-  Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
+  Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 1997 - 2000 Pekka Riikonen
+  Copyright (C) 1997 - 2001 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
 /* Automatically generated configuration header */
 #include "silcdefs.h"
 
+#ifdef WIN32
+#ifndef SILC_WIN32
+#define SILC_WIN32
+#endif
+#endif
+
+#ifdef SILC_WIN32
+#include "silcwin32.h"
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
-#include <unistd.h>
 #include <string.h>
 #include <stdarg.h>
-
 #include <ctype.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/times.h>
-
-#ifdef SOCKS5
-#include "socks.h"
-#endif
-
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
+#include <time.h>
 
 #ifdef HAVE_SIGNAL_H
-#undef __USE_GNU
 #include <signal.h>
-#define __USE_GNU 1
 #else
 #error signal.h not found in the system
 #endif
@@ -62,7 +59,7 @@
 #error fcntl.h not found in the system
 #endif
 
-#ifdef HAVE_ASSERT_H
+#ifdef HAVE_ERRNO_H
 #include <errno.h>
 #else
 #error errno.h not found in the system
 #error assert.h not found in the system
 #endif
 
+#ifndef SILC_WIN32
+
+#include <unistd.h>
+#include <sys/time.h>
+#include <pwd.h>
+#include <grp.h>
+#include <sys/times.h>
+
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
+#ifdef SOCKS5
+#include "socks.h"
+#endif
+
 #include <sys/socket.h>
 #ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
 #error netinet/in.h not found in the system
 #endif
 
+#ifdef HAVE_XTI_H
+#include <xti.h>
+#else
 #ifdef HAVE_NETINET_TCP_H
 #include <netinet/tcp.h>
 #else
-#error netinet/tcp.h not found in the system
+#error xti.h nor even netinet/tcp.h found in the system
+#endif
 #endif
 
 #ifdef HAVE_NETDB_H
 #include <dlfcn.h>
 #endif
 
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+
+#ifndef HAVE_REGEX_H
+#include "../lib/contrib/regex.h"
+#else
+#include <regex.h>
+#endif
+
+#ifdef SILC_HAVE_PTHREAD
+#include <pthread.h>
+#endif
+
+#endif                         /* !SILC_WIN32 */
+
+#ifndef HAVE_GETOPT_LONG
+#include "../lib/contrib/getopt.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 "size of the 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
+#ifndef WIN32
+typedef unsigned long long uint32;
+typedef signed long long int32;
+#endif
+#endif
+#endif
+#endif
+
+#if SILC_SIZEOF_LONG >= 8
+typedef unsigned long uint64;
+typedef signed long int64;
+#else
+#if SILC_SIZEOF_LONG_LONG >= 8
+#ifndef WIN32
+typedef unsigned long long uint64;
+typedef signed long long int64;
+#endif
+#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"
 
 /* Math library includes */
 #include "silcmp.h"
-#include "modinv.h"
-#include "mpbin.h"
-#include "silcprimegen.h"
+#include "silcmath.h"
 
 /* Crypto library includes */
 #include "silccipher.h"
 #include "silcrng.h"
 #include "silcpkcs.h"
 
-/* SILC core library includes */
+/* SILC util library includes */
+#include "silcmutex.h"
+#include "silcthread.h"
+#include "silchashtable.h"
 #include "silclog.h"
 #include "silcmemory.h"
 #include "silcbuffer.h"
 #include "silcnet.h"
 #include "silcutil.h"
 #include "silcconfig.h"
-#include "id.h"
-#include "idcache.h"
-#include "silctask.h"
 #include "silcschedule.h"
 #include "silcprotocol.h"
 #include "silcsockconn.h"
+
+/* SILC core library includes */
+#include "silcid.h"
+#include "silcidcache.h"
+#include "silcpayload.h"
 #include "silccommand.h"
 #include "silcchannel.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"
+#include "silcdlist.h"
 
 #ifdef SILC_SIM
 /* SILC Module library includes */
 #include "payload.h"
 #include "groups.h"
 
+/* SILC SFTP library */
+#include "silcsftp.h"
+#include "silcsftp_fs.h"
+
 #endif