@@ -1,4 +1,31 @@
libmon_s.a
+_alarm.c
+_ftime.c
+_gtty.c
+_pause.c
+_gettimday.s
+_open.s
+_sigpause.s
+_brk.s
+_fork.s
+_unlink.s
+_close.s
+_fstat.s
+_ioctl.s
+_pipe.s
+_wait.s
+_dup2.s
+_kill.s
+_read.s
+_write.s
+_execl.s
+_getpid.s
+_link.s
+_setitimer.s
+_execve.s
+_getrusage.s
+_lseek.s
+_sigblock.s
accept.s
access.s
acct.s
@@ -0,0 +1,13 @@
+unsigned
+_alarm(n)
+ unsigned n;
+{
+ struct { long l1,l2,l3,l4; } t1,t2;
+ t1.l1 = 0;
+ t1.l2 = 0;
+ t1.l4 = 0;
+ t1.l3 = n;
+ if (_setitimer(0,&t1,&t2) < 0) return -1;
+ if (t2.l4) t2.l3++;
+ return t2.l3;
+}
@@ -0,0 +1,28 @@
+#include "syscall.h"
+DEFINE(__brk)
+ cmpl 4(ap),Imin
+ bgeq Iok
+ movl Imin,4(ap)
+Iok:
+ chmk $17
+ bcs Ierr
+ movl 4(ap),Icur
+ clrl r0
+ ret
+Ierr:
+ jmp cerror
+
+DEFINE(__sbrk)
+ addl3 Icur,4(ap),-(sp)
+ pushl $1
+ movl ap,r3
+ movl sp,ap
+ movl Icur,r0
+ addl2 4(r3),Icur
+.sect .data
+Imin: .data4 endbss
+Icur: .data4 endbss
@@ -0,0 +1,3 @@
+DEFINE(__close)
+SYSTEM(SYS_close)
+DEFINE(__dup2)
+SYSTEM(SYS_dup2)
@@ -0,0 +1,8 @@
+.extern _environ
+DEFINE(__execl)
+ pushl _environ
+ pushab 8(ap)
+ pushl 4(ap)
+ calls $3,__execve
+DEFINE(__execve)
+SYSTEM(SYS_execve)
@@ -0,0 +1,10 @@
+DEFINE(__fork)
+ chmk $SYS_fork
+ blbc r1,Iparent
+Iparent:
+DEFINE(__fstat)
+SYSTEM(SYS_fstat)
@@ -0,0 +1,15 @@
+#include <sys/types.h>
+_ftime(p)
+ struct { time_t time; unsigned short millitm;
+ short timezone; short dstflag; } *p;
+ struct { long l1,l2; } t1,t2;
+ if (_gettimeofday(&t1,&t2) < 0) return -1;
+ p->time = t1.l1;
+ p->millitm = t1.l2/1000;
+ p->dstflag = t2.l2;
+ p->timezone = t2.l1;
+ return 0;
+DEFINE(__getpid)
+SYSTEM(SYS_getpid)
+DEFINE(__getrusage)
+SYSTEM(SYS_getrusage)
+DEFINE(__gettimeofday)
+SYSTEM(SYS_gettimeofday)
+#include <sgtty.h>
+int
+_gtty(fildes,argp)
+ int fildes ;
+ struct sgttyb *argp ;
+ return ioctl(fildes,TIOCGETP,argp) ;
+DEFINE(__ioctl)
+SYSTEM(SYS_ioctl)
+DEFINE(__kill)
+SYSTEM(SYS_kill)
+DEFINE(__link)
+SYSTEM(SYS_link)
+DEFINE(__lseek)
+SYSTEM(SYS_lseek)
+DEFINE(__open)
+SYSTEM(SYS_open)
+_pause() {
+ _sigpause(_sigblock());
+DEFINE(__pipe)
+SYSNORET(SYS_pipe)
+ movl 4(ap),r2
+ movl r0,(r2)+
+ movl r1,(r2)
+DEFINE(__read)
+SYSTEM(SYS_read)
+DEFINE(__setitimer)
+SYSTEM(SYS_setitimer)
+DEFINE(__sigblock)
+SYSTEM(SYS_sigblock)
+DEFINE(__sigpause)
+SYSTEM(SYS_sigpause)
+DEFINE(__unlink)
+SYSTEM(SYS_unlink)
+DEFINE(__wait)
+SYSNORET(SYS_wait)
+ tstl 4(ap)
+ beql Iout
+ movl r1,*4(ap)
+Iout:
+DEFINE(__write)
+SYSTEM(SYS_write)
@@ -1,5 +1,6 @@
#include <sgtty.h>
-int gtty(fildes,argp)
+gtty(fildes,argp)
int fildes ;
struct sgttyb *argp ;
{