added new routines for ansi

This commit is contained in:
eck 1990-01-22 11:56:01 +00:00
parent dbe88218e4
commit a940c44ae5
35 changed files with 273 additions and 2 deletions

View file

@ -4,6 +4,7 @@ access.s
acct.s
adjtime.s
alarm.c
_alarm.c
async_dem.s
bind.s
cerror.s
@ -13,25 +14,35 @@ chown.s
chroot.s
cleanup.c
close.s
_close.s
connect.s
creat.s
_creat.s
dup.s
_dup.s
dup2.s
_dup2.s
execl.c
_execl.c
execle.c
execv.c
execve.s
_execve.s
exit.c
exportfs.s
fchmod.s
fchown.s
fcntl.s
_fcntl.s
flock.s
fork.s
_fork.s
fstat.s
_fstat.s
fstatfs.s
fsync.s
ftime.c
_ftime.c
ftruncate.s
getdirent.s
getdomnam.s
@ -47,19 +58,26 @@ getpagesiz.s
getpeernam.s
getpgrp.s
getpid.s
_getpid.s
getprio.s
getrlimit.s
getrusage.s
_getrusage.s
getsocknam.s
getsockopt.s
gettimday.s
_gettimday.s
getuid.s
ioctl.s
_ioctl.s
kill.s
_kill.s
killpg.s
link.s
_link.s
listen.s
lseek.s
_lseek.s
lstat.s
madvise.s
mincore.s
@ -73,12 +91,16 @@ munmap.s
nfssvc.s
nice.c
open.s
_open.s
pause.c
_pause.c
pipe.s
_pipe.s
profil.s
ptrace.s
quotactl.s
read.s
_read.s
readlink.s
readv.s
reboot.s
@ -88,6 +110,7 @@ recvmsg.s
rename.s
rmdir.s
sbrk.s
_sbrk.s
select.s
send.s
sendmsg.s
@ -97,6 +120,7 @@ setdopt.s
setgroups.s
sethostnam.s
setitimer.s
_setitimer.s
setpgrp.s
setprio.s
setregid.s
@ -106,8 +130,10 @@ setsockopt.s
settimday.s
shutdown.s
sigblock.s
_sigblock.s
signal.c
sigpause.s
_sigpause.s
sigsetmask.s
sigstack.s
sigtramp.s
@ -123,20 +149,26 @@ sync.s
syscall.s
time.c
times.c
_times.c
truncate.s
umask.s
unlink.s
_unlink.s
umount.s
unmount.s
utime.c
utimes.s
vhangup.s
wait.s
_wait.s
write.s
_write.s
writev.s
_exit.s
stty.c
_stty.c
gtty.c
_gtty.c
getegid.s
geteuid.s
getppid.s

13
mach/sun2/libsys/_alarm.c Normal file
View file

@ -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;
}

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __close
__close: SYSTEM(SYS_close)

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __creat
__creat: SYSTEM(SYS_creat)

4
mach/sun2/libsys/_dup.s Normal file
View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __dup
__dup: SYSTEM(SYS_dup)

4
mach/sun2/libsys/_dup2.s Normal file
View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __dup2
__dup2: SYSTEM(SYS_dup2)

View file

@ -0,0 +1,8 @@
_execl(name,args)
char *name;
int args;
{
extern char **environ;
_execve(name,&args,environ);
}

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __execve
__execve: SYSTEM(SYS_execve)

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __fcntl
__fcntl: SYSTEM(SYS_fcntl)

14
mach/sun2/libsys/_fork.s Normal file
View file

@ -0,0 +1,14 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __fork
__fork:
pea SYS_fork
trap #0
bcs 1f
tst.l d1
beq 2f
clr.l d0
2:
rts
1:
jmp cerror

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __fstat
__fstat: SYSTEM(SYS_fstat)

15
mach/sun2/libsys/_ftime.c Normal file
View file

@ -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;
}

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __getpid
__getpid: SYSTEM(SYS_getpid)

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __getrusage
__getrusage: SYSTEM(SYS_getrusage)

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __gettimeofday
__gettimeofday: SYSTEM(SYS_gettimeofday)

8
mach/sun2/libsys/_gtty.c Normal file
View file

