Browse Source

* Peter didn't merge the FreeBSD directory when he merged the Unix one. Fixed

marco 24 years ago
parent
commit
dbe013f847
3 changed files with 55 additions and 5 deletions
  1. 37 1
      rtl/freebsd/syscalls.inc
  2. 12 1
      rtl/freebsd/sysconst.inc
  3. 6 3
      rtl/freebsd/systypes.inc

+ 37 - 1
rtl/freebsd/syscalls.inc

@@ -454,10 +454,46 @@ begin
  {$endif}
 end;
 
+(*=================== MOVED from syslinux.inc ========================*)
+Function Sys_FTruncate(Handle,Pos:longint):longint;  //moved from sysunix.inc Do_Truncate
+begin
+  Sys_FTruncate:=do_syscall(syscall_nr_ftruncate,handle,pos,0);
+end;
+
+Function Sys_fstat(fd : longint;var Info:stat):Longint; // This was missing here, instead an fstat call was included in Do_FileSize
+begin
+  Sys_FStat:=do_SysCall(syscall_nr_fstat,fd,longint(@info));
+end;
+
+{$ifdef NewReaddir} 
+{$I readdir.inc}
+{$endif}
+
+
+{
+  Interface to Unix ioctl call.
+  Performs various operations on the filedescriptor Handle.
+  Ndx describes the operation to perform.
+  Data points to data needed for the Ndx function. The structure of this
+  data is function-dependent.
+}
+Function Sys_IOCtl(Handle,Ndx: Longint;Data: Pointer):LongInt;  // This was missing here, instead hardcoded in Do_IsDevice
+begin
+  Sys_IOCtl:=do_SysCall(syscall_nr_ioctl,handle,Ndx,longint(data));
+end;
+
+Function Sys_mmap(adr,len,prot,flags,fdes,off:longint):longint; // moved from sysunix.inc, used in sbrk
+begin
+  Sys_mmap:=do_syscall(syscall_nr_mmap,Adr,Len,Prot,Flags,fdes,off,0);
+end;
+
 
 {
   $Log$
-  Revision 1.5  2001-04-23 11:38:30  marco
+  Revision 1.6  2001-06-19 08:34:16  marco
+   * Peter didn't merge the FreeBSD directory when he merged the Unix one. Fixed
+
+  Revision 1.5  2001/04/23 11:38:30  marco
    * Small readdir fix from fixes branch.
 
   Revision 1.4  2000/09/19 09:57:35  marco

+ 12 - 1
rtl/freebsd/sysconst.inc

@@ -85,9 +85,20 @@ Const
   fs_proc     = $9fa0;
   fs_xia      = $012FD16D;
 
+  { Constansts for MMAP }
+  MAP_PRIVATE   =2;
+  MAP_ANONYMOUS =$1000;
+
+  {Constansts Termios/Ioctl (used in Do_IsDevice) }
+  IOCtl_TCGETS=$5401; // TCGETS is also in termios.inc, but the sysunix needs only this
+
+
 {
   $Log$
-  Revision 1.3  2001-01-23 20:37:14  marco
+  Revision 1.4  2001-06-19 08:34:16  marco
+   * Peter didn't merge the FreeBSD directory when he merged the Unix one. Fixed
+
+  Revision 1.3  2001/01/23 20:37:14  marco
    * Serial.pp in makefile, Open_Noccty added to sysconst.inc
 
   Revision 1.2  2000/09/18 13:42:35  marco

+ 6 - 3
rtl/freebsd/systypes.inc

@@ -74,10 +74,10 @@ type
             end;}
 
   PDir =^TDir;
-
+ dev_t  = CARDINAL;
 {$packrecords C}
  Stat =record {BSD version}
-        dev,                            { inode's device }
+        dev        :  dev_t;            { inode's device }
         ino        :  cardinal;         { inode's number }
         mode, 				{ inode protection mode }
         nlink	   :  word;             { number of hard links }
@@ -156,7 +156,10 @@ type
 
 {
   $Log$
-  Revision 1.5  2001-01-20 16:52:37  marco
+  Revision 1.6  2001-06-19 08:34:16  marco
+   * Peter didn't merge the FreeBSD directory when he merged the Unix one. Fixed
+
+  Revision 1.5  2001/01/20 16:52:37  marco
    * Grr, timeval and timespec were both wrong, and I fixed only one. Now
   done.