Selaa lähdekoodia

* first x86-64 changes

marco 21 vuotta sitten
vanhempi
commit
639e387db1
1 muutettua tiedostoa jossa 29 lisäystä ja 5 poistoa
  1. 29 5
      rtl/freebsd/ptypes.inc

+ 29 - 5
rtl/freebsd/ptypes.inc

@@ -52,11 +52,19 @@ type
     TPid     = pid_t;
     pPid     = ^pid_t;
 
+{$ifdef CPU64}
+    size_t   = cuint64;
+{$else}
     size_t   = cuint32;         { as definied in the C standard}
+{$endif}
     TSize    = size_t;
     pSize    = ^size_t;		
 
-    ssize_t  = cint32;          { used by function for returning number of bytes }
+{$ifdef CPU64}
+    ssize_t  = cint64;          { used by function for returning number of bytes }
+{$else}
+    ssize_t  = cint32;          { used by function for returning number of bytes
+{$endif}
     TsSize   = ssize_t;
     psSize   = ^ssize_t;		
 
@@ -64,11 +72,16 @@ type
     TUid     = Uid_t;
     pUid     = ^Uid_t;
 
+{$ifdef CPU64} 
+    clock_t  = cuint32;		// 32-bit even on Athlon64
+{$else}
     clock_t  = culong;
+{$endif}
     TClock   = clock_t;
     pClock   = ^clock_t;
 
-    time_t   = clong;           { used for returning the time  }
+    time_t   = clong;           { used for returning the time, clong 
+					is 64-bit on AMD64}
     TTime    = time_t; 
     pTime    = ^time_t;
     ptime_t =  ^time_t;
@@ -77,6 +90,14 @@ type
     TSocklen = socklen_t;
     pSocklen = ^socklen_t;
 
+{$ifdef cpu64}
+    size_t   = cuint64;         { as definied in the C standard}
+    ssize_t  = cint64;          { used by function for returning number of bytes }
+    clock_t  = cuint64;
+    time_t   = cint64;           { used for returning the time  }
+{$else}
+
+
   timeval  = packed record
     tv_sec,tv_usec:clong;
   end;
@@ -84,7 +105,7 @@ type
   TTimeVal = timeval;
 
   timespec = packed record
-    tv_sec   : time_t;
+    tv_sec   : time_t;			// should be time_t, bug compability
     tv_nsec  : clong;
   end;
   ptimespec= ^timespec;
@@ -96,7 +117,7 @@ CONST
     NAME_MAX = 255;     {14}    { Maximum number of bytes in filename }
     PATH_MAX = 1024;    {255}   { Maximum number of bytes in pathname }
 
-    SYS_NMLN = 32;              {BSD utsname struct limit}
+    SYS_NMLN = 32;              {BSD utsname struct limit, kernel mode}
 
     SIG_MAXSIG      = 128;	// highest signal version
 //   wordsinsigset   = 4;		// words in sigset_t
@@ -104,7 +125,10 @@ CONST
 
 {
   $Log$
-  Revision 1.10  2004-03-04 22:15:16  marco
+  Revision 1.11  2004-05-17 19:18:38  marco
+   * first x86-64 changes
+
+  Revision 1.10  2004/03/04 22:15:16  marco
    * UnixType changes. Please report problems to me.
 
   Revision 1.9  2004/01/04 20:08:45  jonas