Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2006 Pekka Riikonen
+ Copyright (C) 1997 - 2008 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
extern "C" {
#endif
-#define SILC_UNIX
-
-#ifdef WIN32
-#ifndef SILC_WIN32
-#define SILC_WIN32
-#undef SILC_UNIX
-#endif
-#endif
-
-#if defined(__EPOC32__) || defined(__SYMBIAN32__)
-#ifndef SILC_SYMBIAN
-#define SILC_SYMBIAN
-#undef SILC_UNIX
-#undef SILC_WIN32
-#endif
-#endif
-
-#if defined(__MACH__) && defined(__APPLE__)
-#ifndef SILC_MACOSX
-#define SILC_MACOSX
-#undef SILC_WIN32
-#undef SILC_SYMBIAN
-#endif
-#endif
-
-/* Types */
-#define SILC_SIZEOF_LONG_LONG @SILC_SIZEOF_LONG_LONG@
-#define SILC_SIZEOF_LONG @SILC_SIZEOF_LONG@
-#define SILC_SIZEOF_INT @SILC_SIZEOF_INT@
-#define SILC_SIZEOF_SHORT @SILC_SIZEOF_SHORT@
-#define SILC_SIZEOF_CHAR @SILC_SIZEOF_CHAR@
-#define SILC_SIZEOF_VOID_P @SILC_SIZEOF_VOID_P@
-
/* Compilation time defines, for third-party software */
-@__SILC_HAVE_PTHREAD@
@__SILC_HAVE_SIM@
@__SILC_ENABLE_DEBUG@
#if defined(HAVE_SILCDEFS_H)
+
/* Automatically generated configuration header */
#ifndef SILC_SYMBIAN
#include "silcdefs.h"
-#include "silcdistdefs.h"
#else
#include "../symbian/silcdefs.h"
-#include "../symbian/silcdistdefs.h"
#endif /* SILC_SYMBIAN */
+#include "silcdistdefs.h"
+
+#else
+
+/* Autodetect CPU so that inline assembly in headers are enabled */
+
+#if defined(__i386__)
+#undef SILC_I386
+#define SILC_I386
+#undef SILC_I486
+#define SILC_I486
+#endif /* __i386__ */
+
+#if defined(__x86_64__)
+#undef SILC_X86_64
+#define SILC_X86_64
+#endif /* __x86_64__ */
+
+#if defined(__ia64__)
+#undef SILC_IA64
+#define SILC_IA64
+#endif /* __ia64__ */
+
+#if defined(__ppc__) || defined(__ppc64__)
+#undef SILC_POWERPC
+#define SILC_POWERPC
+#endif /* __ppc__ || __ppc64__ */
+
+#ifndef SILC_ALIGNMENT
+#define SILC_ALIGNMENT SILC_SIZEOF_VOID_P
+#endif /* SILC_ALIGNMENT */
+
#endif /* HAVE_SILCDEFS_H */
/* Platform specific includes */
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
+#include <dirent.h>
#ifdef HAVE_SIGNAL_H
#include <signal.h>
#include <grp.h>
#endif
-#if defined(HAVE_GETOPT_H) && defined(HAVE_GETOPT)
-#include <getopt.h>
-#else
-#if defined(HAVE_SILCDEFS_H)
-#include "getopti.h"
-#endif /* HAVE_SILCDEFS_H */
-#endif
-
#ifdef SOCKS5
#include "socks.h"
#endif
#include <limits.h>
#endif
-#ifndef HAVE_REGEX_H
-#if defined(HAVE_SILCDEFS_H)
-#include "regexpr.h"
-#endif /* HAVE_SILCDEFS_H */
-#else
-#include <regex.h>
-#endif
-
#ifdef SILC_HAVE_PTHREAD
#include <pthread.h>
#endif
#endif /* !SILC_WIN32 */
/* Include generic SILC type definitions */
+#include "silcerrno.h"
#include "silctypes.h"
+#include "silcbitops.h"
#include "silcmutex.h"
#include "silcatomic.h"
#include "silcversion.h"
/* SILC util library includes */
+#include "silcgetopt.h"
+#include "silclist.h"
#include "silcstack.h"
#include "silcmemory.h"
+#include "silcsnprintf.h"
/* Math library includes */
#include "silcmp.h"
/* More SILC util library includes */
#include "silctime.h"
+#include "silctimer.h"
#include "silccond.h"
#include "silcthread.h"
#include "silcschedule.h"
#include "silclog.h"
+#include "silcdir.h"
+#include "silcfileutil.h"
#include "silcbuffer.h"
#include "silcbuffmt.h"
+#include "silcasync.h"
+#include "silcdlist.h"
/* Crypto library includes */
+#include "silccrypto.h"
#include "silccipher.h"
#include "silchash.h"
#include "silchmac.h"
#include "silcpkcs.h"
#include "silcpk.h"
#include "silcpkcs1.h"
+#ifdef SILC_DIST_ACC
+#include "silcacc.h"
+#endif /* SILC_DIST_ACC */
+#ifdef SILC_DIST_SSH
+#include "silcssh.h"
+#endif /* SILC_DIST_SSH */
/* More SILC util library includes */
+#include "silcregex.h"
+#include "silcenv.h"
+#include "silcdll.h"
#include "silchashtable.h"
-#include "silclist.h"
-#include "silcdlist.h"
-#include "silcasync.h"
#include "silcstream.h"
#include "silcnet.h"
-#include "silcfileutil.h"
+#include "silcbase64.h"
#include "silcstrutil.h"
#include "silcutf8.h"
#include "silcstringprep.h"
#include "silcfsm.h"
#include "silcsocketstream.h"
#include "silcfdstream.h"
-#include "silcvcard.h"
#include "silcmime.h"
+#ifdef SILC_DIST_VCARD
+#include "silcvcard.h"
+#endif /* SILC_DIST_VCARD */
+
#ifdef SILC_DIST_ASN1
#include "silcasn1.h"
#include "silcber.h"