*** empty log message ***
[privoxy.git] / amiga.h
diff --git a/amiga.h b/amiga.h
new file mode 100644 (file)
index 0000000..6f132d0
--- /dev/null
+++ b/amiga.h
@@ -0,0 +1,88 @@
+#ifdef AMIGA
+#ifndef _AMIGA_H
+#define _AMIGA_H
+#define AMIGA_H_VERSION "$Id: amiga.h,v 1.1 2001/05/13 21:57:06 administrator Exp $"
+/*********************************************************************
+ *
+ * File        :  $Source: /home/administrator/cvs/ijb/amiga.h,v $
+ *
+ * Purpose     :  Amiga-specific declarations.
+ *
+ * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
+ *                IJBSWA team.  http://ijbswa.sourceforge.net
+ *
+ *                This program is free software; you can redistribute it 
+ *                and/or modify it under the terms of the GNU General
+ *                Public License as published by the Free Software
+ *                Foundation; either version 2 of the License, or (at
+ *                your option) any later version.
+ *
+ *                This program is distributed in the hope that it will
+ *                be useful, but WITHOUT ANY WARRANTY; without even the
+ *                implied warranty of MERCHANTABILITY or FITNESS FOR A
+ *                PARTICULAR PURPOSE.  See the GNU General Public
+ *                License for more details.
+ *
+ *                The GNU General Public License should be included with
+ *                this file.  If not, you can view it at
+ *                http://www.gnu.org/copyleft/gpl.html
+ *                or write to the Free Software Foundation, Inc., 59
+ *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ *
+ * Revisions   :
+ *    $Log: jcc.h,v $
+ *
+ *********************************************************************/
+\f
+
+#define _KERNEL
+#include <sys/socket.h>
+#undef _KERNEL
+
+#define __NOLIBBASE__
+#include <proto/socket.h>
+#undef __NOLIBBASE__
+
+#include <proto/exec.h>
+#include <exec/tasks.h>
+#include <proto/dos.h>
+#include <dos/dostags.h>
+
+struct UserData
+{
+       struct Library *sb;
+       int eno;
+};
+
+#define SocketBase ((struct Library *)(((struct UserData *)(FindTask(NULL)->tc_UserData))->sb))
+#define errno (((struct UserData *)(FindTask(NULL)->tc_UserData))->eno)
+#define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,NULL)
+#define inet_ntoa(x) Inet_NtoA(x.s_addr)
+
+extern int childs;
+extern struct Task *main_task;
+
+void InitAmiga(void);
+void amiga_exit(void);
+void __memCleanUp(void);
+__saveds ULONG server_thread(void);
+
+#define exit(x)\
+{\
+   if(main_task)\
+   {\
+      if(main_task == FindTask(NULL))\
+      {\
+         while(childs) Delay(10*TICKS_PER_SECOND); exit(x);\
+      } else {\
+         CloseLibrary(SocketBase);\
+         childs--;\
+         RemTask(NULL);\
+      }\
+   }\
+}
+
+#define EINTR 0
+
+#endif /* ndef _AMIGA_H */
+#endif /* def AMIGA */