Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / network / stacks / AROSTCP / bsdsocket / conf.h
blob99973f65b22f3b992deca4f6b6711a70b94afb9f
1 /*
2 * Copyright (C) 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
3 * Helsinki University of Technology, Finland.
4 * All rights reserved.
5 * Copyright (C) 2005 Neil Cafferkey
6 * Copyright (C) 2005 Pavel Fedin
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
20 * MA 02111-1307, USA.
25 * This is include file, which includes most of AmiTCP/IP include files
26 * for creation of an GST file for SASC.
28 * This file must be maintained to be consistent with the project itself
29 * (ie. remember to add new include files when they are defined).
32 /* NC */
34 #ifndef SAVEDS /* NC: in case our own cdefs.h is included */
35 #define SAVEDS
36 #define REGARGFUN
37 #define STKARGFUN
38 #define ALIGNED
39 #define ASM
40 #ifndef REG
41 #if defined(__mc68000) && !defined(__AROS__)
42 #define REG(A, B) B __asm(#A)
43 #else
44 #define REG(A, B) B
45 #endif
46 #endif
47 #endif
49 /* __PPC__ definition is dropped in gcc 4.4.2, but our code relies on it. Fix this up. */
50 #ifdef __powerpc__
51 #ifndef __PPC__
52 #define __PPC__
53 #endif
54 #endif
57 * For m68k, AmigaOS4 and AROS we build Roadshow-compatible version
59 #ifdef __mc68000
60 #define __CONFIG_ROADSHOW__
61 #endif
62 #ifdef __AMIGAOS4__
63 #define __CONFIG_ROADSHOW__
64 #endif
65 #if defined(__AROS__)
66 #define __CONFIG_ROADSHOW__
67 #endif
68 /*
69 * Include first configuration information
71 * This file does not include any other include files and can be compiled
72 * anytime. Include it first for the definitions to be effective during
73 * following includes, which may depend on preprocessor symbols defined here.
75 #include <conf/conf.h>
77 #include <sys/types.h>
79 #if __SASC
80 #define USE_BUILTIN_MATH
81 #ifndef _STRING_H
82 #include <string.h>
83 #endif
84 #endif
86 #ifdef __MORPHOS__
87 #define VA68K __attribute((varargs68k))
88 #else
89 #define VA68K
90 #endif
93 * sys/param.h includes basic information about system and C-compiler
94 * environment. It also contains for example incomplete structure
95 * definitions for all prototype files in protos/ (structure pointers
96 * only). This is why this file must be included first, since SASC
97 * don't like incomplete declarations _after_ complete ones.
99 #include <sys/param.h>
102 * following files are included instead of #include <kern/amiga_includes.h>
104 #ifndef EXEC_TYPES_H
105 #include <exec/types.h>
106 #endif
108 #ifndef EXEC_LISTS_H
109 #include <exec/lists.h>
110 #endif
112 #ifndef EXEC_MEMORY_H
113 #include <exec/memory.h>
114 #endif
116 #ifndef EXEC_SEMAPHORES_H
117 #include <exec/semaphores.h>
118 #endif
120 #ifndef EXEC_LIBRARIES_H
121 #include <exec/libraries.h>
122 #endif
124 #ifndef EXEC_DEVICES_H
125 #include <exec/devices.h>
126 #endif
128 #ifndef EXEC_EXECBASE_H
129 #include <exec/execbase.h>
130 #endif
132 #ifndef DEVICES_TIMER_H
133 #include <devices/timer.h>
134 #endif
136 #ifndef DOS_DOS_H
137 #include <dos/dos.h>
138 #endif
140 #ifndef SYS_CDEFS_H
141 #include <sys/cdefs.h>
142 #endif
144 #ifndef CLIB_EXEC_PROTOS_H
145 #include <clib/exec_protos.h>
146 #endif
147 extern struct ExecBase *SysBase;
148 /*#include <pragmas/exec_sysbase_pragmas.h>*/ /* NC */
150 #ifndef PROTO_TIMER_H
151 #include <proto/timer.h>
152 #endif
155 * undef math log, because it conflicts with log() used for logging.
157 #undef log
159 #include <sys/time.h>
160 #include "kern/uio.h"
162 #include <sys/errno.h>
163 #include <sys/ioctl.h>
164 #include <sys/kernel.h>
165 #include <sys/mbuf.h>
166 #include "sys/queue2.h"
167 #include <sys/domain.h>
168 #include <sys/socket.h>
169 #include <sys/socketvar.h>
170 #include <sys/protosw.h> /* Was just before socket.h. NC */
171 #include <sys/syslog.h>
172 #include <sys/queue.h>
174 #include <net/route.h>
175 #include <net/if.h>
176 #include <net/netisr.h>
177 #include <net/if_types.h>
178 #include <net/raw_cb.h>
179 #include <net/radix.h>
181 #include <netinet/in_systm.h>
182 #include <netinet/in.h>
183 #include <netinet/ip.h>
185 #include <netinet/ip_var.h>
186 #include <netinet/ip_icmp.h>
187 #include <netinet/icmp_var.h>
189 #include <netinet/in_pcb.h>
190 #include <netinet/in_var.h>
192 #include <net/if_arp.h>
193 #include <net/if_sana.h>
194 #include <net/sana2arp.h>
195 #include <net/sana2tags.h>
196 #include <net/sana2config.h> /* NC */
198 #include <netinet/tcp.h>
199 #include <netinet/tcp_timer.h>
200 #include <netinet/tcp_var.h>
201 #include <netinet/tcpip.h>
202 #include <netinet/tcp_fsm.h>
203 #include <netinet/tcp_seq.h>
204 #include <netinet/tcp_debug.h>
206 #include <netinet/udp.h>
207 #include <netinet/udp_var.h>
209 #include <api/amiga_raf.h>
210 #include <kern/amiga_log.h>
211 #include <kern/amiga_subr.h> /* NC */
213 #include <ctype.h>
214 #include <stdarg.h>
215 #include <limits.h>
216 #include <stddef.h>
218 #ifdef DEBUG
219 #define D(x) x
220 #else
221 #define D(x)
222 #endif
223 #ifdef DEBUG_NETDB
224 #define DNETDB(x) x
225 #else
226 #define DNETDB(x)
227 #endif
228 #ifdef DEBUG_SANA
229 #define DSANA(x) x
230 #else
231 #define DSANA(x)
232 #endif
233 #ifdef DEBUG_NETTRACE
234 #define DNETTRACE(x) x
235 #else
236 #define DNETTRACE(x)
237 #endif
238 #ifdef RES_DEBUG
239 #define DRES(x) x
240 #else
241 #define DRES(x)
242 #endif
243 #ifdef DEBUG_TSLEEP
244 #define DTSLEEP(x) x
245 #else
246 #define DTSLEEP(x)
247 #endif
248 #ifdef DEBUG_EVENTS
249 #define DEVENTS(x) x
250 #else
251 #define DEVENTS(x)
252 #endif
253 #ifdef DEBUG_SYSLOG
254 #define DSYSLOG(x) x
255 #else
256 #define DSYSLOG(x)
257 #endif
258 #ifdef DEBUG_SYSCALLS
259 #define DSYSCALLS(x) x
260 #else
261 #define DSYSCALLS(x)
262 #endif
263 #ifdef DEBUG_OPTERR
264 #define DOPTERR(x) x
265 #else
266 #define DOPTERR(x)
267 #endif
268 #ifdef DEBUG_IFCONFIG
269 #define DIFCONF(x) x
270 #else
271 #define DIFCONF(x)
272 #endif
273 #ifdef DEBUG_GUI
274 #define DGUI(x) x
275 #else
276 #define DGUI(x)
277 #endif
278 #ifdef DEBUG_PF
279 #define DPF(x) x
280 #else
281 #define DPF(x)
282 #endif
283 #ifdef DEBUG_ROUTE
284 #define DROUTE(x) x
285 #else
286 #define DROUTE(x)
287 #endif
288 #ifdef DEBUG_DHCP
289 #define DDHCP(x) x
290 #else
291 #define DDHCP(x)
292 #endif
294 #if 0
295 GLOBAL struct IntuitionBase *IntuitionBase;
296 GLOBAL struct Library *GadToolsBase;
297 GLOBAL struct GfxBase *GfxBase;
298 #endif
299 GLOBAL struct DosLibrary *DOSBase;
300 #ifdef __MORPHOS__
301 GLOBAL struct Library *UtilityBase;
302 GLOBAL struct Library *RexxSysBase;
303 #else
304 GLOBAL struct UtilityBase *UtilityBase;
305 GLOBAL struct RxsLib *RexxSysBase;
306 #endif
308 #define ENABLE_PACKET_FILTER
310 /* This option is now obsolete
311 #define ENABLE_TTCP_SHUTUP */
313 /* Global define to enable Debug output for AROS */
314 #if defined(__AROS__)
315 #define DEBUG 0
316 #include <aros/debug.h>
317 #endif
319 // ## "TODO: NicJA - Would it be better to use differing pools for different data types?"
320 /* Defines used by the stack to Allocate sufficient memory space for _ALL_ allocated blocks */
321 /* see kern_malloc.c */
322 #define __MALLOC_POOLSIZE (128*1024) // original Value was (16x1024)bytes
323 #define __MALLOC_POOLSIZE_THRESHOLD (16*1024)