Initial revision
authorceriel <none@none>
Tue, 6 Oct 1987 16:39:14 +0000 (16:39 +0000)
committerceriel <none@none>
Tue, 6 Oct 1987 16:39:14 +0000 (16:39 +0000)
94 files changed:
mach/xenix3/.distr [new file with mode: 0644]
mach/xenix3/Action [new file with mode: 0644]
mach/xenix3/libsys/.distr [new file with mode: 0644]
mach/xenix3/libsys/LIST [new file with mode: 0644]
mach/xenix3/libsys/Makefile [new file with mode: 0644]
mach/xenix3/libsys/_exit.s [new file with mode: 0644]
mach/xenix3/libsys/_pipe.s [new file with mode: 0644]
mach/xenix3/libsys/_profil.s [new file with mode: 0644]
mach/xenix3/libsys/_sdget.s [new file with mode: 0644]
mach/xenix3/libsys/_stime.s [new file with mode: 0644]
mach/xenix3/libsys/_time.s [new file with mode: 0644]
mach/xenix3/libsys/_wait.s [new file with mode: 0644]
mach/xenix3/libsys/access.s [new file with mode: 0644]
mach/xenix3/libsys/acct.s [new file with mode: 0644]
mach/xenix3/libsys/alarm.s [new file with mode: 0644]
mach/xenix3/libsys/brk.s [new file with mode: 0644]
mach/xenix3/libsys/chdir.s [new file with mode: 0644]
mach/xenix3/libsys/chmod.s [new file with mode: 0644]
mach/xenix3/libsys/chown.s [new file with mode: 0644]
mach/xenix3/libsys/chroot.s [new file with mode: 0644]
mach/xenix3/libsys/cleanup.c [new file with mode: 0644]
mach/xenix3/libsys/close.s [new file with mode: 0644]
mach/xenix3/libsys/compmodule [new file with mode: 0755]
mach/xenix3/libsys/creat.s [new file with mode: 0644]
mach/xenix3/libsys/creatsem.s [new file with mode: 0644]
mach/xenix3/libsys/dup.c [new file with mode: 0644]
mach/xenix3/libsys/dup2.c [new file with mode: 0644]
mach/xenix3/libsys/execl.c [new file with mode: 0644]
mach/xenix3/libsys/execle.c [new file with mode: 0644]
mach/xenix3/libsys/execv.c [new file with mode: 0644]
mach/xenix3/libsys/execve.s [new file with mode: 0644]
mach/xenix3/libsys/exit.c [new file with mode: 0644]
mach/xenix3/libsys/fcntl.s [new file with mode: 0644]
mach/xenix3/libsys/fork.s [new file with mode: 0644]
mach/xenix3/libsys/fstat.s [new file with mode: 0644]
mach/xenix3/libsys/ftime.s [new file with mode: 0644]
mach/xenix3/libsys/getegid.s [new file with mode: 0644]
mach/xenix3/libsys/geteuid.s [new file with mode: 0644]
mach/xenix3/libsys/getgid.s [new file with mode: 0644]
mach/xenix3/libsys/getpgrp.s [new file with mode: 0644]
mach/xenix3/libsys/getpid.s [new file with mode: 0644]
mach/xenix3/libsys/getppid.s [new file with mode: 0644]
mach/xenix3/libsys/getuid.s [new file with mode: 0644]
mach/xenix3/libsys/gtty.c [new file with mode: 0644]
mach/xenix3/libsys/head_em.s [new file with mode: 0644]
mach/xenix3/libsys/ioctl.s [new file with mode: 0644]
mach/xenix3/libsys/kill.s [new file with mode: 0644]
mach/xenix3/libsys/link.s [new file with mode: 0644]
mach/xenix3/libsys/lock.s [new file with mode: 0644]
mach/xenix3/libsys/locking.s [new file with mode: 0644]
mach/xenix3/libsys/lseek.s [new file with mode: 0644]
mach/xenix3/libsys/mknod.s [new file with mode: 0644]
mach/xenix3/libsys/mount.s [new file with mode: 0644]
mach/xenix3/libsys/nap.s [new file with mode: 0644]
mach/xenix3/libsys/nbwaitsem.s [new file with mode: 0644]
mach/xenix3/libsys/nice.s [new file with mode: 0644]
mach/xenix3/libsys/open.s [new file with mode: 0644]
mach/xenix3/libsys/opensem.s [new file with mode: 0644]
mach/xenix3/libsys/pause.s [new file with mode: 0644]
mach/xenix3/libsys/pipe.c [new file with mode: 0644]
mach/xenix3/libsys/profil.c [new file with mode: 0644]
mach/xenix3/libsys/ptrace.s [new file with mode: 0644]
mach/xenix3/libsys/rdchk.s [new file with mode: 0644]
mach/xenix3/libsys/read.s [new file with mode: 0644]
mach/xenix3/libsys/sbrk.s [new file with mode: 0644]
mach/xenix3/libsys/sdenter.s [new file with mode: 0644]
mach/xenix3/libsys/sdfree.s [new file with mode: 0644]
mach/xenix3/libsys/sdget.c [new file with mode: 0644]
mach/xenix3/libsys/sdgetv.s [new file with mode: 0644]
mach/xenix3/libsys/sdleave.s [new file with mode: 0644]
mach/xenix3/libsys/sdwaitv.s [new file with mode: 0644]
mach/xenix3/libsys/setgid.s [new file with mode: 0644]
mach/xenix3/libsys/setuid.s [new file with mode: 0644]
mach/xenix3/libsys/shutdn.s [new file with mode: 0644]
mach/xenix3/libsys/signal.s [new file with mode: 0644]
mach/xenix3/libsys/sigsem.s [new file with mode: 0644]
mach/xenix3/libsys/stat.s [new file with mode: 0644]
mach/xenix3/libsys/stime.c [new file with mode: 0644]
mach/xenix3/libsys/stty.c [new file with mode: 0644]
mach/xenix3/libsys/sync.s [new file with mode: 0644]
mach/xenix3/libsys/sys.s [new file with mode: 0644]
mach/xenix3/libsys/time.c [new file with mode: 0644]
mach/xenix3/libsys/times.s [new file with mode: 0644]
mach/xenix3/libsys/ulimit.s [new file with mode: 0644]
mach/xenix3/libsys/umask.s [new file with mode: 0644]
mach/xenix3/libsys/umount.s [new file with mode: 0644]
mach/xenix3/libsys/uname.s [new file with mode: 0644]
mach/xenix3/libsys/unlink.s [new file with mode: 0644]
mach/xenix3/libsys/ustat.s [new file with mode: 0644]
mach/xenix3/libsys/utime.s [new file with mode: 0644]
mach/xenix3/libsys/wait.c [new file with mode: 0644]
mach/xenix3/libsys/waitsem.s [new file with mode: 0644]
mach/xenix3/libsys/write.s [new file with mode: 0644]
mach/xenix3/libsys/xdup.s [new file with mode: 0644]

