Added SILC_STR_STRING and SILC_STR_STRING_APPEND and support for
[crypto.git] / includes / silc.h.in
index fce93cb0ff475170029025065a5e5bbb3c63e4c5..669c1343c375d0bcdc4352a20f12be5acfb4f528 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 1997 - 2006 Pekka Riikonen
+  Copyright (C) 1997 - 2007 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
@@ -67,14 +67,45 @@ extern "C" {
 @__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 */
@@ -127,14 +158,6 @@ extern "C" {
 #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
@@ -172,14 +195,6 @@ extern "C" {
 #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
@@ -215,14 +230,19 @@ extern "C" {
 #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"
@@ -230,14 +250,19 @@ extern "C" {
 
 /* More SILC util library includes */
 #include "silctime.h"
+#include "silctimer.h"
 #include "silccond.h"
 #include "silcthread.h"
 #include "silcschedule.h"
 #include "silclog.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"
@@ -245,15 +270,21 @@ extern "C" {
 #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"
@@ -262,9 +293,12 @@ extern "C" {
 #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"