2 * Copyright (C) 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
3 * Helsinki University of Technology, Finland.
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,
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).
34 #ifndef SAVEDS /* NC: in case our own cdefs.h is included */
41 #if defined(__mc68000) && !defined(__AROS__)
42 #define REG(A, B) B __asm(#A)
49 /* __PPC__ definition is dropped in gcc 4.4.2, but our code relies on it. Fix this up. */
57 * For m68k, AmigaOS4 and AROS we build Roadshow-compatible version
60 #define __CONFIG_ROADSHOW__
63 #define __CONFIG_ROADSHOW__
66 #define __CONFIG_ROADSHOW__
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>
80 #define USE_BUILTIN_MATH
87 #define VA68K __attribute((varargs68k))
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>
105 #include <exec/types.h>
109 #include <exec/lists.h>
112 #ifndef EXEC_MEMORY_H
113 #include <exec/memory.h>
116 #ifndef EXEC_SEMAPHORES_H
117 #include <exec/semaphores.h>
120 #ifndef EXEC_LIBRARIES_H
121 #include <exec/libraries.h>
124 #ifndef EXEC_DEVICES_H
125 #include <exec/devices.h>
128 #ifndef EXEC_EXECBASE_H
129 #include <exec/execbase.h>
132 #ifndef DEVICES_TIMER_H
133 #include <devices/timer.h>
141 #include <sys/cdefs.h>
144 #ifndef CLIB_EXEC_PROTOS_H
145 #include <clib/exec_protos.h>
147 extern struct ExecBase
*SysBase
;
148 /*#include <pragmas/exec_sysbase_pragmas.h>*/ /* NC */
150 #ifndef PROTO_TIMER_H
151 #include <proto/timer.h>
155 * undef math log, because it conflicts with log() used for logging.
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>
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 */
233 #ifdef DEBUG_NETTRACE
234 #define DNETTRACE(x) x
258 #ifdef DEBUG_SYSCALLS
259 #define DSYSCALLS(x) x
268 #ifdef DEBUG_IFCONFIG
295 GLOBAL
struct IntuitionBase
*IntuitionBase
;
296 GLOBAL
struct Library
*GadToolsBase
;
297 GLOBAL
struct GfxBase
*GfxBase
;
299 GLOBAL
struct DosLibrary
*DOSBase
;
301 GLOBAL
struct Library
*UtilityBase
;
302 GLOBAL
struct Library
*RexxSysBase
;
304 GLOBAL
struct UtilityBase
*UtilityBase
;
305 GLOBAL
struct RxsLib
*RexxSysBase
;
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__)
316 #include <aros/debug.h>
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)