diff --git a/mach/xenix3/.distr b/mach/xenix3/.distr
new file mode 100644 (file)
index 0000000..f15502b
--- /dev/null
@@ -0,0 +1,3 @@
+Action
+cv
+libsys
diff --git a/mach/xenix3/Action b/mach/xenix3/Action
new file mode 100644 (file)
index 0000000..e6d93e5
--- /dev/null
@@ -0,0 +1,6 @@
+name "Xenix 3.0 8086 systemcall library"
+dir libsys
+end
+name "Xenix 3.0 conversion program from ack.out --> Xenix 3.0 a.out"
+dir cv
+end
diff --git a/mach/xenix3/libsys/.distr b/mach/xenix3/libsys/.distr
new file mode 100644 (file)
index 0000000..c6828c5
--- /dev/null
@@ -0,0 +1,5 @@
+LIST
+Makefile
+compmodule
+libmon_s.a
+head_em.s
diff --git a/mach/xenix3/libsys/LIST b/mach/xenix3/libsys/LIST
new file mode 100644 (file)
index 0000000..ccfa5a1
--- /dev/null
@@ -0,0 +1,88 @@
+libmon_s.a
+exit.c
+cleanup.c
+stty.c
+gtty.c
+dup.c
+dup2.c
+execl.c
+execle.c
+execv.c
+pipe.c
+profil.c
+sdget.c
+stime.c
+time.c
+wait.c
+_exit.s
+_pipe.s
+_profil.s
+_sdget.s
+_stime.s
+_time.s
+_wait.s
+access.s
+acct.s
+alarm.s
+brk.s
+chdir.s
+chmod.s
+chown.s
+chroot.s
+close.s
+creat.s
+creatsem.s
+execve.s
+fcntl.s
+fork.s
+fstat.s
+ftime.s
+getegid.s
+geteuid.s
+getgid.s
+getpgrp.s
+getpid.s
+getppid.s
+getuid.s
+ioctl.s
+kill.s
+link.s
+lock.s
+locking.s
+lseek.s
+mknod.s
+mount.s
+nap.s
+nbwaitsem.s
+nice.s
+open.s
+opensem.s
+pause.s
+ptrace.s
+rdchk.s
+read.s
+sbrk.s
+sdenter.s
+sdfree.s
+sdgetv.s
+sdleave.s
+sdwaitv.s
+setgid.s
+setuid.s
+shutdn.s
+signal.s
+sigsem.s
+stat.s
+sync.s
+sys.s
+times.s
+ulimit.s
+umask.s
+umount.s
+uname.s
+unlink.s
+ustat.s
+utime.s
+waitsem.s
+write.s
+xdup.s
diff --git a/mach/xenix3/libsys/Makefile b/mach/xenix3/libsys/Makefile
new file mode 100644 (file)
index 0000000..0e96ab7
--- /dev/null
@@ -0,0 +1,27 @@
+# $Header$
+MACH=xenix3.0
+all:           libmon_o.a head_em.o
+
+install:       all
+               ../../install libmon_o.a tail_mon
+               ../../install head_em.o head_em
+
+cmp:           all
+               -../../compare libmon_o.a tail_mon
+               -../../compare head_em.o head_em
+
+libmon_o.a:    libmon_s.a
+               ASAR=aal ; export ASAR ;\
+               march . libmon_o.a
+
+head_em.o:     head_em.s
+               $(MACH) -O -c head_em.s
+clean:
+               rm -f *.o libmon_o.a
+
+opr :
+               make pr | opr
+
+pr:
+               @pr `pwd`/head_em.s
+               @arch pv libmon_s.a | pr -h `pwd`/libmon_s.a
diff --git a/mach/xenix3/libsys/_exit.s b/mach/xenix3/libsys/_exit.s
new file mode 100644 (file)
index 0000000..e832b7c
--- /dev/null
@@ -0,0 +1,10 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __exit
+.sect .text
+__exit:
+       mov     ax,1
+       push    bp
+       mov     bp,sp
+       mov     bx,4(bp)
+       call    syscal
+1:     jmp     1b
diff --git a/mach/xenix3/libsys/_pipe.s b/mach/xenix3/libsys/_pipe.s
new file mode 100644 (file)
index 0000000..e01d6c1
--- /dev/null
@@ -0,0 +1,13 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __pipe
+.sect .text
+__pipe:
+       mov     ax,42
+       call    syscal
+       mov     dx,bx
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+       cwd
+1:
+       ret
diff --git a/mach/xenix3/libsys/_profil.s b/mach/xenix3/libsys/_profil.s
new file mode 100644 (file)
index 0000000..b4d5a41
--- /dev/null
@@ -0,0 +1,13 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __profil
+.sect .text
+__profil:
+       mov     ax,44
+       mov     bx,sp
+       add     bx,2
+       call    syscal
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       ret
diff --git a/mach/xenix3/libsys/_sdget.s b/mach/xenix3/libsys/_sdget.s
new file mode 100644 (file)
index 0000000..df432a5
--- /dev/null
@@ -0,0 +1,22 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __sdget
+.sect .text
+__sdget:
+       mov     ax,3368
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     di,10(bp)
+       mov     si,8(bp)
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       pop     di
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       ret
diff --git a/mach/xenix3/libsys/_stime.s b/mach/xenix3/libsys/_stime.s
new file mode 100644 (file)
index 0000000..a37ba76
--- /dev/null
@@ -0,0 +1,16 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __stime
+.sect .text
+__stime:
+       mov     ax,25
+       push    bp
+       mov     bp,sp
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       pop     bp
+       ret
diff --git a/mach/xenix3/libsys/_time.s b/mach/xenix3/libsys/_time.s
new file mode 100644 (file)
index 0000000..bd083b3
--- /dev/null
@@ -0,0 +1,8 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __time
+.sect .text
+__time:
+       mov     ax,13
+       call    syscal
+       mov     dx,bx
+       ret
diff --git a/mach/xenix3/libsys/_wait.s b/mach/xenix3/libsys/_wait.s
new file mode 100644 (file)
index 0000000..274857b
--- /dev/null
@@ -0,0 +1,13 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __wait
+.sect .text
+__wait:
+       mov     ax,7
+       call    syscal
+       mov     dx,bx
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+       cwd
+1:
+       ret
diff --git a/mach/xenix3/libsys/access.s b/mach/xenix3/libsys/access.s
new file mode 100644 (file)
index 0000000..9dd3dc4
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _access
+.sect .text
+_access:
+       mov     ax,33
+       jmp     sysal
diff --git a/mach/xenix3/libsys/acct.s b/mach/xenix3/libsys/acct.s
new file mode 100644 (file)
index 0000000..79ccbb7
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _acct
+.sect .text
+_acct:
+       mov     ax,51
+       jmp     sysal
diff --git a/mach/xenix3/libsys/alarm.s b/mach/xenix3/libsys/alarm.s
new file mode 100644 (file)
index 0000000..f73e64a
--- /dev/null
@@ -0,0 +1,11 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _alarm
+.sect .text
+_alarm:
+       mov     ax,27
+       push    bp
+       mov     bp,sp
+       mov     bx,4(bp)
+       call    syscal
+       pop     bp
+       ret
diff --git a/mach/xenix3/libsys/brk.s b/mach/xenix3/libsys/brk.s
new file mode 100644 (file)
index 0000000..8da1330
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _brk
+.sect .text
+_brk:
+       mov     ax,17
+       jmp     sysal
diff --git a/mach/xenix3/libsys/chdir.s b/mach/xenix3/libsys/chdir.s
new file mode 100644 (file)
index 0000000..4cd5d03
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _chdir
+.sect .text
+_chdir:
+       mov     ax,12
+       jmp     sysal
diff --git a/mach/xenix3/libsys/chmod.s b/mach/xenix3/libsys/chmod.s
new file mode 100644 (file)
index 0000000..ff42264
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _chmod
+.sect .text
+_chmod:
+       mov     ax,15
+       jmp     sysal
diff --git a/mach/xenix3/libsys/chown.s b/mach/xenix3/libsys/chown.s
new file mode 100644 (file)
index 0000000..5a70257
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _chown
+.sect .text
+_chown:
+       mov     ax,16
+       jmp     sysal
diff --git a/mach/xenix3/libsys/chroot.s b/mach/xenix3/libsys/chroot.s
new file mode 100644 (file)
index 0000000..0d80321
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _chroot
+.sect .text
+_chroot:
+       mov     ax,61
+       jmp     sysal
diff --git a/mach/xenix3/libsys/cleanup.c b/mach/xenix3/libsys/cleanup.c
new file mode 100644 (file)
index 0000000..6cd9c63
--- /dev/null
@@ -0,0 +1 @@
+_cleanup() { }
diff --git a/mach/xenix3/libsys/close.s b/mach/xenix3/libsys/close.s
new file mode 100644 (file)
index 0000000..29f5c7f
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _close
+.sect .text
+_close:
+       mov     ax,6
+       jmp     sysal
diff --git a/mach/xenix3/libsys/compmodule b/mach/xenix3/libsys/compmodule
new file mode 100755 (executable)
index 0000000..12261b0
--- /dev/null
@@ -0,0 +1,4 @@
+if xenix3.0 -c $1 1>&2
+then echo `basename $1 $2`.o
+else exit 1
+fi
diff --git a/mach/xenix3/libsys/creat.s b/mach/xenix3/libsys/creat.s
new file mode 100644 (file)
index 0000000..7973355
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _creat
+.sect .text
+_creat:
+       mov     ax,8
+       jmp     sysal
diff --git a/mach/xenix3/libsys/creatsem.s b/mach/xenix3/libsys/creatsem.s
new file mode 100644 (file)
index 0000000..6205252
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _creatsem
+.sect .text
+_creatsem:
+       mov     ax,552
+       jmp     sysal
diff --git a/mach/xenix3/libsys/dup.c b/mach/xenix3/libsys/dup.c
new file mode 100644 (file)
index 0000000..a1dfc2a
--- /dev/null
@@ -0,0 +1,5 @@
+int
+dup(d)
+{
+       return __xdup(d, 0);
+}
diff --git a/mach/xenix3/libsys/dup2.c b/mach/xenix3/libsys/dup2.c
new file mode 100644 (file)
index 0000000..ba0513b
--- /dev/null
@@ -0,0 +1,6 @@
+int
+dup2(oldd, newd)
+{
+       oldd |= 64;
+       return __xdup(oldd, newd);
+}
diff --git a/mach/xenix3/libsys/execl.c b/mach/xenix3/libsys/execl.c
new file mode 100644 (file)
index 0000000..6fdcea3
--- /dev/null
@@ -0,0 +1,9 @@
+int
+execl(name,args)
+       char *name;
+       int args;
+{
+       extern char **environ;
+
+       return execve(name,&args,environ);
+}
diff --git a/mach/xenix3/libsys/execle.c b/mach/xenix3/libsys/execle.c
new file mode 100644 (file)
index 0000000..6de27d8
--- /dev/null
@@ -0,0 +1,10 @@
+int
+execle(name,args)
+       char *name;
+       char *args;
+{
+       char **p = &args;
+       while (*p++) ;
+
+       return execve(name,&args,*p);
+}
diff --git a/mach/xenix3/libsys/execv.c b/mach/xenix3/libsys/execv.c
new file mode 100644 (file)
index 0000000..748fec7
--- /dev/null
@@ -0,0 +1,8 @@
+int
+execv(name,args)
+       char *name;
+       char **args;
+{
+       extern char **environ;
+       return execve(name,args,environ);
+}
diff --git a/mach/xenix3/libsys/execve.s b/mach/xenix3/libsys/execve.s
new file mode 100644 (file)
index 0000000..e76acdf
--- /dev/null
@@ -0,0 +1,19 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _execve
+.sect .text
+_execve:
+       mov     ax,59
+       push    bp
+       mov     bp,sp
+       push    si
+       mov     si,8(bp)
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       pop     si
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       pop     bp
+       ret
diff --git a/mach/xenix3/libsys/exit.c b/mach/xenix3/libsys/exit.c
new file mode 100644 (file)
index 0000000..afd54b3
--- /dev/null
@@ -0,0 +1,5 @@
+exit(n)
+{
+       _cleanup();
+       _exit(n);
+}
diff --git a/mach/xenix3/libsys/fcntl.s b/mach/xenix3/libsys/fcntl.s
new file mode 100644 (file)
index 0000000..5db1821
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _fcntl
+.sect .text
+_fcntl:
+       mov     ax,62
+       jmp     sysal
diff --git a/mach/xenix3/libsys/fork.s b/mach/xenix3/libsys/fork.s
new file mode 100644 (file)
index 0000000..d26a614
--- /dev/null
@@ -0,0 +1,20 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _fork, _par_uid
+.sect .bss
+.comm  _par_uid, 2
+.sect .text
+_fork:
+       mov     ax,2
+       call    syscal
+       jb      1f
+       and     bx,bx
+       je      2f
+       ret
+1:
+       mov     (_errno),ax
+       mov     ax,-1
+       ret
+2:
+       mov     (_par_uid),ax
+       xor     ax,ax
+       ret
diff --git a/mach/xenix3/libsys/fstat.s b/mach/xenix3/libsys/fstat.s
new file mode 100644 (file)
index 0000000..d6dc31c
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _fstat
+.sect .text
+_fstat:
+       mov     ax,28
+       jmp     sysal
diff --git a/mach/xenix3/libsys/ftime.s b/mach/xenix3/libsys/ftime.s
new file mode 100644 (file)
index 0000000..479ac78
--- /dev/null
@@ -0,0 +1,12 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _ftime
+.sect .text
+_ftime:
+       mov     ax,2856
+       push    bp
+       mov     bp,sp
+       mov     bx,4(bp)
+       call    syscal
+       pop     bp
+       ret
+
diff --git a/mach/xenix3/libsys/getegid.s b/mach/xenix3/libsys/getegid.s
new file mode 100644 (file)
index 0000000..31bbdc6
--- /dev/null
@@ -0,0 +1,8 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _getegid
+.sect .text
+_getegid:
+       mov     ax,47
+       call    syscal
+       xchg    bx,ax
+       ret
diff --git a/mach/xenix3/libsys/geteuid.s b/mach/xenix3/libsys/geteuid.s
new file mode 100644 (file)
index 0000000..00380ae
--- /dev/null
@@ -0,0 +1,8 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _geteuid
+.sect .text
+_geteuid:
+       mov     ax,24
+       call    syscal
+       xchg    bx,ax
+       ret
diff --git a/mach/xenix3/libsys/getgid.s b/mach/xenix3/libsys/getgid.s
new file mode 100644 (file)
index 0000000..bff94b3
--- /dev/null
@@ -0,0 +1,7 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _getgid
+.sect .text
+_getgid:
+       mov     ax,47
+       call    syscal
+       ret
diff --git a/mach/xenix3/libsys/getpgrp.s b/mach/xenix3/libsys/getpgrp.s
new file mode 100644 (file)
index 0000000..c49f1bd
--- /dev/null
@@ -0,0 +1,10 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _getpgrp
+.sect .text
+_getpgrp:
+       xor     ax,ax
+       push    ax
+       mov     ax,39
+       call    syscal
+       pop     bx
+       ret
diff --git a/mach/xenix3/libsys/getpid.s b/mach/xenix3/libsys/getpid.s
new file mode 100644 (file)
index 0000000..de74931
--- /dev/null
@@ -0,0 +1,7 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _getpid
+.sect .text
+_getpid:
+       mov     ax,20
+       call    syscal
+       ret
diff --git a/mach/xenix3/libsys/getppid.s b/mach/xenix3/libsys/getppid.s
new file mode 100644 (file)
index 0000000..5d9a519
--- /dev/null
@@ -0,0 +1,8 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _getppid
+.sect .text
+_getppid:
+       mov     ax,20
+       call    syscal
+       xchg    bx,ax
+       ret
diff --git a/mach/xenix3/libsys/getuid.s b/mach/xenix3/libsys/getuid.s
new file mode 100644 (file)
index 0000000..c31405d
--- /dev/null
@@ -0,0 +1,7 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _getuid
+.sect .text
+_getuid:
+       mov     ax,24
+       call    syscal
+       ret
diff --git a/mach/xenix3/libsys/gtty.c b/mach/xenix3/libsys/gtty.c
new file mode 100644 (file)
index 0000000..b24c145
--- /dev/null
@@ -0,0 +1,5 @@
+gtty(fildes, arg)
+       char *arg;
+{
+       return ioctl(fildes, ('t' << 8) | 8, arg);
+}
diff --git a/mach/xenix3/libsys/head_em.s b/mach/xenix3/libsys/head_em.s
new file mode 100644 (file)
index 0000000..e6f4d31
--- /dev/null
@@ -0,0 +1,52 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+
+.define begtext,begdata,begbss
+.define hol0,.reghp,.limhp,.trppc,.ignmask
+.define ERANGE,ESET,EHEAP,ECASE,EILLINS,EIDIVZ,EODDZ
+.extern _end
+
+ERANGE          = 1
+ESET            = 2
+EIDIVZ          = 6
+EHEAP           = 17
+EILLINS         = 18
+EODDZ           = 19
+ECASE           = 20
+
+.sect .text
+begtext:
+       mov bx,sp
+       mov cx,(bx)
+       add bx,2
+       mov ax,cx
+       inc ax
+       shl ax,1
+       add ax,bx
+       push ax
+       push bx
+       push cx
+       xor bp,bp
+       call    _m_a_i_n
+       call    __exit
+.sect  .data
+begdata:
+hol0:
+       .data2   0,0
+       .data2   0,0
+argv:
+       .data2   3f
+envp:
+       .data2  0
+3:
+       .asciz "PROGRAM"
+.reghp:
+       .data2   endbss
+.limhp:
+       .data2   endbss
+.ignmask:
+       .data2   0
+.trppc:
+       .data2   0
+
+       .sect .bss
+begbss:
diff --git a/mach/xenix3/libsys/ioctl.s b/mach/xenix3/libsys/ioctl.s
new file mode 100644 (file)
index 0000000..2415916
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _ioctl
+.sect .text
+_ioctl:
+       mov     ax,54
+       jmp     sysal
diff --git a/mach/xenix3/libsys/kill.s b/mach/xenix3/libsys/kill.s
new file mode 100644 (file)
index 0000000..0396196
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _kill
+.sect .text
+_kill:
+       mov     ax,37
+       jmp     sysal
diff --git a/mach/xenix3/libsys/link.s b/mach/xenix3/libsys/link.s
new file mode 100644 (file)
index 0000000..6eaa1c2
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _link
+.sect .text
+_link:
+       mov     ax,9
+       jmp     sysal
diff --git a/mach/xenix3/libsys/lock.s b/mach/xenix3/libsys/lock.s
new file mode 100644 (file)
index 0000000..5b83f60
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _lock
+.sect .text
+_lock:
+       mov     ax,45
+       jmp     sysal
diff --git a/mach/xenix3/libsys/locking.s b/mach/xenix3/libsys/locking.s
new file mode 100644 (file)
index 0000000..a7e9e61
--- /dev/null
@@ -0,0 +1,23 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _locking
+.sect .text
+_locking:
+       mov     ax,296
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     di,10(bp)
+       mov     si,8(bp)
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       pop     di
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+       mov     dx,ax
+1:
+       ret
diff --git a/mach/xenix3/libsys/lseek.s b/mach/xenix3/libsys/lseek.s
new file mode 100644 (file)
index 0000000..7a8fba2
--- /dev/null
@@ -0,0 +1,25 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _lseek
+.sect .text
+_lseek:
+       mov     ax,19
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     di,10(bp)
+       mov     si,8(bp)
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       pop     di
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+       mov     dx,ax
+       ret
+1:
+       mov     dx,bx
+       ret
diff --git a/mach/xenix3/libsys/mknod.s b/mach/xenix3/libsys/mknod.s
new file mode 100644 (file)
index 0000000..dbf31c7
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _mknod
+.sect .text
+_mknod:
+       mov     ax,14
+       jmp     sysal
diff --git a/mach/xenix3/libsys/mount.s b/mach/xenix3/libsys/mount.s
new file mode 100644 (file)
index 0000000..d3a9131
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _mount
+.sect .text
+_mount:
+       mov     ax,21
+       jmp     sysal
diff --git a/mach/xenix3/libsys/nap.s b/mach/xenix3/libsys/nap.s
new file mode 100644 (file)
index 0000000..2908995
--- /dev/null
@@ -0,0 +1,19 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _nap
+.sect .text
+_nap:
+       mov     ax,3112
+       push    bp
+       mov     bp,sp
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+       mov     dx,ax
+       ret
+1:
+       mov     dx,bx
+       ret
diff --git a/mach/xenix3/libsys/nbwaitsem.s b/mach/xenix3/libsys/nbwaitsem.s
new file mode 100644 (file)
index 0000000..1474aa8
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _nbwaitsem
+.sect .text
+_nbwaitsem:
+       mov     ax,1576
+       jmp     sysal
diff --git a/mach/xenix3/libsys/nice.s b/mach/xenix3/libsys/nice.s
new file mode 100644 (file)
index 0000000..471abe9
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _nice
+.sect .text
+_nice:
+       mov     ax,34
+       jmp     sysal
diff --git a/mach/xenix3/libsys/open.s b/mach/xenix3/libsys/open.s
new file mode 100644 (file)
index 0000000..51862e9
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _open
+.sect .text
+_open:
+       mov     ax,5
+       jmp     sysal
diff --git a/mach/xenix3/libsys/opensem.s b/mach/xenix3/libsys/opensem.s
new file mode 100644 (file)
index 0000000..35b894e
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _opensem
+.sect .text
+_opensem:
+       mov     ax,808
+       jmp     sysal
diff --git a/mach/xenix3/libsys/pause.s b/mach/xenix3/libsys/pause.s
new file mode 100644 (file)
index 0000000..33eff0c
--- /dev/null
@@ -0,0 +1,11 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _pause
+.sect .text
+_pause:
+       mov     ax,29
+       call    syscal
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       ret
diff --git a/mach/xenix3/libsys/pipe.c b/mach/xenix3/libsys/pipe.c
new file mode 100644 (file)
index 0000000..fa38108
--- /dev/null
@@ -0,0 +1,14 @@
+long _pipe();
+
+int
+pipe(f)
+       int f[2];
+{
+       long x;
+
+       x = _pipe();
+       if (x == -1) return -1;
+       f[0] = x;
+       f[1] = x >> 16;
+       return 0;
+}
diff --git a/mach/xenix3/libsys/profil.c b/mach/xenix3/libsys/profil.c
new file mode 100644 (file)
index 0000000..f20e10c
--- /dev/null
@@ -0,0 +1,6 @@
+profil(buff, bufsiz, offset, scale)
+       char *buff;
+       int (*offset)();
+{
+       _profil(buff, bufsiz, offset, scale, 7262);
+}
diff --git a/mach/xenix3/libsys/ptrace.s b/mach/xenix3/libsys/ptrace.s
new file mode 100644 (file)
index 0000000..b7fb139
--- /dev/null
@@ -0,0 +1,23 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _ptrace
+.sect .text
+_ptrace:
+       mov     ax,26
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     di,4(bp)
+       mov     si,8(bp)
+       mov     cx,6(bp)
+       mov     bx,10(bp)
+       mov     (_errno),0
+       call    syscal
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       pop     di
+       pop     si
+       pop     bp
+       ret
diff --git a/mach/xenix3/libsys/rdchk.s b/mach/xenix3/libsys/rdchk.s
new file mode 100644 (file)
index 0000000..20b524e
--- /dev/null
@@ -0,0 +1,15 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _rdchk
+.sect .text
+_rdchk:
+       mov     ax,1832
+       push    bp
+       mov     bp,sp
+       mov     bx,4(bp)
+       call    syscal
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       pop     bp
+       ret
diff --git a/mach/xenix3/libsys/read.s b/mach/xenix3/libsys/read.s
new file mode 100644 (file)
index 0000000..d194f68
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _read
+.sect .text
+_read:
+       mov     ax,3
+       jmp     sysal
diff --git a/mach/xenix3/libsys/sbrk.s b/mach/xenix3/libsys/sbrk.s
new file mode 100644 (file)
index 0000000..9389ff6
--- /dev/null
@@ -0,0 +1,22 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _sbrk
+.sect .text
+_sbrk:
+       push    bp
+       mov     bp,sp
+       push    ds
+       mov     ax,4(bp)
+       cwd
+       push    dx
+       push    ax
+       mov     ax,1
+       push    ax
+       call    __brkctl
+       add     sp,8
+       pop     bp
+       ret
+
+
+__brkctl:
+       mov     ax,4904
+       jmp     sysal
diff --git a/mach/xenix3/libsys/sdenter.s b/mach/xenix3/libsys/sdenter.s
new file mode 100644 (file)
index 0000000..fbf5a12
--- /dev/null
@@ -0,0 +1,20 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _sdenter
+.sect .text
+_sdenter:
+       mov     ax,3880
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       pop     di
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       ret
diff --git a/mach/xenix3/libsys/sdfree.s b/mach/xenix3/libsys/sdfree.s
new file mode 100644 (file)
index 0000000..6ab5052
--- /dev/null
@@ -0,0 +1,19 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _sdfree
+.sect .text
+_sdfree:
+       mov     ax,3624
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     bx,4(bp)
+       call    syscal
+       pop     di
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       ret
diff --git a/mach/xenix3/libsys/sdget.c b/mach/xenix3/libsys/sdget.c
new file mode 100644 (file)
index 0000000..36b914f
--- /dev/null
@@ -0,0 +1,19 @@
+char *
+sdget(path, flags, size, mode)
+       char *path;
+       long size;
+{
+       if ((flags  & 2) == 2) {
+               if (size > 0) {
+                       extern char *_sdget();
+
+                       if (size >= 0x10000L) {
+                               extern int errno;
+
+                               errno = 22;
+                               return (char *) -1;
+                       }
+               }
+       }
+       return _sdget(path, flags, (unsigned) size - 1, mode);
+}
diff --git a/mach/xenix3/libsys/sdgetv.s b/mach/xenix3/libsys/sdgetv.s
new file mode 100644 (file)
index 0000000..73c94b7
--- /dev/null
@@ -0,0 +1,19 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _sdgetv
+.sect .text
+_sdgetv:
+       mov     ax,4392
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     bx,4(bp)
+       call    syscal
+       pop     di
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       ret
diff --git a/mach/xenix3/libsys/sdleave.s b/mach/xenix3/libsys/sdleave.s
new file mode 100644 (file)
index 0000000..e1e83a5
--- /dev/null
@@ -0,0 +1,19 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _sdleave
+.sect .text
+_sdleave:
+       mov     ax,4136
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     bx,4(bp)
+       call    syscal
+       pop     di
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       ret
diff --git a/mach/xenix3/libsys/sdwaitv.s b/mach/xenix3/libsys/sdwaitv.s
new file mode 100644 (file)
index 0000000..c330d26
--- /dev/null
@@ -0,0 +1,20 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _sdwaitv
+.sect .text
+_sdwaitv:
+       mov     ax,4648
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       pop     di
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       ret
diff --git a/mach/xenix3/libsys/setgid.s b/mach/xenix3/libsys/setgid.s
new file mode 100644 (file)
index 0000000..f51b62f
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _setgid
+.sect .text
+_setgid:
+       mov     ax,46
+       jmp     sysal
diff --git a/mach/xenix3/libsys/setuid.s b/mach/xenix3/libsys/setuid.s
new file mode 100644 (file)
index 0000000..43d57bb
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _setuid
+.sect .text
+_setuid:
+       mov     ax,23
+       jmp     sysal
diff --git a/mach/xenix3/libsys/shutdn.s b/mach/xenix3/libsys/shutdn.s
new file mode 100644 (file)
index 0000000..ab64564
--- /dev/null
@@ -0,0 +1,14 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _shutdn
+.sect .text
+_shutdn:
+       mov     ax,40
+       push    bp
+       mov     bp,sp
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       mov     (_errno),ax
+       mov     ax,-1
+       pop     bp
+       ret
diff --git a/mach/xenix3/libsys/signal.s b/mach/xenix3/libsys/signal.s
new file mode 100644 (file)
index 0000000..30f7871
--- /dev/null
@@ -0,0 +1,123 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _signal
+.sect .text
+_signal:
+       push    bp
+       mov     bp,sp
+       push    si
+       push    di
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       cmp     bx,20
+       jae     1f
+       mov     ax,bx
+       add     bx,bx
+       push    table(bx)
+       mov     table(bx),cx
+       and     cx,cx
+       je      2f
+       cmp     cx,1
+       je      2f
+       add     bx,bx
+       lea     cx,tbl(bx)
+2:
+       mov     bx,ax
+       mov     ax,48
+       call    syscal
+       pop     bx
+       jb      4f
+       and     ax,ax
+       je      5f
+       cmp     ax,1
+       jne     6f
+5:
+       jmp     7f
+6:
+       xchg    ax,bx
+       jmp     7f
+1:
+       mov     ax,22
+4:
+       mov     (_errno),ax
+       mov     ax,-1
+7:
+       pop     di
+       pop     si
+       pop     bp
+       ret
+
+ctch:
+       push    bp
+       mov     bp,sp
+       push    ax
+       push    bx
+       push    cx
+       push    dx
+       push    si
+       push    di
+       mov     ax,2(bp)
+       sub     ax,tbl
+       shr     ax,1
+       push    ax
+       call    table(bx)
+       pop     di
+       pop     di
+       pop     si
+       pop     dx
+       pop     cx
+       pop     bx
+       pop     ax
+       pop     bp
+       add     sp,2
+       pop     (retadr)
+       pop     (dummy)
+       popf
+       jmp     (retadr)
+.sect .bss
+retadr: .space 2
+dummy: .space 2
+.sect .text
+tbl:
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+       call    ctch
+.align
+.sect .bss
+table:
+       .space 40
diff --git a/mach/xenix3/libsys/sigsem.s b/mach/xenix3/libsys/sigsem.s
new file mode 100644 (file)
index 0000000..e1bb816
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _sigsem
+.sect .text
+_sigsem:
+       mov     ax,1064
+       jmp     sysal
diff --git a/mach/xenix3/libsys/stat.s b/mach/xenix3/libsys/stat.s
new file mode 100644 (file)
index 0000000..9230528
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _stat
+.sect .text
+_stat:
+       mov     ax,18
+       jmp     sysal
diff --git a/mach/xenix3/libsys/stime.c b/mach/xenix3/libsys/stime.c
new file mode 100644 (file)
index 0000000..ce03130
--- /dev/null
@@ -0,0 +1,5 @@
+stime(p)
+       long *p;
+{
+       return _stime(*p);
+}
diff --git a/mach/xenix3/libsys/stty.c b/mach/xenix3/libsys/stty.c
new file mode 100644 (file)
index 0000000..84d37cc
--- /dev/null
@@ -0,0 +1,5 @@
+stty(fildes, arg)
+       char *arg;
+{
+       return ioctl(fildes, ('t' << 8) | 9, arg);
+}
diff --git a/mach/xenix3/libsys/sync.s b/mach/xenix3/libsys/sync.s
new file mode 100644 (file)
index 0000000..e53ad24
--- /dev/null
@@ -0,0 +1,7 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _sync
+.sect .text
+_sync:
+       mov     ax,36
+       call    syscal
+       ret
diff --git a/mach/xenix3/libsys/sys.s b/mach/xenix3/libsys/sys.s
new file mode 100644 (file)
index 0000000..dd65f49
--- /dev/null
@@ -0,0 +1,70 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define syscal, sysal, sysn, sysnl, sysnx, sysc, syse, cerror, _errno
+
+.sect .bss
+       .comm   _errno, 2
+
+.sect .text
+syscal:
+       int     5
+       ret
+
+sysal:
+       push    bp
+       mov     bp,sp
+       push    di
+       push    si
+       mov     di,10(bp)
+       mov     si,8(bp)
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       mov     dx,bx
+       pop     si
+       pop     di
+       pop     bp
+       jb      cerror
+       ret
+
+syse:
+       mov     bx,sp
+       add     bx,2
+       call    syscal
+cerror:
+       mov     (_errno),ax
+       mov     ax,-1
+       cwd
+       ret
+
+sysn:
+       mov     bx,sp
+       add     bx,2
+       call    syscal
+       jb      cerror
+       ret
+
+sysnl:
+       mov     bx,sp
+       add     bx,2
+       call    syscal
+       jb      cerror
+       mov     dx,bx
+       ret
+
+sysnx:
+       mov     bx,sp
+       add     bx,2
+       call    syscal
+       jb      cerror
+       xchg    bx,ax
+       ret
+
+sysc:
+       mov     bx,sp
+       add     bx,2
+       call    syscal
+       jb      cerror
+       xor     ax,ax
+       cbw
+       ret
+
diff --git a/mach/xenix3/libsys/time.c b/mach/xenix3/libsys/time.c
new file mode 100644 (file)
index 0000000..600b941
--- /dev/null
@@ -0,0 +1,11 @@
+long _time();
+
+long
+time(p)
+       long *p;
+{
+       long l = _time();
+       if (p) *p = l;
+
+       return l;
+}
diff --git a/mach/xenix3/libsys/times.s b/mach/xenix3/libsys/times.s
new file mode 100644 (file)
index 0000000..71c01b8
--- /dev/null
@@ -0,0 +1,19 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _times
+.sect .text
+_times:
+       mov     ax,43
+       push    bp
+       mov     bp,sp
+       mov     bx,4(bp)
+       call    syscal
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+       mov     dx,ax
+       pop     bp
+       ret
+1:
+       mov     dx,bx
+       pop     bp
+       ret
diff --git a/mach/xenix3/libsys/ulimit.s b/mach/xenix3/libsys/ulimit.s
new file mode 100644 (file)
index 0000000..8ae36e8
--- /dev/null
@@ -0,0 +1,22 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _ulimit
+.sect .text
+_ulimit:
+       mov     ax,63
+       push    bp
+       mov     bp,sp
+       push    si
+       mov     si,8(bp)
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       pop     si
+       pop     bp
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+       mov     dx,ax
+       ret
+1:
+       mov     dx,bx
+       ret
diff --git a/mach/xenix3/libsys/umask.s b/mach/xenix3/libsys/umask.s
new file mode 100644 (file)
index 0000000..ed10114
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _umask
+.sect .text
+_umask:
+       mov     ax,60
+       jmp     sysal
diff --git a/mach/xenix3/libsys/umount.s b/mach/xenix3/libsys/umount.s
new file mode 100644 (file)
index 0000000..0844b37
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _umount
+.sect .text
+_umount:
+       mov     ax,22
+       jmp     sysal
diff --git a/mach/xenix3/libsys/uname.s b/mach/xenix3/libsys/uname.s
new file mode 100644 (file)
index 0000000..b229a58
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _uname
+.sect .text
+_uname:
+       mov     ax,57
+       jmp     sysal
diff --git a/mach/xenix3/libsys/unlink.s b/mach/xenix3/libsys/unlink.s
new file mode 100644 (file)
index 0000000..71c2998
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _unlink
+.sect .text
+_unlink:
+       mov     ax,10
+       jmp     sysal
diff --git a/mach/xenix3/libsys/ustat.s b/mach/xenix3/libsys/ustat.s
new file mode 100644 (file)
index 0000000..608f769
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _ustat
+.sect .text
+_ustat:
+       mov     ax,569
+       jmp     sysal
diff --git a/mach/xenix3/libsys/utime.s b/mach/xenix3/libsys/utime.s
new file mode 100644 (file)
index 0000000..069024f
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _utime
+.sect .text
+_utime:
+       mov     ax,30
+       jmp     sysal
diff --git a/mach/xenix3/libsys/wait.c b/mach/xenix3/libsys/wait.c
new file mode 100644 (file)
index 0000000..fb2c181
--- /dev/null
@@ -0,0 +1,11 @@
+long _wait();
+
+wait(p)
+       int *p;
+{
+       long l = _wait();
+
+       if (l == -1) return -1;
+       if (*p) *p = (l >> 16);
+       return (int) l;
+}
diff --git a/mach/xenix3/libsys/waitsem.s b/mach/xenix3/libsys/waitsem.s
new file mode 100644 (file)
index 0000000..4d41f98
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _waitsem
+.sect .text
+_waitsem:
+       mov     ax,1320
+       jmp     sysal
diff --git a/mach/xenix3/libsys/write.s b/mach/xenix3/libsys/write.s
new file mode 100644 (file)
index 0000000..a331f94
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define _write
+.sect .text
+_write:
+       mov     ax,4
+       jmp     sysal
diff --git a/mach/xenix3/libsys/xdup.s b/mach/xenix3/libsys/xdup.s
new file mode 100644 (file)
index 0000000..0a87895
--- /dev/null
@@ -0,0 +1,16 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define ___xdup
+.sect .text
+___xdup:
+       push    bp
+       mov     bp,sp
+       mov     ax,41
+       mov     cx,6(bp)
+       mov     bx,4(bp)
+       call    syscal
+       jae     1f
+       mov     (_errno),ax
+       mov     ax,-1
+1:
+       pop     bp
+       ret