ast@cs.vu.nl (Andy Tanenbaum) (06/28/88)
: This is a shar archive. Extract with sh, not csh. : This archive ends with exit, so do not worry about trailing junk. : --------------------------- cut here -------------------------- PATH=/bin:/usr/bin:/usr/ucb echo Extracting 'LISTING' sed 's/^X//' > 'LISTING' << '+ END-OF-FILE ''LISTING' Xtotal 12 X-rw-r--r-- 1 ast 0 Jun 27 22:43 LISTING X-rw-r--r-- 1 ast 249 Jun 27 22:42 callnr.h.diff X-rw-r--r-- 1 ast 5669 Jun 27 22:42 com.h.diff X-rw-r--r-- 1 ast 908 Jun 27 22:42 const.h.diff X-rw-r--r-- 1 ast 119 Jun 27 22:43 h.log X-rw-r--r-- 1 ast 522 Jun 27 22:42 sgtty.h.diff X-rw-r--r-- 1 ast 94 Jun 27 22:42 signal.h.diff X-rw-r--r-- 1 ast 292 Jun 27 22:43 type.h.diff + END-OF-FILE LISTING chmod 'u=rw,g=r,o=r' 'LISTING' set `wc -c 'LISTING'` count=$1 case $count in 460) :;; *) echo 'Bad character count in ''LISTING' >&2 echo 'Count should be 460' >&2 esac echo Extracting 'callnr.h.diff' sed 's/^X//' > 'callnr.h.diff' << '+ END-OF-FILE ''callnr.h.diff' X1c1 X< #define NCALLS 69 /* number of system calls allowed */ X--- X> #define NCALLS 70 /* number of system calls allowed */ X50a51,53 X> X> /* The following IS a system call for amoeba transactions */ X> #define AM_SYSCALL 69 + END-OF-FILE callnr.h.diff chmod 'u=rw,g=r,o=r' 'callnr.h.diff' set `wc -c 'callnr.h.diff'` count=$1 case $count in 249) :;; *) echo 'Bad character count in ''callnr.h.diff' >&2 echo 'Count should be 249' >&2 esac echo Extracting 'com.h.diff' sed 's/^X//' > 'com.h.diff' << '+ END-OF-FILE ''com.h.diff' X8d7 X< #define HARDWARE -1 /* used as source on interrupt generated msgs */ X9a9,73 X> #define TTY -NR_TASKS /* terminal I/O class */ X> # define TTY_CHAR_INT 1 /* fcn code for tty input interrupt */ X> # define TTY_O_DONE 2 /* fcn code for tty output done */ X> # define TTY_READ 3 /* fcn code for reading from tty */ X> # define TTY_WRITE 4 /* fcn code for writing to tty */ X> # define TTY_IOCTL 5 /* fcn code for ioctl */ X> # define TTY_SETPGRP 6 /* fcn code for setpgrp */ X> # define SUSPEND -998 /* used in interrupts when tty has no data */ X> X> #ifdef AM_KERNEL X> #define AMOEBA X> #endif X> X> #ifdef AMOEBA X> X> /* there are AM_NTASK copies of the amoeba kernel task. X> ** If you change AM_NTASKS be sure to adjust kernel/table.c and fs/table.c X> */ X> #define AM_NTASKS 4 /* number of kernel tasks of this class */ X> X> #define AMINT_CLASS (TTY+1) /* Amoeba event handler */ X> #define AMOEBA_CLASS (AMINT_CLASS+AM_NTASKS) /* transaction handlers */ X> # define ETHER_ARRIV 1 /* fcn code for packet arrival */ X> # define AM_TRANS 2 /* amoeba transaction */ X> # define AM_GETREQ 3 /* amoeba getrequest */ X> # define AM_PUTREP 4 /* amoeba putrep */ X> # define AM_REVIVE 6 /* used by kernel task to revive luser task */ X> # define AM_TIMEOUT 8 /* used to talk to clock task */ X> # define AM_PUTSIG 9 /* when the luser hits the DEL ! */ X> # define AM_TASK_DIED 10 /* sent if task died during a transaction */ X> X> #else X> X> #define AMOEBA_CLASS TTY X> X> #endif AMOEBA X> X> /* X> ** New class definitions should go here and should be defined relative X> ** to AMOEBA_CLASS (ie. as AMOEBA_CLASS+n, for the nth task added). X> */ X> X> #define PRINTER -7 /* printer I/O class */ X> /* the printer uses the same commands as TTY */ X> X> #define WINCHESTER -6 /* winchester (hard) disk class */ X> #define FLOPPY -5 /* floppy disk class */ X> # define DISKINT 1 /* fcn code for disk interrupt */ X> # define DISK_READ 3 /* fcn code to DISK (must equal TTY_READ) */ X> # define DISK_WRITE 4 /* fcn code to DISK (must equal TTY_WRITE) */ X> # define DISK_IOCTL 5 /* fcn code for setting up RAM disk */ X> X> #define MEM -4 /* /dev/ram, /dev/(k)mem and /dev/null class */ X> # define RAM_DEV 0 /* minor device for /dev/ram */ X> # define MEM_DEV 1 /* minor device for /dev/mem */ X> # define KMEM_DEV 2 /* minor device for /dev/kmem */ X> # define NULL_DEV 3 /* minor device for /dev/null */ X> X> #define CLOCK -3 /* clock class */ X> # define SET_ALARM 1 /* fcn code to CLOCK, set up alarm */ X> # define CLOCK_TICK 2 /* fcn code for clock tick */ X> # define GET_TIME 3 /* fcn code to CLOCK, get real time */ X> # define SET_TIME 4 /* fcn code to CLOCK, set real time */ X> # define REAL_TIME 1 /* reply from CLOCK: here is real time */ X> X19a84,85 X> # define SYS_FRESH 10 /* fcn code for sys_fresh() (Atari only) */ X> # define SYS_KILL 11 /* fcn code for sys_kill(proc, sig) */ X21,26c87 X< #define CLOCK -3 /* clock class */ X< # define SET_ALARM 1 /* fcn code to CLOCK, set up alarm */ X< # define CLOCK_TICK 2 /* fcn code for clock tick */ X< # define GET_TIME 3 /* fcn code to CLOCK, get real time */ X< # define SET_TIME 4 /* fcn code to CLOCK, set real time */ X< # define REAL_TIME 1 /* reply from CLOCK: here is real time */ X--- X> #define HARDWARE -1 /* used as source on interrupt generated msgs */ X28,49d88 X< #define MEM -4 /* /dev/ram, /dev/(k)mem and /dev/null class */ X< # define RAM_DEV 0 /* minor device for /dev/ram */ X< # define MEM_DEV 1 /* minor device for /dev/mem */ X< # define KMEM_DEV 2 /* minor device for /dev/kmem */ X< # define NULL_DEV 3 /* minor device for /dev/null */ X< X< #define FLOPPY -5 /* floppy disk class */ X< #define WINCHESTER -6 /* winchester (hard) disk class */ X< # define DISKINT 1 /* fcn code for disk interupt */ X< # define DISK_READ 3 /* fcn code to DISK (must equal TTY_READ) */ X< # define DISK_WRITE 4 /* fcn code to DISK (must equal TTY_WRITE) */ X< # define DISK_IOCTL 5 /* fcn code for setting up RAM disk */ X< X< #define TTY -7 /* terminal I/O class */ X< #define PRINTER -8 /* printer I/O class */ X< # define TTY_CHAR_INT 1 /* fcn code for tty input interrupt */ X< # define TTY_O_DONE 2 /* fcn code for tty output done */ X< # define TTY_READ 3 /* fcn code for reading from tty */ X< # define TTY_WRITE 4 /* fcn code for writing to tty */ X< # define TTY_IOCTL 5 /* fcn code for ioctl */ X< # define SUSPEND -998 /* used in interrupts when tty has no data */ X< X65a105 X> #define TTY_SPEED m2_i2 /* low byte = input speed, next byte = output*/ X68a109 X> #define TTY_PGRP m2_i3 /* message parameter: process group */ X87c128 X< #define CHILD_STIME m4_l4 /* system time consumed by proces children */ X--- X> #define CHILD_STIME m4_l4 /* sys time consumed by process' children */ X98a140,154 X> X> #ifdef AMOEBA X> X> /* names of message fields for amoeba tasks */ X> #define AM_OP m2_i1 /* one of the above operators */ X> #define AM_PROC_NR m2_i2 /* process # of proc doing operation */ X> #define AM_COUNT m2_i3 /* size of buffer for operation */ X> #define AM_ADDRESS m2_p1 /* address of buffer for operation */ X> /* for communication between MM and AMOEBA_CLASS kernel tasks */ X> #define AM_STATUS m2_i3 /* same use as REP_STATUS but for amoeba */ X> #define AM_FREE_IT m2_l1 /* 1=not a getreq, 0=is a getreq */ X> /* and a special for passing a physical address from the ethernet driver */ X> #define AM_PADDR m2_l1 /* to the transaction layer */ X> X> #endif AMOEBA + END-OF-FILE com.h.diff chmod 'u=rw,g=r,o=r' 'com.h.diff' set `wc -c 'com.h.diff'` count=$1 case $count in 5669) :;; *) echo 'Bad character count in ''com.h.diff' >&2 echo 'Count should be 5669' >&2 esac echo Extracting 'const.h.diff' sed 's/^X//' > 'const.h.diff' << '+ END-OF-FILE ''const.h.diff' X9a10,15 X> #ifndef i8088 X> #ifndef ATARI_ST X> #Either_i8088_or_ATARI_ST_must_be_defined X> #endif X> #endif X> X13c19 X< #define FORWARD /* some compilers require this to be 'static' */ X--- X> #define FORWARD /* some compilers require this to be 'static' */ X24a31,33 X> #ifdef AM_KERNEL X> #define NR_TASKS 13 /* must be 5 more than without amoeba */ X> #else X25a35 X> #endif X34a45 X> #ifdef i8088 X36a48,52 X> #endif X> #ifdef ATARI_ST X> #define CLICK_SIZE 256 /* unit in which memory is allocated */ X> #define CLICK_SHIFT 8 /* log2 of CLICK_SIZE */ X> #endif X49a66 X> #ifndef ATARI_ST X50a68 X> #endif X52c70 X< #define WORD_SIZE 2 /* number of bytes per word */ X--- X> #define WORD_SIZE 2 /* number of bytes per word */ X59c77 X< #define MAX_ISTACK_BYTES 1024 /* maximum initial stack size for EXEC */ X--- X> #define MAX_ISTACK_BYTES 2048 /* maximum initial stack size for EXEC */ + END-OF-FILE const.h.diff chmod 'u=rw,g=r,o=r' 'const.h.diff' set `wc -c 'const.h.diff'` count=$1 case $count in 908) :;; *) echo 'Bad character count in ''const.h.diff' >&2 echo 'Count should be 908' >&2 esac echo Extracting 'sgtty.h.diff' sed 's/^X//' > 'sgtty.h.diff' << '+ END-OF-FILE ''sgtty.h.diff' X20c20 X< /* Fields in t_flags. */ X--- X> /* Field names */ X21a22,27 X> #define BITS8 0001400 /* 8 bits/char */ X> #define BITS7 0001000 /* 7 bits/char */ X> #define BITS6 0000400 /* 6 bits/char */ X> #define BITS5 0000000 /* 5 bits/char */ X> #define EVENP 0000200 /* even parity */ X> #define ODDP 0000100 /* odd parity */ X26a33,40 X> X> /* Line speeds */ X> #define B110 1 X> #define B300 3 X> #define B1200 12 X> #define B2400 24 X> #define B4800 48 X> #define B9600 96 + END-OF-FILE sgtty.h.diff chmod 'u=rw,g=r,o=r' 'sgtty.h.diff' set `wc -c 'sgtty.h.diff'` count=$1 case $count in 522) :;; *) echo 'Bad character count in ''sgtty.h.diff' >&2 echo 'Count should be 522' >&2 esac echo Extracting 'signal.h.diff' sed 's/^X//' > 'signal.h.diff' << '+ END-OF-FILE ''signal.h.diff' X1d0 X< #define NR_SIGS 16 /* number of signals used */ X20a20 X> #define NR_SIGS NSIG + END-OF-FILE signal.h.diff chmod 'u=rw,g=r,o=r' 'signal.h.diff' set `wc -c 'signal.h.diff'` count=$1 case $count in 94) :;; *) echo 'Bad character count in ''signal.h.diff' >&2 echo 'Count should be 94' >&2 esac echo Extracting 'type.h.diff' sed 's/^X//' > 'type.h.diff' << '+ END-OF-FILE ''type.h.diff' X30c30 X< typedef long real_time; /* real time in seconds since Jan 1, 1980 */ X--- X> typedef long real_time; /* real time in seconds since Jan 1, 1970 */ X35a36 X> #ifdef i8088 X36a38,41 X> #endif X> #ifdef ATARI_ST X> typedef long vir_bytes; /* virtual addresses and lengths in bytes */ X> #endif + END-OF-FILE type.h.diff chmod 'u=rw,g=r,o=r' 'type.h.diff' set `wc -c 'type.h.diff'` count=$1 case $count in 292) :;; *) echo 'Bad character count in ''type.h.diff' >&2 echo 'Count should be 292' >&2 esac exit 0