浏览代码

* Several small fixes to harmonize the *BSD rtls and Linux.

marco 22 年之前
父节点
当前提交
6c4e662ab1

+ 8 - 63
rtl/bsd/bunxmain.inc

@@ -25,78 +25,25 @@ Uses Sysctl;
 {$I bunxmacr.inc}
 
 {$ifdef uselibc}
-  {$Linklib c}
+   {$Linklib c}
 
 {   var
      Errno : cint; external name 'errno';}
-
-    function Fptime(var tloc:time_t): time_t; cdecl; external name 'time';
-    function Fpopen(path: pchar; flags : cint; mode: mode_t):cint; cdecl; external name 'open';
-    function Fpclose(fd : cint): cint; cdecl; external name 'close';
-    function Fplseek(fd : cint; offset : off_t; whence : cint): off_t; cdecl; external name 'lseek';
-    function Fpread(fd: cint; buf: pchar; nbytes : size_t): ssize_t; cdecl; external name 'read';
-    function Fpwrite(fd: cint;buf:pchar; nbytes : size_t): ssize_t; cdecl; external name 'write';
-    function Fpunlink(path: pchar): cint; cdecl; external name 'unlink';
-    function Fprename(old : pchar; const newpath: pchar): cint; cdecl;external name 'rename';
-    function Fpstat( path: pchar; var buf : stat): cint; cdecl; external name 'stat';
-    function Fpchdir(path : pchar): cint; cdecl; external name 'chdir';
-    function Fpmkdir(path : pchar; mode: mode_t):cint; cdecl; external name 'mkdir';
-    function Fprmdir(path : pchar): cint; cdecl; external name 'rmdir';
-    function Fpopendir(dirname : pchar): pdir; cdecl; external name 'opendir';
-    function Fpreaddir(var dirp : dir) : pdirent;cdecl; external name 'readdir';
-    function Fpclosedir(var dirp : dir): cint; cdecl; external name 'closedir';
-    procedure Fpexit(status : cint); cdecl; external name '_exit';
-    function Fpsigaction(sig: cint; var act : sigactionrec; var oact : sigactionrec): cint; cdecl; external name 'sigaction';
-    function Fpftruncate(fd : cint; flength : off_t): cint; cdecl; external name 'ftruncate';
-    function Fprename(old : pchar; newpath: pchar): cint; cdecl;external name 'rename';
-    function Fpfstat(fd : cint; var sb : stat): cint; cdecl; external name 'fstat';
-    function Fpfork : pid_t; cdecl; external name 'fork';
-    function Fpexecve(path : pchar; argv : ppchar; envp: ppchar): cint; cdecl; external name 'execve';
-    function Fpwaitpid(pid : pid_t; var stat_loc : cint; options: cint): pid_t; cdecl; external name 'waitpid';
-    function Fpaccess(pathname : pchar; amode : cint): cint; cdecl; external name 'access';
-    function Fpuname(var name: utsname): cint; cdecl; external name 'uname';
-    function FpDup(fildes:cint):cint; cdecl; external name 'dup';
-    function FpDup2(fildes:cint;fildes2:cint):cint; cdecl; external name 'dup2';
+   
+   {$i oscdeclh.inc}
 
 {$else}
