This is a patch to Cap60 Patch level 192. It will enable you to compile and run CAP in a linux box (only tested with kernel 1.0) and a Kinetics Fastpath, Cayman Gatorbox or compatible Gateway. As said, it has only been tested marginally in a network of Linux boxes running kernel v.1.0, from the latest slackware distribution. Aufs runs nicely, printing not yet tested but supposed to work. I would like to work, or help someone working on, native ethertalk and/or localtalk support for linux, so please e-mail me if you have any way to help. This patch is going to be up for anon-ftp in : ing.puc.cl:/pub/unix/net/appletalk/linux.IPTalk.patch.192 This patch is Copyright, but free. Please add any disclaimers that can apply. It is not fully tested software. Be warned. --- Eduardo Kaftanski ekaftan@ing.puc.cl --- Configure.orig Wed Apr 6 01:18:02 1994 +++ Configure Wed Apr 6 01:57:02 1994 @@ -293,6 +293,15 @@ fi fi fi +echo "Checking for Linux" +# Linux +if [ -f /bin/uname ]; then + case "`/bin/uname`" in + "Linux") + osdefault="linux" + ;; + esac +fi # Default if [ -z "${osdefault}" ]; then echo "Establishing default as BSD" @@ -340,6 +349,7 @@ "epix") valid=1;; "386bsd") valid=1;; "domainosbsd") valid=1;; + "linux") valid=1;; "?"|*) if [ "${os}" != "?" ]; then echo "unknown type ${os}, valid are:" @@ -366,6 +376,7 @@ echo " epix - Control Data EP/IX" echo " 386bsd - 386/BSD, FreeBSD and derivatives" echo " domainosbsd - HP/Apollo Domain BSD 4.3" + echo " linux - Linux" ;; esac done @@ -1536,6 +1547,7 @@ ifelse(os,[epix],[define([osname],[Control Data EP/IX])]) ifelse(os,[386bsd],[define([osname],[386/BSD, FreeBSD etc])]) ifelse(os,[domainosbsd],[define([osname],[HP/Apollo Domain BSD 4.3])]) +ifelse(os,[linux],[define([osname],[Linux])]) # define([cflags],ifdef([selfdefinetypes],[-D_TYPES],[])) define([cflags],concat(cflags,ifdef([usebyteswap],[ -DBYTESWAPPED],[]))) @@ -1603,6 +1615,7 @@ define([caposdefs], concat( ifdef([X_NOFFS],[ -DNOFFS],[]), ifelse(os,[aux],[ -DLOCALTIME_GTOD],[]), + ifelse(os,[linux],[ -DNEEDMSGHDR],[]), ifdef([X_NORECVMSG], [ -DNORECVMSG],[]), ifdef([X_NOSENDMSG], [ -DNOSENDMSG],[]))) # for afp library --- etc/atis.c.orig Wed Apr 6 06:40:54 1994 +++ etc/atis.c Wed Apr 6 06:42:18 1994 @@ -50,6 +50,9 @@ #ifdef USEVPRINTF # include #endif +#ifndef SIGEMT +#define SIGEMT SIGUNUSED +#endif /* signals in use */ #define DUMPSIG sigmask(SIGQUIT) --- applications/aufs/afpos.c.orig Sun Apr 17 09:04:58 1994 +++ applications/aufs/afpos.c Wed Apr 6 11:17:11 1994 @@ -91,6 +91,9 @@ # include # endif drsnx #endif xenix5 +#ifdef linux +#include +#endif linux #include #include #include --- applications/papif/papif.c.orig Wed Apr 6 06:45:19 1994 +++ applications/papif/papif.c Wed Apr 6 06:48:00 1994 @@ -49,7 +49,12 @@ #ifdef xenix5 # include #endif xenix5 - +#ifdef linux +#include +#endif +#ifndef SIGEMT +#define SIGEMT SIGUNUSED +#endif /* Configuration options */ #ifndef CAPPRINTERS --- lib/cap/atalkdbm.c.orig Wed Apr 6 06:31:27 1994 +++ lib/cap/atalkdbm.c Wed Apr 6 06:36:32 1994 @@ -25,6 +25,9 @@ #endif #include #include "atalkdbm.h" +#ifdef linux +#include "unistd.h" +#endif #ifndef TAB # define TAB "/etc/atalk.local" --- samples/lwpr.c.orig Thu Apr 14 09:19:56 1994 +++ samples/lwpr.c Thu Apr 14 09:21:33 1994 @@ -37,6 +37,9 @@ #ifdef xenix5 # include #endif xenix5 +#ifdef linux +#include +#endif #ifndef CAPPRINTERS # define CAPPRINTERS "/etc/cap.printers" --- applications/lwsrv/procset.c.orig Wed Apr 6 06:43:33 1994 +++ applications/lwsrv/procset.c Wed Apr 6 06:44:15 1994 @@ -48,6 +48,9 @@ #ifdef xenix5 # include #endif xenix5 +#ifdef linux +# include +#endif linux #include "procset.h" #include "spmisc.h"