5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C) 1997 - 2007 Pekka Riikonen
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; version 2 of the License.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
20 This file includes common definitions for SILC. This file MUST be included
21 by all files in SILC (directly or through other global include file).
24 #ifndef SILCINCLUDES_H
25 #define SILCINCLUDES_H
40 #if defined(__EPOC32__) || defined(__SYMBIAN32__)
48 #if defined(__MACH__) && defined(__APPLE__)
57 #define SILC_SIZEOF_LONG_LONG @SILC_SIZEOF_LONG_LONG@
58 #define SILC_SIZEOF_LONG @SILC_SIZEOF_LONG@
59 #define SILC_SIZEOF_INT @SILC_SIZEOF_INT@
60 #define SILC_SIZEOF_SHORT @SILC_SIZEOF_SHORT@
61 #define SILC_SIZEOF_CHAR @SILC_SIZEOF_CHAR@
62 #define SILC_SIZEOF_VOID_P @SILC_SIZEOF_VOID_P@
64 /* Compilation time defines, for third-party software */
69 #if defined(HAVE_SILCDEFS_H)
70 /* Automatically generated configuration header */
74 #include "../symbian/silcdefs.h"
75 #endif /* SILC_SYMBIAN */
76 #include "silcdistdefs.h"
77 #endif /* HAVE_SILCDEFS_H */
79 /* Platform specific includes */
81 #if defined(SILC_WIN32)
82 #include "silcwin32.h"
85 #if defined(SILC_SYMBIAN)
86 #include "silcsymbian.h"
93 #ifdef SILC_HAVE_PTHREAD
94 /* For pthreads rwlock support */
96 #define _XOPEN_SOURCE 500
98 #ifdef _XOPEN_SOURCE < 500
99 #define _XOPEN_SOURCE_SAVE _XOPEN_SOURCE
101 #define _XOPEN_SOURCE 500
102 #endif /* _XOPEN_SOURCE < 500 */
103 #endif /* _XOPEN_SOURCE */
104 #endif /* SILC_HAVE_PTHREAD */
111 #include <sys/types.h>
112 #include <sys/stat.h>
131 #if !defined(SILC_WIN32)
134 #include <sys/time.h>
136 #include <sys/times.h>
142 #if defined(HAVE_GETOPT_H) && defined(HAVE_GETOPT)
145 #if defined(HAVE_SILCDEFS_H)
147 #endif /* HAVE_SILCDEFS_H */
154 #include <sys/socket.h>
155 #ifdef HAVE_NETINET_IN_H
156 #include <netinet/in.h>
162 #ifdef HAVE_NETINET_TCP_H
163 #include <netinet/tcp.h>
171 #ifdef HAVE_ARPA_INET_H
172 #include <arpa/inet.h>
175 #ifdef HAVE_SYS_MMAN_H
176 #include <sys/mman.h>
188 #if defined(HAVE_SILCDEFS_H)
190 #endif /* HAVE_SILCDEFS_H */
195 #ifdef SILC_HAVE_PTHREAD
197 #ifdef _XOPEN_SOURCE_SAVE
199 #define _XOPEN_SOURCE _XOPEN_SOURCE_SAVE
200 #undef _XOPEN_SOURCE_SAVE
201 #endif /* _XOPEN_SOURCE_SAVE */
208 #ifdef HAVE_TERMIOS_H
224 #ifdef HAVE_LANGINFO_H
225 #include <langinfo.h>
228 #ifdef HAVE_SYS_RESOURCE_H
229 #include <sys/resource.h>
232 #endif /* !SILC_WIN32 */
234 /* Include generic SILC type definitions */
235 #include "silctypes.h"
236 #include "silcmutex.h"
237 #include "silcatomic.h"
238 #include "silcversion.h"
240 /* SILC util library includes */
241 #include "silcstack.h"
242 #include "silcmemory.h"
243 #include "silcsnprintf.h"
245 /* Math library includes */
247 #include "silcmath.h"
249 /* More SILC util library includes */
250 #include "silctime.h"
251 #include "silccond.h"
252 #include "silcthread.h"
253 #include "silcschedule.h"
255 #include "silcbuffer.h"
256 #include "silcbuffmt.h"
258 /* Crypto library includes */
259 #include "silccipher.h"
260 #include "silchash.h"
261 #include "silchmac.h"
263 #include "silcpkcs.h"
265 #include "silcpkcs1.h"
267 /* More SILC util library includes */
268 #include "silchashtable.h"
269 #include "silclist.h"
270 #include "silcdlist.h"
271 #include "silcasync.h"
272 #include "silcstream.h"
274 #include "silcfileutil.h"
275 #include "silcstrutil.h"
276 #include "silcutf8.h"
277 #include "silcstringprep.h"
278 #include "silcutil.h"
279 #include "silcconfig.h"
281 #include "silcsocketstream.h"
282 #include "silcfdstream.h"
283 #include "silcvcard.h"
284 #include "silcmime.h"
286 #ifdef SILC_DIST_ASN1
287 #include "silcasn1.h"
289 #endif /* SILC_DIST_ASN1 */
291 /* SILC core library includes */
292 #include "silcargument.h"
293 #include "silcstatus.h"
295 #include "silccommand.h"
296 #include "silcauth.h"
297 #include "silcmessage.h"
298 #include "silcchannel.h"
299 #include "silcpacket.h"
300 #include "silcnotify.h"
301 #include "silcmode.h"
302 #include "silcattrs.h"
303 #include "silcpubkey.h"
305 /* Application utility includes */
306 #include "silcapputil.h"
307 #ifdef SILC_DIST_IDCACHE
308 #include "silcidcache.h"
309 #endif /* SILC_DIST_IDCACHE */
313 #endif /* SILC_DIST_SKR */
315 #if defined(SILC_SIM)
316 /* SILC Module library includes */
318 #include "silcsimutil.h"
321 /* SILC Key Exchange library includes */
323 #include "silcske_payload.h"
324 #include "silcske_groups.h"
325 #include "silcconnauth.h"
327 #ifdef SILC_DIST_SFTP
328 /* SILC SFTP library */
329 #include "silcsftp.h"
330 #include "silcsftp_fs.h"
331 #endif /* SILC_DIST_SFTP */
333 #ifdef SILC_DIST_HTTP
334 /* SILC HTTP library */
335 #include "silchttpserver.h"
336 #include "silchttpphp.h"
337 #endif /* SILC_DIST_HTTP */
343 #endif /* SILCINCLUDES_H */