-
-// uses syscalls.
-
-function Fptime(var tloc:time_t): time_t; external name 'FPC_SYSC_TIME';
-function Fpopen(path: pchar; flags : cint; mode: mode_t):cint;  external name 'FPC_SYSC_OPEN';
-function Fpclose(fd : cint): cint;  external name 'FPC_SYSC_CLOSE';
-function Fplseek(fd : cint; offset : off_t; whence : cint): off_t; external name 'FPC_SYSC_LSEEK';
-function Fpread(fd: cint; buf: pchar; nbytes : size_t): ssize_t; external name 'FPC_SYSC_READ';
-function Fpwrite(fd: cint;buf:pchar; nbytes : size_t): ssize_t;  external name 'FPC_SYSC_WRITE';
-function Fpunlink(path: pchar): cint;  external name 'FPC_SYSC_UNLINK';
-function Fprename(old : pchar; newpath: pchar): cint;  external name 'FPC_SYSC_RENAME';
-function Fpstat(path: pchar; var buf : stat):cint;  external name 'FPC_SYSC_STAT';
-function Fpchdir(path : pchar): cint; external name 'FPC_SYSC_CHDIR';
-function Fpmkdir(path : pchar; mode: mode_t):cint; external name 'FPC_SYSC_MKDIR';
-function Fprmdir(path : pchar): cint; external name 'FPC_SYSC_RMDIR';
-function Fpopendir(dirname : pchar): pdir; external name 'FPC_SYSC_OPENDIR';
-function Fpclosedir(var dirp : dir): cint; external name 'FPC_SYSC_CLOSEDIR';
-function Fpreaddir(var dirp : dir) : pdirent; external name 'FPC_SYSC_READDIR';
-procedure Fpexit(status : cint); external name 'FPC_SYSC_EXIT';
-function Fpsigaction(sig: cint; var act : sigactionrec; var oact : sigactionrec): cint;  external name 'FPC_SYSC_SIGACTION';
-function Fpftruncate(fd : cint; flength : off_t): cint; external name 'FPC_SYSC_FTRUNCATE';
-function Fpfstat(fd : cint; var sb : stat): cint; external name 'FPC_SYSC_FSTAT';
-function Fpfork : pid_t; external name 'FPC_SYSC_FORK';
-// function Fpexecve(path : pchar; argv : ppchar;envp: ppchar): cint; external name 'FPC_SYSC_EXECVE';
-function Fpwaitpid(pid : pid_t; var stat_loc : cint; options: cint): pid_t; external name 'FPC_SYSC_WAITPID';
-function Fpaccess(pathname : pchar; amode : cint): cint;external name 'FPC_SYSC_ACCESS';
-function FpDup(fildes:cint):cint;  external name 'FPC_SYSC_DUP';
-function FpDup2(fildes:cint;fildes2:cint):cint; external name 'FPC_SYSC_DUP2';
-function geterrno:cint; external name  'FPC_SYS_GETERRNO';
-procedure seterrno (i:cint); external name  'FPC_SYS_SETERRNO';
-
+   {$i sysdeclh.inc}
 {$endif}
 
 {$I bunxfunc.inc}
 
 {
  $Log$
- Revision 1.1  2003-01-05 19:01:28  marco
+ Revision 1.2  2003-06-01 16:35:27  marco
+  * Several small fixes to harmonize the *BSD rtls and Linux.
+
+ Revision 1.1  2003/01/05 19:01:28  marco
   * FreeBSD compiles now with baseunix mods.
 
  Revision 1.8  2002/10/27 17:21:29  marco
@@ -117,6 +64,4 @@ procedure seterrno (i:cint); external name  'FPC_SYS_SETERRNO';
  Revision 1.3  2002/08/19 12:29:11  marco
   * First working POSIX *BSD system unit.
 
-
-
 }

+ 21 - 1
rtl/bsd/bunxtype.inc

@@ -23,6 +23,12 @@
 
 {$i ptypes.inc}
 
+{$ifdef powerpc}
+ {$ifdef netbsd}
+   {$define netbsdpowerpc}
+{$endif}
+{$endif}
+
 //      CONST SYS_NMLN=65;
 
 // Can't find these two in Posix and in FreeBSD
@@ -57,11 +63,17 @@ TYPE
         st_mtimensec  : clong;             // nsec of last data modification
         st_ctime      : time_t;            // time of last file status change
         st_ctimensec  : clong;             // nsec of last file status change
+{$ifdef netbsdPowerpc}
+	st_padd1	      : cint;
+{$endif}
         st_size       : off_t;             // file size, in bytes
         st_blocks     : cint64;            // blocks allocated for file
         st_blksize    : cuint32;           // optimal blocksize for I/O
         st_flags      : cuint32;           // user defined flags for file
         st_gen        : cuint32;           // file generation number
+{$ifdef netbsdPowerpc}
+	st_padd2	      : cint;
+{$endif}
 {$ifndef NetBSD}
         st_lspare     : cint32;
 {$endif}
@@ -87,7 +99,12 @@ TYPE
         dd_size   : clong;        // amount of data returned by getdirentries
         dd_buf    : pchar;        // data buffer
         dd_len    : cint;         // size of data buffer
+{$ifdef netbsdpowerpc}
+	dd_pad1   : cint;
+        dd_seek   : cint64;        // magic cookie returned by getdirentries
+{$else}
         dd_seek   : clong;        // magic cookie returned by getdirentries
+{$endif}
         dd_rewind : clong;        // magic cookie for rewinding
         dd_flags  : cint;         // flags for readdir
    end;
