Browse Source

* Fixed first half of linux unit to portable syscall struct.

marco 25 years ago
parent
commit
a9a1a9db92
1 changed files with 59 additions and 361 deletions
  1. 59 361
      rtl/bsd/linux.pp

+ 59 - 361
rtl/bsd/linux.pp

@@ -825,15 +825,8 @@ Function Fork:longint;
   LinuxError.
   LinuxError.
 }
 }
 
 
-var retval: LONGINT;
-
 Begin
 Begin
- asm 
-   movl  $2,%eax
-   int   $0x80
-   mov   %eax,retval
-  end;
- fork:=checkreturnvalue(retval,retval);
+ fork:=Do_syscall(2)
  LinuxError:=ErrNo;
  LinuxError:=ErrNo;
 End;
 End;
 
 
@@ -892,23 +885,9 @@ Procedure Execve(path:pathstr;args:ppchar;ep:ppchar);
   environment specified in ep is passed on.
   environment specified in ep is passed on.
 }
 }
 
 
-var retval: LONGINT;
-
 Begin
 Begin
   path:=path+#0;
   path:=path+#0;
- asm 
-   lea   %ebx,path
-   inc   %ebx
-   pushl ep
-   pushl args
-   pushl %ebx
-   movl  $59,%eax
-   int   $0x80
-   addl  $12,%esp
-   mov   %eax,retval
-  end;
- checkreturnvalue(retval,retval);
-{ This only gets set when the call fails, otherwise we don't get here ? }
+  execve:=do_syscall(59,longint(@path[1]),Args,ep);
  LinuxError:=ErrNo;
  LinuxError:=ErrNo;
 End;
 End;
 
 
@@ -925,20 +904,8 @@ Procedure Execve(path:pchar;args:ppchar;ep:ppchar);
   environment specified in ep is passed on.
   environment specified in ep is passed on.
 }
 }
 
 
-var retval: LONGINT;
-
 Begin
 Begin
- asm 
-   pushl ep
-   pushl args
-   pushl path
-   movl  $59,%eax
-   int   $0x80
-   addl  $12,%esp
-   mov   %eax,retval
-  end;
- checkreturnvalue(retval,retval);
-{ This only gets set when the call fails, otherwise we don't get here ? }
+   execve:=do_syscall(59,path,Args,ep);
  LinuxError:=ErrNo;
  LinuxError:=ErrNo;
 End;
 End;
 
 
@@ -1033,17 +1000,10 @@ end;
 
 
 Procedure ExitProcess(val:longint);
 Procedure ExitProcess(val:longint);
 
 
-var retval : longint;
 
 
 begin
 begin
- asm
-    pushl Val
-    mov   $1,%eax
-    int   $0x80
-    addl  $4,%eax
-    mov   %eax,retval
-  end;   
- checkreturnvalue(retval,retval);
+  ExitProcess:=do_syscall(1,val);
+ LinuxError:=ErrNo;
 end;
 end;
 
 
 Function WaitPid(Pid:longint;Status:pointer;Options:Integer):Longint;
 Function WaitPid(Pid:longint;Status:pointer;Options:Integer):Longint;
@@ -1054,21 +1014,10 @@ Function WaitPid(Pid:longint;Status:pointer;Options:Integer):Longint;
   be a longint.
   be a longint.
 }
 }
 
 
-var retval : longint;
 
 
 begin
 begin
- asm
-   pushl $0		 // BSD wait4 call has extra parameter
-   push Options
-   push Status
-   push Pid
-   mov   $7,%eax
-   int   $0x80
-   addl  $16,%eax
-   mov   %eax,retval
- end;   
-  WaitPID:=checkreturnvalue(retval,retval);
-  LinuxError:=errno;
+ WaitPID:=do_syscall(7,PID,Status,options,0);
+ LinuxError:=ErrNo;
 end;
 end;
 
 
 Function Shell(const Command:String):Longint;
 Function Shell(const Command:String):Longint;
