X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=includes%2Fsilc.h.in;h=b4a65f679f7528980222385102afec224c8ab6df;hp=c64d33b8a9e483b767703723d764e0e767666e22;hb=be10e71673bc538573b1805ee2115f2a3a7281a2;hpb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776 diff --git a/includes/silc.h.in b/includes/silc.h.in index c64d33b8..b4a65f67 100644 --- a/includes/silc.h.in +++ b/includes/silc.h.in @@ -21,341 +21,93 @@ by all files in SILC (directly or through other global include file). */ -#ifndef SILCINCLUDES_H -#define SILCINCLUDES_H +#ifndef SILC_H +#define SILC_H -#ifdef __cplusplus -extern "C" { -#endif +/* Version check macro. Use this to check that package is of specific + version compile time. Use the __SILC_XXX_VERSION below in comparison. + Example: -#define SILC_UNIX - -#ifdef WIN32 -#ifndef SILC_WIN32 -#define SILC_WIN32 -#undef SILC_UNIX -#endif -#endif + #if __SILC_TOOLKIT_VERSION < SILC_VERSION(1,2,0) + ... + #endif +*/ +#ifndef SILC_VERSION +#define SILC_VERSION(a, b, c) (((a) << 24) + ((b) << 16) + ((c) << 8) +#endif /* !SILC_VERSION */ -#if defined(__EPOC32__) || defined(__SYMBIAN32__) -#ifndef SILC_SYMBIAN -#define SILC_SYMBIAN -#undef SILC_UNIX -#undef SILC_WIN32 -#endif -#endif +/* SILC Crypto Toolkit version */ +@__SILC_PACKAGE_VERSION@ -#if defined(__MACH__) && defined(__APPLE__) -#ifndef SILC_MACOSX -#define SILC_MACOSX -#undef SILC_WIN32 -#undef SILC_SYMBIAN -#endif +#ifdef __cplusplus +extern "C" { #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@ +/* We except all systems to have these include files */ +#include +#include +#include #if defined(HAVE_SILCDEFS_H) - -/* Automatically generated configuration header */ +/* Automatically generated configuration header. These are included only + when the SILC Toolkit itself is compiled. */ #ifndef SILC_SYMBIAN #include "silcdefs.h" #else -#include "../symbian/silcdefs.h" +#include "../../symbian/silcdefs.h" #endif /* SILC_SYMBIAN */ #include "silcdistdefs.h" +#include "silccompile.h" +#endif /* HAVE_CRYPTODEFS_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__ */ +/* SRT and SCT include */ +#include +#include -#ifndef SILC_ALIGNMENT -#define SILC_ALIGNMENT SILC_SIZEOF_VOID_P -#endif /* SILC_ALIGNMENT */ - -#endif /* HAVE_SILCDEFS_H */ - -/* Platform specific includes */ - -#if defined(SILC_WIN32) -#include "silcwin32.h" -#endif - -#if defined(SILC_SYMBIAN) -#include "silcsymbian.h" -#endif - -#ifndef DLLAPI -#define DLLAPI -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_SIGNAL_H -#include -#endif - -#ifdef HAVE_FCNTL_H -#include -#endif - -#ifdef HAVE_ERRNO_H -#include -#endif - -#ifdef HAVE_ASSERT_H -#include -#endif - -#if !defined(SILC_WIN32) - -#include -#include -#include -#include - -#ifdef HAVE_GRP_H -#include -#endif - -#ifdef SOCKS5 -#include "socks.h" -#endif - -#include -#ifdef HAVE_NETINET_IN_H -#include -#endif - -#ifdef HAVE_XTI_H -#include -#else -#ifdef HAVE_NETINET_TCP_H -#include -#endif -#endif - -#ifdef HAVE_NETDB_H -#include -#endif - -#ifdef HAVE_ARPA_INET_H -#include -#endif - -#ifdef HAVE_SYS_MMAN_H -#include -#endif - -#ifdef HAVE_DLFCN_H -#include -#endif - -#ifdef HAVE_LIMITS_H -#include -#endif - -#ifdef SILC_HAVE_PTHREAD -#include -#endif - -#ifdef HAVE_STDDEF_H -#include -#endif - -#ifdef HAVE_TERMIOS_H -#include -#endif - -#ifdef HAVE_UTIME_H -#include -#endif - -#ifdef HAVE_ICONV_H -#include -#endif - -#ifdef HAVE_LOCALE_H -#include -#endif - -#ifdef HAVE_LANGINFO_H -#include -#endif - -#ifdef HAVE_SYS_RESOURCE_H -#include -#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" -#include "silcmath.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 "silcrng.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 "silcstream.h" -#include "silcnet.h" -#include "silcbase64.h" -#include "silcstrutil.h" -#include "silcutf8.h" -#include "silcstringprep.h" -#include "silcutil.h" -#include "silcconfig.h" -#include "silcfsm.h" -#include "silcsocketstream.h" -#include "silcfdstream.h" -#include "silcmime.h" +#include #ifdef SILC_DIST_VCARD -#include "silcvcard.h" +#include #endif /* SILC_DIST_VCARD */ -#ifdef SILC_DIST_ASN1 -#include "silcasn1.h" -#include "silcber.h" -#endif /* SILC_DIST_ASN1 */ - /* SILC core library includes */ -#include "silcargument.h" -#include "silcstatus.h" -#include "silcid.h" -#include "silccommand.h" -#include "silcauth.h" -#include "silcmessage.h" -#include "silcchannel.h" -#include "silcpacket.h" -#include "silcnotify.h" -#include "silcmode.h" -#include "silcattrs.h" -#include "silcpubkey.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* Application utility includes */ -#include "silcapputil.h" -#ifdef SILC_DIST_IDCACHE -#include "silcidcache.h" -#endif /* SILC_DIST_IDCACHE */ - -#ifdef SILC_DIST_SKR -#include "silcskr.h" -#endif /* SILC_DIST_SKR */ - -#if defined(SILC_SIM) -/* SILC Module library includes */ -#include "silcsim.h" -#include "silcsimutil.h" -#endif +#include +#include /* SILC Key Exchange library includes */ -#include "silcske.h" -#include "silcske_payload.h" -#include "silcske_groups.h" -#include "silcconnauth.h" +#include +#include +#include +#include #ifdef SILC_DIST_SFTP /* SILC SFTP library */ -#include "silcsftp.h" -#include "silcsftp_fs.h" +#include +#include #endif /* SILC_DIST_SFTP */ #ifdef SILC_DIST_HTTP /* SILC HTTP library */ -#include "silchttpserver.h" -#include "silchttpphp.h" +#include +#include #endif /* SILC_DIST_HTTP */ #ifdef __cplusplus } #endif -#endif /* SILCINCLUDES_H */ +#endif /* SILC_H */