@@ -174,7 +191,10 @@ CONST
 
 {
   $Log$
-  Revision 1.1  2003-01-03 15:45:21  marco
+  Revision 1.2  2003-06-01 16:35:27  marco
+   * Several small fixes to harmonize the *BSD rtls and Linux.
+
+  Revision 1.1  2003/01/03 15:45:21  marco
    * Renamed to bunxtype.inc (from osposixh.inc), some minor changes
       (as introduced going from posix unit to baseunix)
 

+ 6 - 1
rtl/bsd/powerpc/syscall.inc

@@ -141,6 +141,7 @@ asm
   lis   r4,Errno@ha
   stw   r3,Errno@l(r4)
   li    r3,-1
+  li    r4,-1
 end;
 
 function FpSysCall(sysnr,param1,param2,param3,param4,param5,param6,param7:TSysParam):TSysResult; assembler;[public,alias:'FPC_SYSCALL7'];
@@ -162,12 +163,16 @@ asm
   lis   r4,Errno@ha
   stw   r3,Errno@l(r4)
   li    r3,-1
+  li    r4,-1
 end;
 
 
 {
   $Log$
-  Revision 1.4  2003-05-29 13:42:58  marco
+  Revision 1.5  2003-06-01 16:35:28  marco
+   * Several small fixes to harmonize the *BSD rtls and Linux.
+
+  Revision 1.4  2003/05/29 13:42:58  marco
    * small fix
 
   Revision 1.3  2003/05/29 13:14:07  marco

+ 6 - 3
rtl/bsd/powerpc/syscallh.inc

@@ -40,12 +40,15 @@ function Do_SysCall(sysnr,param1,param2:TSysParam):TSysResult;  external name 'F
 function Do_SysCall(sysnr,param1,param2,param3:TSysParam):TSysResult; external name 'FPC_SYSCALL3';
 function Do_SysCall(sysnr,param1,param2,param3,param4:TSysParam):TSysResult; external name 'FPC_SYSCALL4';
 function Do_SysCall(sysnr,param1,param2,param3,param4,param5:TSysParam):TSysResult;  external name 'FPC_SYSCALL5';
-function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6:TSysParam):TSysResult;  external name 'FPC_SYSCALL6';
-function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6,param7:TSysParam):TSysResult;  external name 'FPC_SYSCALL7';
+function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6:TSysParam):int64;  external name 'FPC_SYSCALL6';
+function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6,param7:TSysParam):int64;  external name 'FPC_SYSCALL7';
 
 {
   $Log$
-  Revision 1.1  2003-05-25 14:07:26  jonas
+  Revision 1.2  2003-06-01 16:35:28  marco
+   * Several small fixes to harmonize the *BSD rtls and Linux.
+
+  Revision 1.1  2003/05/25 14:07:26  jonas
     + added from linux
 
   Revision 1.2  2003/05/11 16:07:55  jonas

+ 11 - 5
rtl/freebsd/Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2003/04/01]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2003/05/30]
 #
 default: all
-MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx emx
+MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx
 override PATH:=$(subst \,/,$(PATH))
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
@@ -32,7 +32,7 @@ inOS2=1
 endif
 endif
 else
-ifneq ($(findstring cygwin,$(MACHTYPE)),)
+ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 endif
 endif
@@ -532,6 +532,12 @@ ifeq ($(OS_TARGET),macos)
 EXEEXT=
 FPCMADE=fpcmade.mcc
 endif
+ifeq ($(OS_TARGET),darwin)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.darwin
+ZIPSUFFIX=darwin
+endif
 else
 ifeq ($(OS_TARGET),go32v1)
 PPUEXT=.pp1
@@ -1001,7 +1007,7 @@ override COMPILER:=$(FPC) $(FPCOPT)
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 else
-ifeq ($(OS_SOURCE),$(OS_TARGET))
+ifeq ($(FULL_SOURCE),$(FULL_TARGET))
 EXECPPAS:=@$(PPAS)
 endif
 endif
@@ -1314,7 +1320,7 @@ objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
 strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
 		   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
 		   $(SYSTEMUNIT)$(PPUEXT)