@@ -1135,8 +1084,6 @@ Function GetPriority(Which,Who:longint):longint;
               Process Group id
               Process Group id
    Errors are reported in linuxerror _only_. (priority can be negative)
    Errors are reported in linuxerror _only_. (priority can be negative)
 }
 }
-var
-  retval : longint;
 begin
 begin
   errno:=0;
   errno:=0;
   if (which<prio_process) or (which>prio_user) then
   if (which<prio_process) or (which>prio_user) then
@@ -1147,15 +1094,8 @@ begin
    end
    end
   else
   else
    begin
    begin
-     asm 
-       pushl who
-       pushl which
-       int   $0x80   
-       addl  $8,%eax
-       mov   %eax,retval
-     end;   
-    Getpriority:=checkreturnvalue(retval,retval);
-    LinuxError:=errno;
+     GetPriority:=do_syscall(100,which,who);
+     LinuxError:=ErrNo;
    end;
    end;
 end;
 end;
 
 
@@ -1174,25 +1114,14 @@ Procedure SetPriority(Which,Who,What:longint);
    what : A number between -20 and 20. -20 is most favorable, 20 least.
    what : A number between -20 and 20. -20 is most favorable, 20 least.
           0 is the default.
           0 is the default.
 }
 }
-var
-  retval : longint;
 begin
 begin
   errno:=0;
   errno:=0;
   if ((which<prio_process) or (which>prio_user)) or ((what<-20) or (what>20)) then
   if ((which<prio_process) or (which>prio_user)) or ((what<-20) or (what>20)) then
    linuxerror:=Sys_einval  { We can save an interrupt here }
    linuxerror:=Sys_einval  { We can save an interrupt here }
   else
   else
    begin
    begin
-     asm 
-        pushl what
-        pushl who
-        pushl which
-	mov   $96,%eax
-        int   $0x80
-        addl  $12,%eax
-        mov   %eax,retval
-     end;   
-    checkreturnvalue(retval,retval);
-    LinuxError:=errno;
+     do_syscall(96,which,who,what);
+     LinuxError:=ErrNo;
    end;
    end;
 end;
 end;
 
 
@@ -1213,16 +1142,10 @@ Function GetPid:LongInt;
 {
 {
   Get Process ID.
   Get Process ID.
 }
 }
-var retval : longint;
 
 
 begin
 begin
- asm
-   mov   $20,%eax
-   int   $0x80
-   mov   %eax,retval
- end;   
-  GetPID:=checkreturnvalue(retval,retval);
-  LinuxError:=errno;
+ GetPID:=do_syscall(20);
+ LinuxError:=errno;
 end;
 end;
 
 
 Function GetPPid:LongInt;
 Function GetPPid:LongInt;
@@ -1230,15 +1153,9 @@ Function GetPPid:LongInt;
   Get Process ID of parent process.
   Get Process ID of parent process.
 }
 }
 
 
-var retval : longint;
 
 
 begin
 begin
- asm
-   mov   $39,%eax
-   int   $0x80
-   mov   %eax,retval
- end;  
-  GetpPID:=checkreturnvalue(retval,retval);
+  GetPPid:=do_syscall(39);
   LinuxError:=errno;
   LinuxError:=errno;
 end;
 end;
 
 
@@ -1247,16 +1164,10 @@ Function GetUid:Longint;
   Get User ID.
   Get User ID.
 }
 }
 
 
-var retval : longint;
 
 
 begin
 begin
- asm
-   mov   $24,%eax
-   int   $0x80
-   mov   %eax,retval
- end;  
-  GetUID:=checkreturnvalue(retval,retval);
-  LinuxError:=errno;
+  GetUID:=do_syscall(24);
+  LinuxError:=ErrNo;
 end;
 end;
 
 
 
 
@@ -1266,16 +1177,10 @@ Function GetEUid:Longint;
   Get _effective_ User ID.
   Get _effective_ User ID.
 }
 }
 
 
-var retval : longint;
 
 
 begin
 begin
- asm
-   mov   $25,%eax
-   int   $0x80
-   mov   %eax,retval
- end;  
-  GetEUID:=checkreturnvalue(retval,retval);
-  LinuxError:=errno;
+  GetEUID:=do_syscall(25);
+  LinuxError:=ErrNo;
 end;
 end;
 
 
 
 
