Added entry points for ANSI C
authorceriel <none@none>
Fri, 19 Jan 1990 17:37:29 +0000 (17:37 +0000)
committerceriel <none@none>
Fri, 19 Jan 1990 17:37:29 +0000 (17:37 +0000)
28 files changed:
mach/xenix3/libsys/LIST
mach/xenix3/libsys/_Xpipe.s [new file with mode: 0644]
mach/xenix3/libsys/_Xwait.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/_close.s [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/_execve.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/_getpid.s [new file with mode: 0644]
mach/xenix3/libsys/_gtty.c [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/_lseek.s [new file with mode: 0644]
mach/xenix3/libsys/_open.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/_read.s [new file with mode: 0644]
mach/xenix3/libsys/_sbrk.s [new file with mode: 0644]
mach/xenix3/libsys/_unlink.s [new file with mode: 0644]
mach/xenix3/libsys/_wait.c [new file with mode: 0644]
mach/xenix3/libsys/_write.s [new file with mode: 0644]
mach/xenix3/libsys/pipe.c
mach/xenix3/libsys/wait.c

index ccfa5a1..c96389e 100644 (file)
@@ -14,13 +14,6 @@ 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
@@ -85,4 +78,34 @@ ustat.s
 utime.s
 waitsem.s
 write.s
+_Xpipe.s
+_Xwait.s
+_alarm.s
+_brk.s
+_close.s
+_dup2.c
+_execl.c
+_execve.s
+_exit.s
+_fork.s
+_fstat.s
+_ftime.s
+_getpid.s
+_gtty.c
+_ioctl.s
+_kill.s
+_link.s
+_lseek.s
+_open.s
+_pause.s
+_pipe.c
+_profil.s
+_read.s
+_sbrk.s
+_sdget.s
+_stime.s
+_time.s
+_unlink.s
+_wait.c
+_write.s
 xdup.s
diff --git a/mach/xenix3/libsys/_Xpipe.s b/mach/xenix3/libsys/_Xpipe.s
new file mode 100644 (file)
index 0000000..6790284
--- /dev/null
@@ -0,0 +1,13 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __Xpipe
+.sect .text
+__Xpipe:
+       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/_Xwait.s b/mach/xenix3/libsys/_Xwait.s
new file mode 100644 (file)
index 0000000..0391b52
--- /dev/null
@@ -0,0 +1,13 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __Xwait
+.sect .text
+__Xwait:
+       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/_alarm.s b/mach/xenix3/libsys/_alarm.s
new file mode 100644 (file)
index 0000000..4992780
--- /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..23e2e64
--- /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/_close.s b/mach/xenix3/libsys/_close.s
new file mode 100644 (file)
index 0000000..7738e92
--- /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/_dup2.c b/mach/xenix3/libsys/_dup2.c
new file mode 100644 (file)
index 0000000..b3106b2
--- /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..bddc42a
--- /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/_execve.s b/mach/xenix3/libsys/_execve.s
new file mode 100644 (file)
index 0000000..17a5a87
--- /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/_fork.s b/mach/xenix3/libsys/_fork.s
new file mode 100644 (file)
index 0000000..a86c7f5
--- /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..f905fea
--- /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..342500b
--- /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/_getpid.s b/mach/xenix3/libsys/_getpid.s
new file mode 100644 (file)
index 0000000..2e0a01e
--- /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/_gtty.c b/mach/xenix3/libsys/_gtty.c
new file mode 100644 (file)
index 0000000..336ab97
--- /dev/null
@@ -0,0 +1,5 @@
+_gtty(fildes, arg)
+       char *arg;
+{
+       return _ioctl(fildes, ('t' << 8) | 8, arg);
+}
diff --git a/mach/xenix3/libsys/_ioctl.s b/mach/xenix3/libsys/_ioctl.s
new file mode 100644 (file)
index 0000000..c0ba68a
--- /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..4947ecd
--- /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..f759c2d
--- /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/_lseek.s b/mach/xenix3/libsys/_lseek.s
new file mode 100644 (file)
index 0000000..9fc2d57
--- /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/_open.s b/mach/xenix3/libsys/_open.s
new file mode 100644 (file)
index 0000000..ebedde0
--- /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/_pause.s b/mach/xenix3/libsys/_pause.s
new file mode 100644 (file)
index 0000000..5dfb675
--- /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..7430cec
--- /dev/null
@@ -0,0 +1,14 @@
+long _Xpipe();
+
+int
+_pipe(f)
+       int f[2];
+{
+       long x;
+
+       x = _Xpipe();
+       if (x == -1) return -1;
+       f[0] = x;
+       f[1] = x >> 16;
+       return 0;
+}
diff --git a/mach/xenix3/libsys/_read.s b/mach/xenix3/libsys/_read.s
new file mode 100644 (file)
index 0000000..04b5cdd
--- /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..af08b7f
--- /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/_unlink.s b/mach/xenix3/libsys/_unlink.s
new file mode 100644 (file)
index 0000000..00ba01d
--- /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/_wait.c b/mach/xenix3/libsys/_wait.c
new file mode 100644 (file)
index 0000000..a671c40
--- /dev/null
@@ -0,0 +1,10 @@
+long _Xwait();
+_wait(p)
+       int *p;
+{
+       long l = _Xwait();
+
+       if (l == -1) return -1;
+       if (p) *p = (l >> 16);
+       return (int) l;
+}
diff --git a/mach/xenix3/libsys/_write.s b/mach/xenix3/libsys/_write.s
new file mode 100644 (file)
index 0000000..cea1deb
--- /dev/null
@@ -0,0 +1,6 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __write
+.sect .text
+__write:
+       mov     ax,4
+       jmp     sysal
index fa38108..7b90465 100644 (file)
@@ -1,14 +1,6 @@
-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;
+       return _pipe(f);
 }
index 0a76175..5221ba2 100644 (file)
@@ -1,11 +1,5 @@
-long _wait();
-
 wait(p)
        int *p;
 {
-       long l = _wait();
-
-       if (l == -1) return -1;
-       if (p) *p = (l >> 16);
-       return (int) l;
+       return _wait(p);
 }