-baseunix$(PPUEXT) : $(UNIXINC)/errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
+baseunix$(PPUEXT) : errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
 	signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \
 	$(BSDINC)/bunxfunc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
 	$(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \

+ 1 - 1
rtl/freebsd/Makefile.fpc

@@ -130,7 +130,7 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
 # System Dependent Units
 #
 
-baseunix$(PPUEXT) : $(BSDINC)/errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
+baseunix$(PPUEXT) : errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
 	signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \
 	$(BSDINC)/bunxfunc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
 	$(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \

+ 8 - 5
rtl/freebsd/syscalls.inc

@@ -71,7 +71,7 @@ function Do_SysCall(sysnr,param1:longint):longint; assembler;
   movw  %bx,Errno
  end;
 
-function Do_SysCall(sysnr,param1:integer):longint; assembler;
+{function Do_SysCall(sysnr,param1:integer):longint; assembler;
 
  asm
   movl  sysnr,%eax
@@ -80,7 +80,7 @@ function Do_SysCall(sysnr,param1:integer):longint; assembler;
   add   $2,%esp
   movw  %bx,Errno
  end;
-
+}
 
 function Do_SysCall(sysnr,param1,param2:LONGINT):longint; assembler;
 
@@ -133,7 +133,7 @@ function Do_SysCall(sysnr,param1,param2,param3,param4,param5:LONGINT):longint;
    movw  %bx,Errno
  end;
 
-function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6:LONGINT):longint;  assembler;
+function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6:LONGINT):int64;  assembler;
 
 asm
    movl  sysnr,%eax
@@ -149,7 +149,7 @@ asm
 end;
 
 
-function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6,param7:LONGINT):longint;  assembler;
+function Do_SysCall(sysnr,param1,param2,param3,param4,param5,param6,param7:LONGINT):int64;  assembler;
 
 asm
    movl  sysnr,%eax