@@ -1284,16 +1189,9 @@ Function GetGid:Longint;
   Get Group ID.
   Get Group ID.
 }
 }
 
 
-var retval : longint;
-
 begin
 begin
- asm
-   mov   $47,%eax
-   int   $0x80
-   mov   %eax,retval
- end;  
-  GetGID:=checkreturnvalue(retval,retval);
-  LinuxError:=errno;
+  GetEUID:=do_syscall(47);
+  LinuxError:=ErrNo;
 end;
 end;
 
 
 
 
@@ -1301,16 +1199,10 @@ Function GetEGid:Longint;
 {
 {
   Get _effective_ Group ID.
   Get _effective_ Group ID.
 }
 }
-var retval : longint;
 
 
 begin
 begin
- asm
-   mov   $43,%eax
-   int   $0x80
-   mov   %eax,retval
- end;  
-  GetEGID:=checkreturnvalue(retval,retval);
-  LinuxError:=errno;
+ GetEGID:=do_syscall(43);
+ LinuxError:=ErrNo;
 end;
 end;
 
 
 {******************************************************************************
 {******************************************************************************
@@ -1369,21 +1261,10 @@ Procedure GetTimeOfDay(var tv:timeval);
 }
 }
 
 
 var  tz : timezone;
 var  tz : timezone;
-     retval : longint;
 
 
 begin
 begin
-  asm
-   lea   tz,%ebx
-   pushl %ebx
-   lea   tv,%ecx
-   pushl %ecx
-   mov   $116,%eax
-   int   $0x80
-   add   $8,%esp
-   mov   %eax,retval
-  end;
-  checkreturnvalue(retval,retval);
-  LinuxError:=Errno;
+ do_syscall(116,@tv,@tz);
+ LinuxError:=Errno;
 end;
 end;
 
 
 Function GetTimeOfDay: longint;
 Function GetTimeOfDay: longint;
@@ -1551,23 +1432,11 @@ end;
 
 
 Function fdTruncate(fd,size:longint):boolean;
 Function fdTruncate(fd,size:longint):boolean;
 
 
-Var Retval : LONGINT;
-
 begin
 begin
-  asm
-      push size
-      push fd
-      mov  $201,%eax
-      int  $0x80
-      addl $8,%esp
-      mov  %eax,retval
-  end;
-  fdtruncate:=checkreturnvalue(retval,retval)=0;
-  LinuxError:=Errno;
+ fdtruncate:=do_syscall(201,fd,size);
+ LinuxError:=Errno;
 end;
 end;
 
 
-
-
 Function  fdSeek (fd,pos,seektype :longint): longint;
 Function  fdSeek (fd,pos,seektype :longint): longint;
 {
 {
   Do a Seek on a file descriptor fd to position pos, starting from seektype
   Do a Seek on a file descriptor fd to position pos, starting from seektype
@@ -1578,39 +1447,19 @@ begin
    LinuxError:=Errno;
    LinuxError:=Errno;
 end;
 end;
 
 
-
-
 Function  fdFlush (fd : Longint) : Boolean;
 Function  fdFlush (fd : Longint) : Boolean;
 
 
 Var Retval : LONGINT;
 Var Retval : LONGINT;
 
 
 begin
 begin
-  asm
-      push fd
-      mov  $95,%eax
-      int  $0x80
-      addl $4,%esp
-      mov  %eax,retval
-  end;
-  fdflush:=checkreturnvalue(retval,retval)=0;
+  fdflush:=do_syscall(95,fd);
   LinuxError:=Errno;
   LinuxError:=Errno;
 end;
 end;
 
 
 function sys_fcntl(Fd:longint;Cmd:Integer;Arg:Longint):longint;
 function sys_fcntl(Fd:longint;Cmd:Integer;Arg:Longint):longint;
 
 
-var retval : LONGINT;
-
 begin
 begin
- asm
-    push arg
-    push cmd
-    push fd
-    mov  $92,%eax
-    int  $0x80
-    addl $12,%esp
-    mov %eax,retval
- end;
- sys_fcntl:=checkreturnvalue(retval,retval);
+ sys_fcntl:=do_syscall(92,fd,cmd,arg)
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
@@ -1685,18 +1534,8 @@ var
   retval : longint;
   retval : longint;
 begin
 begin
   path:=path+#0;
   path:=path+#0;
- asm
-    lea %ebx,path
-    inc %ebx
-    push newmode
-    push %ebx
-    mov  $15,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- ChMod:=checkreturnvalue(retval,retval)=0;
- LinuxError:=Errno;
+  chmod:=do_syscall(15,longint(@path[1]),newmode);
+  LinuxError:=Errno;
 end;
 end;
 
 
 Function Chown(path:pathstr;NewUid,NewGid:longint):boolean;
 Function Chown(path:pathstr;NewUid,NewGid:longint):boolean;
@@ -1706,57 +1545,23 @@ Function Chown(path:pathstr;NewUid,NewGid:longint):boolean;
   The super-user can change uid and gid of any file.
   The super-user can change uid and gid of any file.
 }
 }
 
 
