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)
71 /* Automatically generated configuration header */
75 #include "../symbian/silcdefs.h"
76 #endif /* SILC_SYMBIAN */
77 #include "silcdistdefs.h"
81 /* Autodetect CPU so that inline assembly in headers are enabled */
90 #if defined(__x86_64__)
93 #endif /* __x86_64__ */
100 #if defined(__ppc__) || defined(__ppc64__)
103 #endif /* __ppc__ || __ppc64__ */
105 #ifndef SILC_ALIGNMENT
106 #define SILC_ALIGNMENT SILC_SIZEOF_VOID_P
107 #endif /* SILC_ALIGNMENT */
109 #endif /* HAVE_SILCDEFS_H */
111 /* Platform specific includes */
113 #if defined(SILC_WIN32)
114 #include "silcwin32.h"
117 #if defined(SILC_SYMBIAN)
118 #include "silcsymbian.h"
130 #include <sys/types.h>
131 #include <sys/stat.h>
150 #if !defined(SILC_WIN32)
153 #include <sys/time.h>
155 #include <sys/times.h>
161 #if defined(HAVE_GETOPT_H) && defined(HAVE_GETOPT)
164 #if defined(HAVE_SILCDEFS_H)
166 #endif /* HAVE_SILCDEFS_H */
173 #include <sys/socket.h>
174 #ifdef HAVE_NETINET_IN_H
175 #include <netinet/in.h>
181 #ifdef HAVE_NETINET_TCP_H
182 #include <netinet/tcp.h>
190 #ifdef HAVE_ARPA_INET_H
191 #include <arpa/inet.h>
194 #ifdef HAVE_SYS_MMAN_H
195 #include <sys/mman.h>
207 #if defined(HAVE_SILCDEFS_H)
209 #endif /* HAVE_SILCDEFS_H */
214 #ifdef SILC_HAVE_PTHREAD
222 #ifdef HAVE_TERMIOS_H
238 #ifdef HAVE_LANGINFO_H
239 #include <langinfo.h>
242 #ifdef HAVE_SYS_RESOURCE_H
243 #include <sys/resource.h>
246 #endif /* !SILC_WIN32 */
248 /* Include generic SILC type definitions */
249 #include "silcerrno.h"
250 #include "silctypes.h"
251 #include "silcbitops.h"
252 #include "silcmutex.h"
253 #include "silcatomic.h"
254 #include "silcversion.h"
256 /* SILC util library includes */
257 #include "silclist.h"
258 #include "silcstack.h"
259 #include "silcmemory.h"
260 #include "silcsnprintf.h"
262 /* Math library includes */
264 #include "silcmath.h"
266 /* More SILC util library includes */
267 #include "silctime.h"
268 #include "silctimer.h"
269 #include "silccond.h"
270 #include "silcthread.h"
271 #include "silcschedule.h"
273 #include "silcbuffer.h"
274 #include "silcbuffmt.h"
275 #include "silcasync.h"
276 #include "silcdlist.h"
278 /* Crypto library includes */
279 #include "silccrypto.h"
280 #include "silccipher.h"
281 #include "silchash.h"
282 #include "silchmac.h"
284 #include "silcpkcs.h"
286 #include "silcpkcs1.h"
289 #endif /* SILC_DIST_ACC */
292 #endif /* SILC_DIST_SSH */
294 /* More SILC util library includes */
297 #include "silchashtable.h"
298 #include "silcstream.h"
300 #include "silcfileutil.h"
301 #include "silcbase64.h"
302 #include "silcstrutil.h"
303 #include "silcutf8.h"
304 #include "silcstringprep.h"
305 #include "silcutil.h"
306 #include "silcconfig.h"
308 #include "silcsocketstream.h"
309 #include "silcfdstream.h"
310 #include "silcmime.h"
312 #ifdef SILC_DIST_VCARD
313 #include "silcvcard.h"
314 #endif /* SILC_DIST_VCARD */
316 #ifdef SILC_DIST_ASN1
317 #include "silcasn1.h"
319 #endif /* SILC_DIST_ASN1 */
321 /* SILC core library includes */
322 #include "silcargument.h"
323 #include "silcstatus.h"
325 #include "silccommand.h"
326 #include "silcauth.h"
327 #include "silcmessage.h"
328 #include "silcchannel.h"
329 #include "silcpacket.h"
330 #include "silcnotify.h"
331 #include "silcmode.h"
332 #include "silcattrs.h"
333 #include "silcpubkey.h"
335 /* Application utility includes */
336 #include "silcapputil.h"
337 #ifdef SILC_DIST_IDCACHE
338 #include "silcidcache.h"
339 #endif /* SILC_DIST_IDCACHE */
343 #endif /* SILC_DIST_SKR */
345 #if defined(SILC_SIM)
346 /* SILC Module library includes */
348 #include "silcsimutil.h"
351 /* SILC Key Exchange library includes */
353 #include "silcske_payload.h"
354 #include "silcske_groups.h"
355 #include "silcconnauth.h"
357 #ifdef SILC_DIST_SFTP
358 /* SILC SFTP library */
359 #include "silcsftp.h"
360 #include "silcsftp_fs.h"
361 #endif /* SILC_DIST_SFTP */
363 #ifdef SILC_DIST_HTTP
364 /* SILC HTTP library */
365 #include "silchttpserver.h"
366 #include "silchttpphp.h"
367 #endif /* SILC_DIST_HTTP */
373 #endif /* SILCINCLUDES_H */