@@ -514,7 +514,10 @@ end;
 
 {
   $Log$
-  Revision 1.10  2003-01-05 19:02:29  marco
+  Revision 1.11  2003-06-01 16:35:28  marco
+   * Several small fixes to harmonize the *BSD rtls and Linux.
+
+  Revision 1.10  2003/01/05 19:02:29  marco
    * Should now work with baseunx. (gmake all works)
 
   Revision 1.9  2002/09/07 16:01:17  peter

+ 17 - 6
rtl/netbsd/Makefile

@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 1.1 [2003/04/01]
+# Don't edit, this file is generated by FPCMake Version 1.1 [2003/05/30]
 #
 default: all
-MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx emx
+MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx
 override PATH:=$(subst \,/,$(PATH))
 ifeq ($(findstring ;,$(PATH)),)
 inUnix=1
@@ -32,7 +32,7 @@ inOS2=1
 endif
 endif
 else
-ifneq ($(findstring cygwin,$(MACHTYPE)),)
+ifneq ($(findstring cygdrive,$(PATH)),)
 inCygWin=1
 endif
 endif
@@ -230,7 +230,12 @@ GRAPHDIR=$(INC)/graph
 ifndef USELIBGGI
 USELIBGGI=NO
 endif
-override TARGET_UNITS+=$(SYSTEMUNIT) objpas strings baseunix $(LINUXUNIT) unix initc dos crt objects printer sysutils typinfo math varutils cpu mmx charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard  serial variants types systhrds sysctl
+override TARGET_UNITS+=$(SYSTEMUNIT) objpas strings baseunix $(LINUXUNIT) unix initc dos crt objects printer sysutils typinfo math varutils charset ucomplex getopts heaptrc lineinfo errors sockets gpm ipc terminfo video mouse keyboard  serial variants types systhrds sysctl
+ifeq ($(OS_TARGET),netbsd)
+ifeq ($(CPU_TARGET),i386)
+override TARGET_UNITS+=mmx cpu
+endif
+endif
 override TARGET_LOADERS+=prt0 cprt0
 override TARGET_RSTS+=math varutils typinfo
 override INSTALL_FPCPACKAGE=y y
@@ -532,6 +537,12 @@ ifeq ($(OS_TARGET),macos)
 EXEEXT=
 FPCMADE=fpcmade.mcc
 endif
+ifeq ($(OS_TARGET),darwin)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.darwin
+ZIPSUFFIX=darwin
+endif
 else
 ifeq ($(OS_TARGET),go32v1)
 PPUEXT=.pp1
@@ -1001,7 +1012,7 @@ override COMPILER:=$(FPC) $(FPCOPT)
 ifeq (,$(findstring -s ,$(COMPILER)))
 EXECPPAS=
 else
-ifeq ($(OS_SOURCE),$(OS_TARGET))
+ifeq ($(FULL_SOURCE),$(FULL_TARGET))
 EXECPPAS:=@$(PPAS)
 endif
 endif
@@ -1314,7 +1325,7 @@ objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
 strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
 		   $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
 		   $(SYSTEMUNIT)$(PPUEXT)
-baseunix$(PPUEXT) : $(BSDINC)/errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
+baseunix$(PPUEXT) : errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
 	signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \
 	$(BSDINC)/bunxfunc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
 	$(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \

+ 1 - 1
rtl/netbsd/Makefile.fpc

@@ -131,7 +131,7 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
 # System Dependent Units
 #
 
-baseunix$(PPUEXT) : $(BSDINC)/errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
+baseunix$(PPUEXT) : errno.inc $(BSDINC)/bunxtype.inc ptypes.inc $(BSDINC)/ctypes.inc \
 	signal.inc $(UNIXINC)/bunxh.inc $(BSDINC)/bunxmain.inc $(BSDINC)/ostypes.inc \
 	$(BSDINC)/bunxfunc.inc $(BSDPROCINC)/syscallh.inc sysnr.inc \
 	$(BSDINC)/ostypes.inc $(BSDINC)/ossysch.inc $(BSDINC)/bunxmacr.inc $(UNIXINC)/gensigset.inc \

+ 147 - 0
rtl/netbsd/errno.inc

@@ -0,0 +1,147 @@
+{
+    $Id$
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 1999-2000 by Michael Van Canneyt,
+    member of the Free Pascal development team.
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+{
+
+  Errno.inc : define all error numbers, kernel version 1.2.13
+
+}
+Const
+
+  
+       	ESysEPERM		= 1;		{ Operation not permitted }
+       	ESysENOENT		= 2;		{ No such file or directory }
+       	ESysESRCH		= 3;		{ No such process }
+       	ESysEINTR		= 4;		{ Interrupted system call }
+       	ESysEIO			= 5;		{ Input/output error }
+       	ESysENXIO		= 6;		{ Device not configured }
+       	ESysE2BIG		= 7;		{ Argument list too long }
+       	ESysENOEXEC		= 8;		{ Exec format error }
+       	ESysEBADF		= 9;		{ Bad file descriptor }
+       	ESysECHILD		= 10;		{ No child processes }
+       	ESysEDEADLK		= 11;		{ Resource deadlock avoided }
+					{ 11 was EAGAIN }
+       	ESysENOMEM		= 12;		{ Cannot allocate memory }
+       	ESysEACCES		= 13;		{ Permission denied }
+       	ESysEFAULT		= 14;		{ Bad address }
+       	ESysENOTBLK		= 15;		{ Block device required }
+       	ESysEBUSY		= 16;		{ Device busy }
+       	ESysEEXIST		= 17;		{ File exists }
+       	ESysEXDEV		= 18;		{ Cross-device link }
+       	ESysENODEV		= 19;		{ Operation not supported by device }
+       	ESysENOTDIR		= 20;		{ Not a directory }
+       	ESysEISDIR		= 21;		{ Is a directory }
+       	ESysEINVAL		= 22;		{ Invalid argument }
+       	ESysENFILE		= 23;		{ Too many open files in system }
+       	ESysEMFILE		= 24;		{ Too many open files }
+       	ESysENOTTY		= 25;		{ Inappropriate ioctl for device }
+       	ESysETXTBSY		= 26;		{ Text file busy }
+       	ESysEFBIG		= 27;		{ File too large }
+       	ESysENOSPC		= 28;		{ No space left on device }
+       	ESysESPIPE		= 29;		{ Illegal seek }
+       	ESysEROFS		= 30;		{ Read-only file system }
+       	ESysEMLINK		= 31;		{ Too many links }
+       	ESysEPIPE		= 32;		{ Broken pipe }
+                        
+{ math software }
+       	ESysEDOM		= 33;		{ Numerical argument out of domain }
+       	ESysERANGE		= 34;		{ Result too large }
+
+{ non-blocking and interrupt i/o }
+       	ESysEAGAIN		= 35;		{ Resource temporarily unavailable }
+       	ESysEWOULDBLOCK		= ESysEAGAIN;	{ Operation would block }
+       	ESysEINPROGRESS		= 36;		{ Operation now in progress }
+       	ESysEALREADY		= 37;		{ Operation already in progress }
+       
+{ ipc/network software -  - argument errors }
+       	ESysENOTSOCK		= 38;		{ Socket operation on non-socket }
+       	ESysEDESTADDRREQ	= 39;		{ Destination address required }
+       	ESysEMSGSIZE		= 40;		{ Message too long }
+       	ESysEPROTOTYPE		= 41;		{ Protocol wrong type for socket }
+       	ESysENOPROTOOPT		= 42;		{ Protocol not available }
+       	ESysEPROTONOSUPPORT	= 43;		{ Protocol not supported }
+       	ESysESOCKTNOSUPPORT	= 44;		{ Socket type not supported }
+       	ESysEOPNOTSUPP		= 45;		{ Operation not supported }
+       	ESysENOTSUP		= ESysEOPNOTSUPP;	{ Operation not supported }
+       	ESysEPFNOSUPPORT	= 46;		{ Protocol family not supported }
+       	ESysEAFNOSUPPORT	= 47;		{ Address family not supported by protocol family }
+       	ESysEADDRINUSE		= 48;		{ Address already in use }
+       	ESysEADDRNOTAVAIL	= 49;		{ Can't assign requested address }
+                        
+{ ipc/network software -  - operational errors }
+       	ESysENETDOWN		= 50;		{ Network is down }
+       	ESysENETUNREACH		= 51;		{ Network is unreachable }
+       	ESysENETRESET		= 52;		{ Network dropped connection on reset }
+       	ESysECONNABORTED	= 53;		{ Software caused connection abort }
+       	ESysECONNRESET		= 54;		{ Connection reset by peer }
+       	ESysENOBUFS		= 55;		{ No buffer space available }
+       	ESysEISCONN		= 56;		{ Socket is already connected }
+       	ESysENOTCONN		= 57;		{ Socket is not connected }
+       	ESysESHUTDOWN		= 58;		{ Can't send after socket shutdown }
+       	ESysETOOMANYREFS	= 59;		{ Too many references: can't splice }
+       	ESysETIMEDOUT		= 60;		{ Operation timed out }
+       	ESysECONNREFUSED	= 61;		{ Connection refused }
+
+       	ESysELOOP		= 62;		{ Too many levels of symbolic links }
+       	ESysENAMETOOLONG	= 63;		{ File name too long }
+                            
+{ should be rearranged }    
+       	ESysEHOSTDOWN		= 64;		{ Host is down }
+       	ESysEHOSTUNREACH	= 65;		{ No route to host }
+       	ESysENOTEMPTY		= 66;		{ Directory not empty }
+                        
+{ quotas & mush }       
+       	ESysEPROCLIM		= 67;		{ Too many processes }
+       	ESysEUSERS		= 68;		{ Too many users }
+       	ESysEDQUOT		= 69;		{ Disc quota exceeded }
+
+{ Network File System }
+       	ESysESTALE		= 70;		{ Stale NFS file handle }
+       	ESysEREMOTE		= 71;		{ Too many levels of remote in path }
+       	ESysEBADRPC		= 72;		{ RPC struct is bad }
+       	ESysERPCMISMATCH	= 73;		{ RPC version wrong }
+       	ESysEPROGUNAVAIL	= 74;		{ RPC prog. not avail }
+       	ESysEPROGMISMATCH	= 75;		{ Program version wrong }
+       	ESysEPROCUNAVAIL	= 76;		{ Bad procedure for program }
+                        
+       	ESysENOLCK		= 77;		{ No locks available }
+       	ESysENOSYS		= 78;		{ Function not implemented }
+
+       	ESysEFTYPE		= 79;		{ Inappropriate file type or format }
+       	ESysEAUTH		= 80;		{ Authentication error }
+       	ESysENEEDAUTH		= 81;		{ Need authenticator }
+       	ESysEIDRM		= 82;		{ Identifier removed }
+       	ESysENOMSG		= 83;		{ No message of desired type }
+       	ESysEOVERFLOW		= 84;		{ Value too large to be stored in data type }
+       	ESysECANCELED		= 85;		{ Operation canceled }
+       	ESysEILSEQ		= 86;		{ Illegal byte sequence }
+       	ESysELAST		= 86;		{ Must be equal largest errno }
+
+
+
+{
+  $Log$
+  Revision 1.1  2003-06-01 16:35:28  marco
+   * Several small fixes to harmonize the *BSD rtls and Linux.
+
+  Revision 1.4  2003/01/21 14:03:03  marco
+   * Hmm, still was linux version in 1.1?
+
+  Revision 1.3  2003/01/03 00:06:39  marco
+   * Fixed
+
+  Revision 1.2  2002/09/07 16:01:17  peter
+    * old logs removed and tabs fixed
+
+}