-var retval : longint;
-
 begin
 begin
   path:=path+#0;
   path:=path+#0;
- asm
-    lea %ebx,path
-    inc %ebx
-    push newgid
-    push newuid
-    push %ebx
-    mov  $16,%eax
-    int  $0x80
-    addl $12,%esp
-    mov %eax,retval
- end;
- Chown:=checkreturnvalue(retval,retval)=0;
+  ChOwn:=do_syscall(16,longint(@path[1],newuid,newgid);
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
 Function Utime(path:pathstr;utim:utimebuf):boolean;
 Function Utime(path:pathstr;utim:utimebuf):boolean;
-var
-  Retval : longint;
+
 begin
 begin
- asm
-    lea %ebx,path
-    inc %ebx
-    push utim
-    push %ebx
-    mov  $138,%eax
-    int  $0x80
-    addl $12,%esp
-    mov %eax,retval
- end;
- utime:=checkreturnvalue(retval,retval)=0;
- LinuxError:=Errno;
+  UTime:=do_syscall(138,longint(@path[1],utim);
+  LinuxError:=Errno;
 end;
 end;
 
 
 Function  Flock (fd,mode : longint) : boolean;
 Function  Flock (fd,mode : longint) : boolean;
 
 
-var
-  Retval : longint;
 begin
 begin
- asm
-    push mode
-    push fd
-    mov  $131,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- flock:=checkreturnvalue(retval,retval)=0;
+ Flock:=do_syscall(131,fd,mode)=0;
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
@@ -1786,31 +1591,19 @@ Function Fstat(Fd:Longint;var Info:stat):Boolean;
   Get all information on a file descriptor, and return it in info.
   Get all information on a file descriptor, and return it in info.
 }
 }
 
 
-var
-  Retval : longint;
 begin
 begin
- asm
-    push info
-    push fd
-    mov  $189,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- FStat:=checkreturnvalue(retval,retval)=0;
+ FStat:=do_syscall(189,fd,info)=0;
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
-
 Function  FStat(var F:Text;Var Info:stat):Boolean;
 Function  FStat(var F:Text;Var Info:stat):Boolean;
 {
 {
   Get all information on a text file, and return it in info.
   Get all information on a text file, and return it in info.
 }
 }
 begin
 begin
   FStat:=Fstat(TextRec(F).Handle,INfo);
   FStat:=Fstat(TextRec(F).Handle,INfo);
