5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C) 1997 - 2008 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
31 /* Compilation time defines, for third-party software */
35 #if defined(HAVE_SILCDEFS_H)
37 /* Automatically generated configuration header */
41 #include "../symbian/silcdefs.h"
42 #endif /* SILC_SYMBIAN */
43 #include "silcdistdefs.h"
47 /* Autodetect CPU so that inline assembly in headers are enabled */
56 #if defined(__x86_64__)
59 #endif /* __x86_64__ */
66 #if defined(__ppc__) || defined(__ppc64__)
69 #endif /* __ppc__ || __ppc64__ */
71 #ifndef SILC_ALIGNMENT
72 #define SILC_ALIGNMENT SILC_SIZEOF_VOID_P
73 #endif /* SILC_ALIGNMENT */
75 #endif /* HAVE_SILCDEFS_H */
77 /* Platform specific includes */
79 #if defined(SILC_WIN32)
80 #include "silcwin32.h"
83 #if defined(SILC_SYMBIAN)
84 #include "silcsymbian.h"
96 #include <sys/types.h>
117 #if !defined(SILC_WIN32)
120 #include <sys/time.h>
122 #include <sys/times.h>
132 #include <sys/socket.h>
133 #ifdef HAVE_NETINET_IN_H
134 #include <netinet/in.h>
140 #ifdef HAVE_NETINET_TCP_H
141 #include <netinet/tcp.h>
149 #ifdef HAVE_ARPA_INET_H
150 #include <arpa/inet.h>
153 #ifdef HAVE_SYS_MMAN_H
154 #include <sys/mman.h>
165 #ifdef SILC_HAVE_PTHREAD
173 #ifdef HAVE_TERMIOS_H
189 #ifdef HAVE_LANGINFO_H
190 #include <langinfo.h>
193 #ifdef HAVE_SYS_RESOURCE_H
194 #include <sys/resource.h>
197 #endif /* !SILC_WIN32 */
199 /* Include generic SILC type definitions */
200 #include "silcerrno.h"
201 #include "silctypes.h"
202 #include "silcbitops.h"
203 #include "silcmutex.h"
204 #include "silcatomic.h"
205 #include "silcversion.h"
207 /* SILC util library includes */
208 #include "silcgetopt.h"
209 #include "silclist.h"
210 #include "silcstack.h"
211 #include "silcmemory.h"
212 #include "silcsnprintf.h"
214 /* Math library includes */
216 #include "silcmath.h"
218 /* More SILC util library includes */
219 #include "silctime.h"
220 #include "silctimer.h"
221 #include "silccond.h"
222 #include "silcthread.h"
223 #include "silcschedule.h"
226 #include "silcfileutil.h"
227 #include "silcbuffer.h"
228 #include "silcbuffmt.h"
229 #include "silcasync.h"
230 #include "silcdlist.h"
232 /* Crypto library includes */
233 #include "silccrypto.h"
234 #include "silccipher.h"
235 #include "silchash.h"
236 #include "silchmac.h"
238 #include "silcpkcs.h"
240 #include "silcpkcs1.h"
243 #endif /* SILC_DIST_ACC */
246 #endif /* SILC_DIST_SSH */
248 /* More SILC util library includes */
249 #include "silcregex.h"
252 #include "silchashtable.h"
253 #include "silcstream.h"
255 #include "silcbase64.h"
256 #include "silcstrutil.h"
257 #include "silcutf8.h"
258 #include "silcstringprep.h"
259 #include "silcutil.h"
260 #include "silcconfig.h"
262 #include "silcsocketstream.h"
263 #include "silcfdstream.h"
264 #include "silcmime.h"
266 #ifdef SILC_DIST_VCARD
267 #include "silcvcard.h"
268 #endif /* SILC_DIST_VCARD */
270 #ifdef SILC_DIST_ASN1
271 #include "silcasn1.h"
273 #endif /* SILC_DIST_ASN1 */
275 /* SILC core library includes */
276 #include "silcargument.h"
277 #include "silcstatus.h"
279 #include "silccommand.h"
280 #include "silcauth.h"
281 #include "silcmessage.h"
282 #include "silcchannel.h"
283 #include "silcpacket.h"
284 #include "silcnotify.h"
285 #include "silcmode.h"
286 #include "silcattrs.h"
287 #include "silcpubkey.h"
289 /* Application utility includes */
290 #include "silcapputil.h"
291 #ifdef SILC_DIST_IDCACHE
292 #include "silcidcache.h"
293 #endif /* SILC_DIST_IDCACHE */
297 #endif /* SILC_DIST_SKR */
299 #if defined(SILC_SIM)
300 /* SILC Module library includes */
302 #include "silcsimutil.h"
305 /* SILC Key Exchange library includes */
307 #include "silcske_payload.h"
308 #include "silcske_groups.h"
309 #include "silcconnauth.h"
311 #ifdef SILC_DIST_SFTP
312 /* SILC SFTP library */
313 #include "silcsftp.h"
314 #include "silcsftp_fs.h"
315 #endif /* SILC_DIST_SFTP */
317 #ifdef SILC_DIST_HTTP
318 /* SILC HTTP library */
319 #include "silchttpserver.h"
320 #include "silchttpphp.h"
321 #endif /* SILC_DIST_HTTP */
327 #endif /* SILCINCLUDES_H */