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>
165 #include <sys/socket.h>
166 #ifdef HAVE_NETINET_IN_H
167 #include <netinet/in.h>
173 #ifdef HAVE_NETINET_TCP_H
174 #include <netinet/tcp.h>
182 #ifdef HAVE_ARPA_INET_H
183 #include <arpa/inet.h>
186 #ifdef HAVE_SYS_MMAN_H
187 #include <sys/mman.h>
198 #ifdef SILC_HAVE_PTHREAD
206 #ifdef HAVE_TERMIOS_H
222 #ifdef HAVE_LANGINFO_H
223 #include <langinfo.h>
226 #ifdef HAVE_SYS_RESOURCE_H
227 #include <sys/resource.h>
230 #endif /* !SILC_WIN32 */
232 /* Include generic SILC type definitions */
233 #include "silcerrno.h"
234 #include "silctypes.h"
235 #include "silcbitops.h"
236 #include "silcmutex.h"
237 #include "silcatomic.h"
238 #include "silcversion.h"
240 /* SILC util library includes */
241 #include "silcgetopt.h"
242 #include "silclist.h"
243 #include "silcstack.h"
244 #include "silcmemory.h"
245 #include "silcsnprintf.h"
247 /* Math library includes */
249 #include "silcmath.h"
251 /* More SILC util library includes */
252 #include "silctime.h"
253 #include "silctimer.h"
254 #include "silccond.h"
255 #include "silcthread.h"
256 #include "silcschedule.h"
258 #include "silcfileutil.h"
259 #include "silcbuffer.h"
260 #include "silcbuffmt.h"
261 #include "silcasync.h"
262 #include "silcdlist.h"
264 /* Crypto library includes */
265 #include "silccrypto.h"
266 #include "silccipher.h"
267 #include "silchash.h"
268 #include "silchmac.h"
270 #include "silcpkcs.h"
272 #include "silcpkcs1.h"
275 #endif /* SILC_DIST_ACC */
278 #endif /* SILC_DIST_SSH */
280 /* More SILC util library includes */
281 #include "silcregex.h"
284 #include "silchashtable.h"
285 #include "silcstream.h"
287 #include "silcbase64.h"
288 #include "silcstrutil.h"
289 #include "silcutf8.h"
290 #include "silcstringprep.h"
291 #include "silcutil.h"
292 #include "silcconfig.h"
294 #include "silcsocketstream.h"
295 #include "silcfdstream.h"
296 #include "silcmime.h"
298 #ifdef SILC_DIST_VCARD
299 #include "silcvcard.h"
300 #endif /* SILC_DIST_VCARD */
302 #ifdef SILC_DIST_ASN1
303 #include "silcasn1.h"
305 #endif /* SILC_DIST_ASN1 */
307 /* SILC core library includes */
308 #include "silcargument.h"
309 #include "silcstatus.h"
311 #include "silccommand.h"
312 #include "silcauth.h"
313 #include "silcmessage.h"
314 #include "silcchannel.h"
315 #include "silcpacket.h"
316 #include "silcnotify.h"
317 #include "silcmode.h"
318 #include "silcattrs.h"
319 #include "silcpubkey.h"
321 /* Application utility includes */
322 #include "silcapputil.h"
323 #ifdef SILC_DIST_IDCACHE
324 #include "silcidcache.h"
325 #endif /* SILC_DIST_IDCACHE */
329 #endif /* SILC_DIST_SKR */
331 #if defined(SILC_SIM)
332 /* SILC Module library includes */
334 #include "silcsimutil.h"
337 /* SILC Key Exchange library includes */
339 #include "silcske_payload.h"
340 #include "silcske_groups.h"
341 #include "silcconnauth.h"
343 #ifdef SILC_DIST_SFTP
344 /* SILC SFTP library */
345 #include "silcsftp.h"
346 #include "silcsftp_fs.h"
347 #endif /* SILC_DIST_SFTP */
349 #ifdef SILC_DIST_HTTP
350 /* SILC HTTP library */
351 #include "silchttpserver.h"
352 #include "silchttpphp.h"
353 #endif /* SILC_DIST_HTTP */
359 #endif /* SILCINCLUDES_H */