-end;
-
 
 
+end;
 
 
 Function  FStat(var F:File;Var Info:stat):Boolean;
 Function  FStat(var F:File;Var Info:stat):Boolean;
 {
 {
@@ -1828,43 +1621,22 @@ var
   Retval : longint;
   Retval : longint;
 begin
 begin
  FileName:=FileName+#0;
  FileName:=FileName+#0;
-  asm
-    lea filename,%ebx
-    inc  %ebx
-    push info
-    push %ebx
-    mov  $189,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- LStat:=checkreturnvalue(retval,retval)=0;
+ LStat:=Do_syscall(189,info,longint(@filename[1]))=0;
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
 Function FSStat(Path:Pathstr;Var Info:statfs):Boolean;
 Function FSStat(Path:Pathstr;Var Info:statfs):Boolean;
+
 {
 {
   Get all information on a fileSystem, and return it in Info.
   Get all information on a fileSystem, and return it in Info.
   Path is the name of a file/directory on the fileSystem you wish to
   Path is the name of a file/directory on the fileSystem you wish to
   investigate.
   investigate.
 }
 }
 
 
-var
-  Retval : longint;
 begin
 begin
   path:=path+#0;
   path:=path+#0;
-  asm
-    lea path,%ebx
-    inc  %ebx
-    push info
-    push %ebx
-    mov  $157,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- FSStat:=checkreturnvalue(retval,retval)=0;
- LinuxError:=Errno;
+  FSStat:=DoSyscall(157,longint(@path[1]),info);
+  LinuxError:=Errno;
 end;
 end;
 
 
 Function FSStat(Fd:Longint;Var Info:statfs):Boolean;
 Function FSStat(Fd:Longint;Var Info:statfs):Boolean;
@@ -1874,18 +1646,8 @@ Function FSStat(Fd:Longint;Var Info:statfs):Boolean;
   you wish to investigate.
   you wish to investigate.
 }
 }
 
 
-var
-  Retval : longint;
 begin
 begin
-  asm
-    push info
-    push fd
-    mov  $158,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- FSStat:=checkreturnvalue(retval,retval)=0;
+ FSStat:=do_syscall(158,fd,info);
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
@@ -1894,24 +1656,10 @@ Function Link(OldPath,NewPath:pathstr):boolean;
   Proceduces a hard link from new to old.
   Proceduces a hard link from new to old.
   In effect, new will be the same file as old.
   In effect, new will be the same file as old.
 }
 }
-var
-  retval : longint;
 begin
 begin
   oldpath:=oldpath+#0;
   oldpath:=oldpath+#0;
   newpath:=newpath+#0;
   newpath:=newpath+#0;
- asm
-    lea oldpath,%ebx
-    lea newpath,%ecx
-    inc  %ebx
-    inc  %ecx   
-    push %ecx
-    push %ebx
-    mov  $9,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- Link:=checkreturnvalue(retval,retval)=0;
+  Link:=DoSyscall(9,longint(@oldpath[1]),longint(@newpath[1]))=0;
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
@@ -1920,25 +1668,11 @@ Function SymLink(OldPath,newPath:pathstr):boolean;
   Proceduces a soft link from new to old.
   Proceduces a soft link from new to old.
 }
 }
 
 
-var
-  retval : longint;
-begin
+bwgin
   oldpath:=oldpath+#0;
   oldpath:=oldpath+#0;
   newpath:=newpath+#0;
   newpath:=newpath+#0;
- asm
-    lea oldpath,%ebx
-    lea newpath,%ecx
-    inc  %ebx
-    inc  %ecx   
-    push %ecx
-    push %ebx
-    mov  $57,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- SymLink:=checkreturnvalue(retval,retval)=0;
- LinuxError:=Errno;
+  SymLink:=DoSyscall(57,longint(@oldpath[1]),longint(@newpath[1]))=0;
+  LinuxError:=Errno;
 end;
 end;
 
 
 Function UnLink(Path:pathstr):boolean;
 Function UnLink(Path:pathstr):boolean;
@@ -1983,17 +1717,8 @@ Function Umask(Mask:Integer):integer;
   Sets file creation mask to (Mask and 0777 (octal) ), and returns the
   Sets file creation mask to (Mask and 0777 (octal) ), and returns the
   previous value.
   previous value.
 }
 }
-var
-  retval : longint;
 begin
 begin
- asm
-    pushw mask
-    mov  $60,%eax
-    int  $0x80
-    addl $2,%esp
-    mov %eax,retval
- end;
- Umask:=checkreturnvalue(retval,retval);
+ UMask:=Do_syscall(60,mask);
  LinuxError:=0;
  LinuxError:=0;
 end;
 end;
 
 
