TODO: first version which just compiles - no compatibility checked yet
This commit is contained in:
parent
e599208e5e
commit
c3ca921034
|
|
@ -1,10 +1,32 @@
|
||||||
#include "sys/param.h"
|
/******************************************************************************
|
||||||
#include "sys/systm.h"
|
*******************************************************************************
|
||||||
#include "sys/dir.h"
|
|
||||||
#include "sys/user.h"
|
W E G A - Quelle
|
||||||
#include "sys/file.h"
|
|
||||||
#include "sys/inode.h"
|
KERN 3.2 Modul: sys2.c
|
||||||
#include "sys/sysinfo.h"
|
|
||||||
|
|
||||||
|
Bearbeiter: O. Lehmann
|
||||||
|
Datum: 18.05.08
|
||||||
|
Version: 1.0
|
||||||
|
|
||||||
|
*******************************************************************************
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
char sys2wstr[] = "@[$]sys2.c Rev : 4.1 08/27/83 11:59:09";
|
||||||
|
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/sysinfo.h>
|
||||||
|
#include <sys/systm.h>
|
||||||
|
#include <sys/file.h>
|
||||||
|
#include <sys/inode.h>
|
||||||
|
#include <sys/dir.h>
|
||||||
|
#include <sys/mmu.h>
|
||||||
|
#include <sys/buf.h>
|
||||||
|
#include <sys/conf.h>
|
||||||
|
#include <sys/proc.h>
|
||||||
|
#include <sys/s.out.h>
|
||||||
|
#include <sys/user.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* read system call
|
* read system call
|
||||||
|
|
@ -47,7 +69,7 @@ register mode;
|
||||||
u.u_error = EBADF;
|
u.u_error = EBADF;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
u.u_base = (caddr_t)uap->cbuf;
|
u.u_base.l = (caddr_t)uap->cbuf;
|
||||||
u.u_count = uap->count;
|
u.u_count = uap->count;
|
||||||
u.u_segflg = 0;
|
u.u_segflg = 0;
|
||||||
u.u_fmode = fp->f_flag;
|
u.u_fmode = fp->f_flag;
|
||||||
|
|
@ -69,12 +91,12 @@ register mode;
|
||||||
if (type==IFREG || type==IFDIR || type==IFIFO)
|
if (type==IFREG || type==IFDIR || type==IFIFO)
|
||||||
prele(ip);
|
prele(ip);
|
||||||
fp->f_offset += uap->count-u.u_count;
|
fp->f_offset += uap->count-u.u_count;
|
||||||
u.u_rval1 = uap->count-u.u_count;
|
u.u_r.r_val1 = uap->count-u.u_count;
|
||||||
u.u_ioch += u.u_rval1;
|
u.u_ioch += u.u_r.r_val1;
|
||||||
if (mode == FREAD)
|
if (mode == FREAD)
|
||||||
sysinfo.readch += u.u_rval1;
|
sysinfo.readch += u.u_r.r_val1;
|
||||||
else
|
else
|
||||||
sysinfo.writech += u.u_rval1;
|
sysinfo.writech += u.u_r.r_val1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -162,7 +184,7 @@ register mode;
|
||||||
prele(ip);
|
prele(ip);
|
||||||
fp->f_flag = mode&FMASK;
|
fp->f_flag = mode&FMASK;
|
||||||
fp->f_inode = ip;
|
fp->f_inode = ip;
|
||||||
i = u.u_rval1;
|
i = u.u_r.r_val1;
|
||||||
if (setjmp(u.u_qsav)) { /* catch half-opens */
|
if (setjmp(u.u_qsav)) { /* catch half-opens */
|
||||||
if (u.u_error == 0)
|
if (u.u_error == 0)
|
||||||
u.u_error = EINTR;
|
u.u_error = EINTR;
|
||||||
|
|
@ -232,7 +254,7 @@ seek()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fp->f_offset = uap->off;
|
fp->f_offset = uap->off;
|
||||||
u.u_roff = uap->off;
|
u.u_r.r_off = uap->off;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -265,7 +287,7 @@ link()
|
||||||
* embraces.
|
* embraces.
|
||||||
*/
|
*/
|
||||||
prele(ip);
|
prele(ip);
|
||||||
u.u_dirp = (caddr_t)uap->linkname;
|
u.u_dirp.l = (caddr_t)uap->linkname;
|
||||||
xp = namei(uchar, 1);
|
xp = namei(uchar, 1);
|
||||||
if (xp != NULL) {
|
if (xp != NULL) {
|
||||||
u.u_error = EEXIST;
|
u.u_error = EEXIST;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue