X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=includes%2Fsilc.h.in;h=b4a65f679f7528980222385102afec224c8ab6df;hb=be10e71673bc538573b1805ee2115f2a3a7281a2;hp=5c3f338b721d2e4527f2c7928f6b9d00c71e1ded;hpb=8eb7d41709448f0426ec8654866929d7d34ce1cd;p=silc.git diff --git a/includes/silc.h.in b/includes/silc.h.in index 5c3f338b..b4a65f67 100644 --- a/includes/silc.h.in +++ b/includes/silc.h.in @@ -4,7 +4,7 @@ Author: Pekka Riikonen - Copyright (C) 1997 - 2007 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 @@ -21,323 +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" -#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 - -#ifdef SILC_HAVE_PTHREAD -/* For pthreads rwlock support */ -#ifndef _XOPEN_SOURCE -#define _XOPEN_SOURCE 600 -#else -#ifdef _XOPEN_SOURCE < 600 -#define _XOPEN_SOURCE_SAVE _XOPEN_SOURCE -#undef _XOPEN_SOURCE -#define _XOPEN_SOURCE 600 -#endif /* _XOPEN_SOURCE < 600 */ -#endif /* _XOPEN_SOURCE */ -#endif /* SILC_HAVE_PTHREAD */ - -#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 - -#if defined(HAVE_GETOPT_H) && defined(HAVE_GETOPT) -#include -#else -#if defined(HAVE_SILCDEFS_H) -#include "getopti.h" -#endif /* HAVE_SILCDEFS_H */ -#endif +#include "silccompile.h" +#endif /* HAVE_CRYPTODEFS_H */ -#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 - -#ifndef HAVE_REGEX_H -#if defined(HAVE_SILCDEFS_H) -#include "regexpr.h" -#endif /* HAVE_SILCDEFS_H */ -#else -#include -#endif - -#ifdef SILC_HAVE_PTHREAD -#include -#ifdef _XOPEN_SOURCE_SAVE -#undef _XOPEN_SOURCE -#define _XOPEN_SOURCE _XOPEN_SOURCE_SAVE -#undef _XOPEN_SOURCE_SAVE -#endif /* _XOPEN_SOURCE_SAVE */ -#endif +/* SRT and SCT include */ +#include +#include -#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 +#include -#ifdef HAVE_LANGINFO_H -#include -#endif - -#ifdef HAVE_SYS_RESOURCE_H -#include -#endif - -#endif /* !SILC_WIN32 */ - -/* Include generic SILC type definitions */ -#include "silctypes.h" -#include "silcmutex.h" -#include "silcatomic.h" -#include "silcversion.h" - -/* SILC util library includes */ -#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 "silccond.h" -#include "silcthread.h" -#include "silcschedule.h" -#include "silclog.h" -#include "silcbuffer.h" -#include "silcbuffmt.h" - -/* Crypto library includes */ -#include "silccipher.h" -#include "silchash.h" -#include "silchmac.h" -#include "silcrng.h" -#include "silcpkcs.h" -#include "silcpk.h" -#include "silcpkcs1.h" - -/* More SILC util library includes */ -#include "silchashtable.h" -#include "silclist.h" -#include "silcdlist.h" -#include "silcasync.h" -#include "silcstream.h" -#include "silcnet.h" -#include "silcfileutil.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 "silcvcard.h" -#include "silcmime.h" - -#ifdef SILC_DIST_ASN1 -#include "silcasn1.h" -#include "silcber.h" -#endif /* SILC_DIST_ASN1 */ +#ifdef SILC_DIST_VCARD +#include +#endif /* SILC_DIST_VCARD */ /* 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 */