From c6d87355db3f0a476a28c92fb514d214415736ca Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 22 Jan 1990 11:24:37 +0000 Subject: [PATCH] Added entry points for ANSI C --- mach/pdp/libsys/LIST | 24 +++++++++++++++++++++++- mach/pdp/libsys/_alarm.s | 12 ++++++++++++ mach/pdp/libsys/_close.s | 14 ++++++++++++++ mach/pdp/libsys/_creat.s | 17 +++++++++++++++++ mach/pdp/libsys/_dup.s | 20 ++++++++++++++++++++ mach/pdp/libsys/_execl.s | 19 +++++++++++++++++++ mach/pdp/libsys/_fork.s | 15 +++++++++++++++ mach/pdp/libsys/_fstat.s | 19 +++++++++++++++++++ mach/pdp/libsys/_ftime.s | 12 ++++++++++++ mach/pdp/libsys/_getpid.s | 6 ++++++ mach/pdp/libsys/_gtty.c | 7 +++++++ mach/pdp/libsys/_ioctl.s | 20 ++++++++++++++++++++ mach/pdp/libsys/_kill.s | 20 ++++++++++++++++++++ mach/pdp/libsys/_link.s | 19 +++++++++++++++++++ mach/pdp/libsys/_lseek.s | 20 ++++++++++++++++++++ mach/pdp/libsys/_open.s | 17 +++++++++++++++++ mach/pdp/libsys/_pause.s | 6 ++++++ mach/pdp/libsys/_pipe.s | 18 ++++++++++++++++++ mach/pdp/libsys/_read.s | 18 ++++++++++++++++++ mach/pdp/libsys/_sbrk.s | 39 +++++++++++++++++++++++++++++++++++++++ mach/pdp/libsys/_unlink.s | 18 ++++++++++++++++++ mach/pdp/libsys/_wait.s | 16 ++++++++++++++++ mach/pdp/libsys/_write.s | 18 ++++++++++++++++++ mach/pdp/libsys/gtty.c | 3 ++- mach/pdp/libsys/stty.c | 5 +++-- 25 files changed, 398 insertions(+), 4 deletions(-) create mode 100644 mach/pdp/libsys/_alarm.s create mode 100644 mach/pdp/libsys/_close.s create mode 100644 mach/pdp/libsys/_creat.s create mode 100644 mach/pdp/libsys/_dup.s create mode 100644 mach/pdp/libsys/_execl.s create mode 100644 mach/pdp/libsys/_fork.s create mode 100644 mach/pdp/libsys/_fstat.s create mode 100644 mach/pdp/libsys/_ftime.s create mode 100644 mach/pdp/libsys/_getpid.s create mode 100644 mach/pdp/libsys/_gtty.c create mode 100644 mach/pdp/libsys/_ioctl.s create mode 100644 mach/pdp/libsys/_kill.s create mode 100644 mach/pdp/libsys/_link.s create mode 100644 mach/pdp/libsys/_lseek.s create mode 100644 mach/pdp/libsys/_open.s create mode 100644 mach/pdp/libsys/_pause.s create mode 100644 mach/pdp/libsys/_pipe.s create mode 100644 mach/pdp/libsys/_read.s create mode 100644 mach/pdp/libsys/_sbrk.s create mode 100644 mach/pdp/libsys/_unlink.s create mode 100644 mach/pdp/libsys/_wait.s create mode 100644 mach/pdp/libsys/_write.s diff --git a/mach/pdp/libsys/LIST b/mach/pdp/libsys/LIST index 408d1d372..87706612b 100644 --- a/mach/pdp/libsys/LIST +++ b/mach/pdp/libsys/LIST @@ -3,7 +3,6 @@ exit.c cleanup.c stty.c gtty.c -_exit.s access.s acct.s alarm.s @@ -79,3 +78,26 @@ vhangup.s wait.s write.s errno.s +_alarm.s +_close.s +_creat.s +_dup.s +_execl.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.s +_read.s +_sbrk.s +_unlink.s +_wait.s +_write.s diff --git a/mach/pdp/libsys/_alarm.s b/mach/pdp/libsys/_alarm.s new file mode 100644 index 000000000..1668ef1cc --- /dev/null +++ b/mach/pdp/libsys/_alarm.s @@ -0,0 +1,12 @@ +#include "sys.h" +.define __alarm +.extern _errno + +__alarm: + mov 2(sp),r0 + sys alarm + bcc 1f + mov r0,_errno + mov $-1,r0 +1: + rts pc diff --git a/mach/pdp/libsys/_close.s b/mach/pdp/libsys/_close.s new file mode 100644 index 000000000..cee142c46 --- /dev/null +++ b/mach/pdp/libsys/_close.s @@ -0,0 +1,14 @@ +#include "sys.h" +.define __close +.extern _errno + +__close: + mov 2(sp),r0 + sys close + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + clr r0 + rts pc diff --git a/mach/pdp/libsys/_creat.s b/mach/pdp/libsys/_creat.s new file mode 100644 index 000000000..3f8e47042 --- /dev/null +++ b/mach/pdp/libsys/_creat.s @@ -0,0 +1,17 @@ +#include "sys.h" +.define __creat +.extern _errno + +__creat: + mov 2(sp),0f+2 + mov 4(sp),0f+4 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 +1: + rts pc +.sect .data +0: + sys creat + .data2 0, 0 diff --git a/mach/pdp/libsys/_dup.s b/mach/pdp/libsys/_dup.s new file mode 100644 index 000000000..b4c4a1296 --- /dev/null +++ b/mach/pdp/libsys/_dup.s @@ -0,0 +1,20 @@ +#include "sys.h" +.define __dup +.define __dup2 +.extern _errno + +__dup2: + mov 2(sp),r0 + bis $100,r0 + br 1f + +__dup: + mov 2(sp),r0 +1: + mov 4(sp),r1 + sys dup + bcc 1f + mov r0,_errno + mov $-1,r0 +1: + rts pc diff --git a/mach/pdp/libsys/_execl.s b/mach/pdp/libsys/_execl.s new file mode 100644 index 000000000..233cbe988 --- /dev/null +++ b/mach/pdp/libsys/_execl.s @@ -0,0 +1,19 @@ +#include "sys.h" +.define __execl +.extern _environ +.extern _errno + +__execl: + mov 2(sp),0f+2 + mov sp,r0 + add $4,r0 + mov r0,0f+4 + mov _environ,0f+6 + sys indir; .data2 0f + mov r0,_errno + mov $-1,r0 + rts pc +.sect .data +0: + sys exece + .data2 0, 0, 0 diff --git a/mach/pdp/libsys/_fork.s b/mach/pdp/libsys/_fork.s new file mode 100644 index 000000000..99b5b35f9 --- /dev/null +++ b/mach/pdp/libsys/_fork.s @@ -0,0 +1,15 @@ +#include "sys.h" +.define __fork +.extern _errno + +__fork: + sys fork + br 1f + bcc 2f + mov r0,_errno + mov $-1,r0 +2: + rts pc +1: + clr r0 + rts pc diff --git a/mach/pdp/libsys/_fstat.s b/mach/pdp/libsys/_fstat.s new file mode 100644 index 000000000..3f3abf7f5 --- /dev/null +++ b/mach/pdp/libsys/_fstat.s @@ -0,0 +1,19 @@ +#include "sys.h" +.define __fstat +.extern _errno + +__fstat: + mov 2(sp),r0 + mov 4(sp),0f+2 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + clr r0 + rts pc +.sect .data +0: + sys fstat + .data2 0 diff --git a/mach/pdp/libsys/_ftime.s b/mach/pdp/libsys/_ftime.s new file mode 100644 index 000000000..6aa32b492 --- /dev/null +++ b/mach/pdp/libsys/_ftime.s @@ -0,0 +1,12 @@ +#include "sys.h" +.define __ftime + +__ftime: + mov 2(sp),0f+2 + sys indir; .data2 0f + rts pc + +.sect .data +0: + sys ftime + .data2 0 diff --git a/mach/pdp/libsys/_getpid.s b/mach/pdp/libsys/_getpid.s new file mode 100644 index 000000000..ed5879f14 --- /dev/null +++ b/mach/pdp/libsys/_getpid.s @@ -0,0 +1,6 @@ +#include "sys.h" +.define __getpid + +__getpid: + sys getpid + rts pc diff --git a/mach/pdp/libsys/_gtty.c b/mach/pdp/libsys/_gtty.c new file mode 100644 index 000000000..55ca7544c --- /dev/null +++ b/mach/pdp/libsys/_gtty.c @@ -0,0 +1,7 @@ +int +_gtty(fildes,argp) + int fildes ; + char *argp ; +{ + return _ioctl(fildes,/*TIOCGETP*/(('t'<<8)|8),argp) ; +} diff --git a/mach/pdp/libsys/_ioctl.s b/mach/pdp/libsys/_ioctl.s new file mode 100644 index 000000000..de2e10c1d --- /dev/null +++ b/mach/pdp/libsys/_ioctl.s @@ -0,0 +1,20 @@ +#include "sys.h" +.define __ioctl +.extern _errno + +__ioctl: + mov 2(sp),0f+2 + mov 4(sp),0f+4 + mov 6(sp),0f+6 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + clr r0 + rts pc +.sect .data +0: + sys ioctl + .data2 0, 0, 0 diff --git a/mach/pdp/libsys/_kill.s b/mach/pdp/libsys/_kill.s new file mode 100644 index 000000000..7e5061428 --- /dev/null +++ b/mach/pdp/libsys/_kill.s @@ -0,0 +1,20 @@ +#include "sys.h" +.define __kill +.extern _errno + +__kill: + mov 2(sp),r0 + mov 4(sp),0f+2 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + clr r0 + rts pc + +.sect .data +0: + sys kill + .data2 0 diff --git a/mach/pdp/libsys/_link.s b/mach/pdp/libsys/_link.s new file mode 100644 index 000000000..c8d4d55c6 --- /dev/null +++ b/mach/pdp/libsys/_link.s @@ -0,0 +1,19 @@ +#include "sys.h" +.define __link +.extern _errno + +__link: + mov 2(sp),0f+2 + mov 4(sp),0f+4 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + clr r0 + rts pc +.sect .data +0: + sys link + .data2 0, 0 diff --git a/mach/pdp/libsys/_lseek.s b/mach/pdp/libsys/_lseek.s new file mode 100644 index 000000000..5ea8591d5 --- /dev/null +++ b/mach/pdp/libsys/_lseek.s @@ -0,0 +1,20 @@ +#include "sys.h" +.define __lseek +.extern _errno + +__lseek: + mov 2(sp),r0 + mov 4(sp),0f+2 + mov 6(sp),0f+4 + mov 010(sp),0f+6 + sys indir; .data2 0f + bcc 1f + mov $-1,r1 + mov r0,_errno + mov $-1,r0 +1: + rts pc +.sect .data +0: + sys lseek + .data2 0, 0, 0 diff --git a/mach/pdp/libsys/_open.s b/mach/pdp/libsys/_open.s new file mode 100644 index 000000000..4aa8fcde9 --- /dev/null +++ b/mach/pdp/libsys/_open.s @@ -0,0 +1,17 @@ +#include "sys.h" +.define __open +.extern _errno + +__open: + mov 2(sp),0f+2 + mov 4(sp),0f+4 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 +1: + rts pc +.sect .data +0: + sys open + .data2 0, 0 diff --git a/mach/pdp/libsys/_pause.s b/mach/pdp/libsys/_pause.s new file mode 100644 index 000000000..8f8f7dfe8 --- /dev/null +++ b/mach/pdp/libsys/_pause.s @@ -0,0 +1,6 @@ +#include "sys.h" +.define __pause + +__pause: + sys pause + rts pc diff --git a/mach/pdp/libsys/_pipe.s b/mach/pdp/libsys/_pipe.s new file mode 100644 index 000000000..72e0de220 --- /dev/null +++ b/mach/pdp/libsys/_pipe.s @@ -0,0 +1,18 @@ +#include "sys.h" +.define __pipe +.extern _errno + +__pipe: + sys pipe + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + mov r5,-(sp) + mov 4(sp),r5 + mov r0,(r5)+ + mov r1,(r5) + mov (sp)+,r5 + clr r0 + rts pc diff --git a/mach/pdp/libsys/_read.s b/mach/pdp/libsys/_read.s new file mode 100644 index 000000000..c4c48338a --- /dev/null +++ b/mach/pdp/libsys/_read.s @@ -0,0 +1,18 @@ +#include "sys.h" +.define __read +.extern _errno + +__read: + mov 2(sp),r0 + mov 4(sp),0f+2 + mov 6(sp),0f+4 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 +1: + rts pc +.sect .data +0: + sys read + .data2 0, 0 diff --git a/mach/pdp/libsys/_sbrk.s b/mach/pdp/libsys/_sbrk.s new file mode 100644 index 000000000..c91f1b4c5 --- /dev/null +++ b/mach/pdp/libsys/_sbrk.s @@ -0,0 +1,39 @@ +#include "sys.h" +.define __sbrk +.define __brk +.extern _end +.extern _errno + +__sbrk: + mov 2(sp),0f+2 + beq 1f + add Ixxx,0f+2 + bcs 2f + sys indir; .data2 0f + bcc 1f +2: + mov r0,_errno + mov $-1,r0 + rts pc +1: + mov Ixxx,r0 + add 2(sp),Ixxx + rts pc + +__brk: + mov 2(sp),0f+2 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + mov 2(sp),Ixxx + clr r0 + rts pc + +.sect .data +0: + sys break + .data2 0 +Ixxx: .data2 _end diff --git a/mach/pdp/libsys/_unlink.s b/mach/pdp/libsys/_unlink.s new file mode 100644 index 000000000..9e18edea2 --- /dev/null +++ b/mach/pdp/libsys/_unlink.s @@ -0,0 +1,18 @@ +#include "sys.h" +.define __unlink +.extern _errno + +__unlink: + mov 2(sp),0f+2 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + clr r0 + rts pc +.sect .data +0: + sys unlink + .data2 0 diff --git a/mach/pdp/libsys/_wait.s b/mach/pdp/libsys/_wait.s new file mode 100644 index 000000000..86a85089a --- /dev/null +++ b/mach/pdp/libsys/_wait.s @@ -0,0 +1,16 @@ +#include "sys.h" +.define __wait +.extern _errno + +__wait: + sys wait + bcc 1f + mov r0,_errno + mov $-1,r0 + rts pc +1: + tst 2(sp) + beq 1f + mov r1,*2(sp) +1: + rts pc diff --git a/mach/pdp/libsys/_write.s b/mach/pdp/libsys/_write.s new file mode 100644 index 000000000..c97b95bc6 --- /dev/null +++ b/mach/pdp/libsys/_write.s @@ -0,0 +1,18 @@ +#include "sys.h" +.define __write +.extern _errno + +__write: + mov 2(sp),r0 + mov 4(sp),0f+2 + mov 6(sp),0f+4 + sys indir; .data2 0f + bcc 1f + mov r0,_errno + mov $-1,r0 +1: + rts pc +.sect .data +0: + sys write + .data2 0, 0 diff --git a/mach/pdp/libsys/gtty.c b/mach/pdp/libsys/gtty.c index 77466a4d0..6e03bd84d 100644 --- a/mach/pdp/libsys/gtty.c +++ b/mach/pdp/libsys/gtty.c @@ -1,4 +1,5 @@ -int gtty(fildes,argp) +int +gtty(fildes,argp) int fildes ; char *argp ; { diff --git a/mach/pdp/libsys/stty.c b/mach/pdp/libsys/stty.c index 378f1ac4e..a77960853 100644 --- a/mach/pdp/libsys/stty.c +++ b/mach/pdp/libsys/stty.c @@ -1,6 +1,7 @@ -int stty(fildes,argp) +int +stty(fildes,argp) int fildes ; char *argp; { - return ioctl(fildes,/*TIOCSETP*/(('t'<<8)|9),argp) ; + return _ioctl(fildes,/*TIOCSETP*/(('t'<<8)|9),argp) ; } -- 2.34.1