@ -0,0 +1,8 @@
#include <sgtty.h>
int
_gtty(fildes,argp)
int fildes ;
struct sgttyb *argp ;
{
return _ioctl(fildes,TIOCGETP,argp) ;
}

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __ioctl
__ioctl: SYSTEM(SYS_ioctl)

4
mach/sun2/libsys/_kill.s Normal file
View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __kill
__kill: SYSTEM(SYS_kill)

4
mach/sun2/libsys/_link.s Normal file
View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __link
__link: SYSTEM(SYS_link)

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __lseek
__lseek: SYSTEM(SYS_lseek)

4
mach/sun2/libsys/_open.s Normal file
View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __open
__open: SYSTEM(SYS_open)

View file

@ -0,0 +1,3 @@
_pause() {
_sigpause(_sigblock());
}

14
mach/sun2/libsys/_pipe.s Normal file
View file

@ -0,0 +1,14 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __pipe
__pipe:
pea SYS_pipe
trap #0
bcs 1f
move.l 4(sp),a0
move.l d0,(a0)+
move.l d1,(a0)
clr.l d0
rts
1:
jmp cerror

4
mach/sun2/libsys/_read.s Normal file
View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __read
__read: SYSTEM(SYS_read)

39
mach/sun2/libsys/_sbrk.s Normal file
View file

@ -0,0 +1,39 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __sbrk,__brk
__sbrk:
move.l 4(sp),d0
add.l #3,d0
move.l #~3,d1
and.l d1,d0
move.l d0,a0
move.l curbrk,d0
add.l #3,d0
and.l d1,d0
move.l d0,curbrk
add.l d0,a0
move.l a0,4(sp)
pea 17 ! not SYS_sbrk
trap #0
bcs 1f
move.l curbrk,d0
move.l 4(sp),curbrk
rts
1:
jmp cerror
__brk:
move.l 4(sp),d0
add.l #3,d0
move.l #~3,d1
and.l d1,d0
move.l d0,4(sp)
pea 17
trap #0
bcs 1b
move.l 4(sp),curbrk
clr.l d0
rts
.sect .data
curbrk: .data4 endbss

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __setitimer
__setitimer: SYSTEM(SYS_setitimer)

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __sigblock
__sigblock: SYSTEM(SYS_sigblock)

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __sigpause
__sigpause: SYSTEM(SYS_sigpause)

8
mach/sun2/libsys/_stty.c Normal file
View file

@ -0,0 +1,8 @@
#include <sgtty.h>
int
_stty(fildes,argp)
int fildes ;
struct sgttyb *argp ;
{
return _ioctl(fildes,TIOCSETP,argp) ;
}

16
mach/sun2/libsys/_times.c Normal file
View file

@ -0,0 +1,16 @@
#include <sys/types.h>
#define Xval(xx) ((xx).l1*60+(xx).l2/(100000/6))
_times(bp)
struct { time_t l1,l2,l3,l4;} *bp;
{
struct { struct { long l1,l2; }s1,s2; long x[20]; } t;
if (_getrusage(0,&t) < 0) return -1;
bp->l1 = Xval(t.s1);
bp->l2 = Xval(t.s2);
if (_getrusage(-1,&t) < 0) return -1;
bp->l3 = Xval(t.s1);
bp->l4 = Xval(t.s2);
return 0;
}

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __unlink
__unlink: SYSTEM(SYS_unlink)

15
mach/sun2/libsys/_wait.s Normal file
View file

@ -0,0 +1,15 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __wait
__wait:
pea SYS_wait
trap #0
bcs 1f
tst.l 4(sp)
beq 2f
move.l 4(sp),a0
move.l d1,(a0)
2:
rts
1:
jmp cerror

View file

@ -0,0 +1,4 @@
#include "syscall.h"
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.define __write
__write: SYSTEM(SYS_write)

View file

@ -1,5 +1,6 @@
#include <sgtty.h>
int gtty(fildes,argp)
int
gtty(fildes,argp)
int fildes ;
struct sgttyb *argp ;
{

View file

@ -1,5 +1,6 @@
#include <sgtty.h>
int stty(fildes,argp)
int
stty(fildes,argp)
int fildes ;
struct sgttyb *argp ;
{