@@ -2011,21 +1736,9 @@ Function Access(Path:Pathstr ;mode:longint):boolean;
   Errors other than no access,are reported in linuxerror.
   Errors other than no access,are reported in linuxerror.
 }
 }
 
 
-var
-  retval : longint;
 begin
 begin
   path:=path+#0;
   path:=path+#0;
- asm
-    lea path,%ebx
-    inc  %ebx
-    push mode
-    push %ebx
-    mov  $33,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- Access:=checkreturnvalue(retval,retval)=0;
+ Access:=do_syscall(33,mode,longint(@path[1]));
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
@@ -2034,17 +1747,8 @@ Function  Dup(oldfile:longint;var newfile:longint):Boolean;
   Copies the filedescriptor oldfile to newfile
   Copies the filedescriptor oldfile to newfile
 }
 }
 
 
-var
-  retval : longint;
 begin
 begin
- asm
-    push oldfile
-    mov  $41,%eax
-    int  $0x80
-    addl $4,%esp
-    mov %eax,retval
- end;
- NewFile:=checkreturnvalue(retval,retval);
+ newfile:=Do_syscall($41,oldfile);
  LinuxError:=Errno;
  LinuxError:=Errno;
  Dup:=(LinuxError=0);
  Dup:=(LinuxError=0);
 end;
 end;
@@ -2079,18 +1783,9 @@ Function Dup2(oldfile,newfile:longint):Boolean;
 {
 {
   Copies the filedescriptor oldfile to newfile
   Copies the filedescriptor oldfile to newfile
 }
 }
-var
-  retval : longint;
+
 begin
 begin
- asm
-    push newfile
-    push oldfile
-    mov  $90,%eax
-    int  $0x80
-    addl $8,%esp
-    mov %eax,retval
- end;
- checkreturnvalue(retval,retval);
+ do_syscall(90,oldfile,newfile);
  LinuxError:=Errno;
  LinuxError:=Errno;
  Dup2:=(LinuxError=0);
  Dup2:=(LinuxError=0);
 end;
 end;
@@ -2306,7 +2001,7 @@ Function AssignPipe(var pipe_in,pipe_out:longint):boolean;
 var
 var
   pip  : tpipe;
   pip  : tpipe;
   retval  : LONGINT;
   retval  : LONGINT;
- 
+
 begin
 begin
  asm
  asm
     lea pip,%ebx
     lea pip,%ebx
@@ -2393,7 +2088,7 @@ Function PClose(Var F:text) :longint;
 var
 var
   pl  : ^longint;
   pl  : ^longint;
   res : longint;
   res : longint;
- 
+
 begin
 begin
   res:=Textrec(F).Handle;
   res:=Textrec(F).Handle;
   asm
   asm
@@ -2413,7 +2108,7 @@ Function PClose(Var F:file) : longint;
 var
 var
   pl : ^longint;
   pl : ^longint;
   res : longint;
   res : longint;
- 
+
 begin
 begin
   res:=filerec(F).Handle;
   res:=filerec(F).Handle;
   asm
   asm
@@ -2902,7 +2597,7 @@ begin
  end;
  end;
  Kill:=checkreturnvalue(retval,retval);
  Kill:=checkreturnvalue(retval,retval);
  if kill<0 THEN
  if kill<0 THEN
-  Kill:=0; 
+  Kill:=0;
  LinuxError:=Errno;
  LinuxError:=Errno;
 end;
 end;
 
 
@@ -4063,7 +3758,10 @@ End.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.3  2000-02-04 16:53:26  marco
+  Revision 1.4  2000-03-01 17:27:46  marco
+   * Fixed first half of linux unit to portable syscall struct.
+
+  Revision 1.3  2000/02/04 16:53:26  marco
    * Finished Linux (and rest syscalls) roughly. Some things still need to be
    * Finished Linux (and rest syscalls) roughly. Some things still need to be
     tested, and checked (off_t calls specially)
     tested, and checked (off_t calls specially)