2 #ifndef AMIGA_H_INCLUDED
3 #define AMIGA_H_INCLUDED
4 #define AMIGA_H_VERSION "$Id: amiga.h,v 1.4 2001/05/29 20:05:06 joergs Exp $"
5 /*********************************************************************
7 * File : $Source: /cvsroot/ijbswa/current/amiga.h,v $
9 * Purpose : Amiga-specific declarations.
11 * Copyright : Written by and Copyright (C) 2001 the SourceForge
12 * IJBSWA team. http://ijbswa.sourceforge.net
14 * This program is free software; you can redistribute it
15 * and/or modify it under the terms of the GNU General
16 * Public License as published by the Free Software
17 * Foundation; either version 2 of the License, or (at
18 * your option) any later version.
20 * This program is distributed in the hope that it will
21 * be useful, but WITHOUT ANY WARRANTY; without even the
22 * implied warranty of MERCHANTABILITY or FITNESS FOR A
23 * PARTICULAR PURPOSE. See the GNU General Public
24 * License for more details.
26 * The GNU General Public License should be included with
27 * this file. If not, you can view it at
28 * http://www.gnu.org/copyleft/gpl.html
29 * or write to the Free Software Foundation, Inc., 59
30 * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
34 * Revision 1.4 2001/05/29 20:05:06 joergs
35 * Fixed exit() macro not exiting if called before InitAmiga()
36 * (junkbuster --help and --version).
38 * Revision 1.3 2001/05/25 21:53:27 jongfoster
41 * Revision 1.2 2001/05/23 00:13:58 joergs
42 * AmigaOS support fixed.
44 * Revision 1.1.1.1 2001/05/15 13:58:46 oes
45 * Initial import of version 2.9.3 source tree
48 *********************************************************************/
52 #include <sys/socket.h>
56 #include <proto/socket.h>
59 #define __CONSTLIBBASEDECL__ const
60 #include <proto/exec.h>
61 #include <exec/tasks.h>
62 #include <proto/dos.h>
63 #include <dos/dostags.h>
71 #define SocketBase ((struct Library *)(((struct UserData *)(FindTask(NULL)->tc_UserData))->sb))
72 #define errno (((struct UserData *)(FindTask(NULL)->tc_UserData))->eno)
73 #define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,NULL)
74 #define inet_ntoa(x) Inet_NtoA(x.s_addr)
77 extern struct Task *main_task;
80 void amiga_exit(void);
81 void __memCleanUp(void);
82 __saveds ULONG server_thread(void);
88 if(main_task == FindTask(NULL)) \
90 while(childs) Delay(10*TICKS_PER_SECOND); exit(x); \
94 CloseLibrary(SocketBase); \
107 #endif /* ndef AMIGA_H_INCLUDED */
108 #endif /* def AMIGA */