mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 07:59:34 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
{
 | 
						|
    $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.
 | 
						|
 | 
						|
    OS dependant types internal to the Linux RTL.
 | 
						|
 | 
						|
    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.
 | 
						|
 | 
						|
 **********************************************************************}
 | 
						|
 | 
						|
Type
 | 
						|
 | 
						|
{
 | 
						|
 Linux system calls take arguments as follows :
 | 
						|
 | 
						|
   i386    m68k    ppc
 | 
						|
   %eax    %d0     r0      System call number
 | 
						|
   %ebx    %d1     r3      first argument
 | 
						|
   %ecx    %d2     r4      second argument
 | 
						|
   %edx    %d3     r5      third argumens
 | 
						|
   %esi    %d3     r6      fourth argument
 | 
						|
   %edi    %d4     r7      fifth argument
 | 
						|
 | 
						|
  That is why we define a special type, with only these arguments
 | 
						|
  To make it processor independent, we don't give any system dependent
 | 
						|
  names, but the rather abstract reg1,reg2 etc;
 | 
						|
}
 | 
						|
 | 
						|
  SysCallRegs = record
 | 
						|
                 reg1,
 | 
						|
                 reg2,
 | 
						|
                 reg3,
 | 
						|
                 reg4,
 | 
						|
                 reg5,
 | 
						|
                 reg6   : longint;
 | 
						|
                end;
 | 
						|
  PSysCallRegs= ^SysCallRegs;
 | 
						|
  TSysCallRegs= SysCallRegs;
 | 
						|
 | 
						|
  timezone = packed record
 | 
						|
    minuteswest,dsttime:longint;
 | 
						|
  end;
 | 
						|
  ptimezone =^timezone;
 | 
						|
  TTimeZone = timezone;
 | 
						|
 | 
						|
Const   // generated by statmacr.c
 | 
						|
  S_IFMT  = 61440; { type of file mask}
 | 
						|
  S_IFIFO = 4096;  { named pipe (fifo)}
 | 
						|
  S_IFCHR = 8192;  { character special}
 | 
						|
  S_IFDIR = 16384; { directory }
 | 
						|
  S_IFBLK = 24576; { block special}
 | 
						|
  S_IFREG = 32768; { regular }
 | 
						|
  S_IFLNK = 40960; { symbolic link }
 | 
						|
  S_IFSOCK= 49152; { socket }
 | 
						|
 | 
						|
{
 | 
						|
 $Log$
 | 
						|
 Revision 1.5  2003-09-27 13:45:58  peter
 | 
						|
   * fpnanosleep exported in baseunix
 | 
						|
   * fpnanosleep has pointer arguments to be C compliant
 | 
						|
 | 
						|
 Revision 1.4  2003/09/17 11:24:46  marco
 | 
						|
  * fixes for new macro's
 | 
						|
 | 
						|
 Revision 1.3  2003/09/14 20:15:01  marco
 | 
						|
  * Unix reform stage two. Remove all calls from Unix that exist in Baseunix.
 | 
						|
 | 
						|
 Revision 1.2  2002/12/18 16:43:26  marco
 | 
						|
  * new unix rtl, linux part.....
 | 
						|
 | 
						|
 Revision 1.1  2002/11/12 14:37:59  marco
 | 
						|
  * Parts of new unix rtl
 | 
						|
 | 
						|
}
 |