index 35d59d0c5ef89518c4f5087eb1e47352e2b13dee..e1d144df8dc3983ba63f463257bcc430e53ada4c 100644 (file)
(* MAP_PRIVATE, MAP_ANON (intFlags) *)
MAP_SHARED* = {0}; (* Share changes *)
MAP_PRIVATE* = {1}; (* Changes are private *)
+ MAP_SHARED_VALIDATE* = {0,1}; (* share + validate extension flags *)
MAP_TYPE* = {0..3}; (* Mask for type of mapping *)
MAP_FIXED* = {4}; (* Interpret addr exactly *)
MAP_ANONYMOUS* = {5}; (* don't use a file *)
MAP_FILE* = {};
- MAP_HUGE_SHIFT* = {1,3,4};
- MAP_HUGE_MASK* = {0..5};
MAP_ANON* = MAP_ANONYMOUS;
(* POSIX.1 *)
PROCEDURE [ccall] stat* (path: PtrSTR; VAR sp: stat_t): int;
*)
+ CONST
+ (* Ubuntu 18.04 /usr/include/i386-linux-gnu/bits/stat.h *)
+ _STAT_VER_LINUX* = 3;
+
TYPE
+ off64_t* = LONGINT;
+ blkcnt64_t* = LONGINT;
+ ino64_t* = LONGINT;
+
+ (* Ubuntu 18.04 /usr/include/i386-linux-gnu/bits/stat.h: *)
+ stat64_t* = RECORD [untagged]
+ st_dev*: dev_t;
+ __pad1: int; (* unsigned int *)
+ __st_ino: ino_t;
+ st_mode*: mode_t;
+ st_nlink*: nlink_t;
+ st_uid*: uid_t;
+ st_gid*: gid_t;
+ st_rdev*: dev_t;
+ __pad2: int; (* unsigned int *)
+ st_size*: off64_t;
+ st_blksize*: blksize_t;
+ st_blocks*: blkcnt64_t;
+ st_atim*: timespec_t;
+ st_mtim*: timespec_t;
+ st_ctim*: timespec_t;
+ st_ino*: ino64_t;
+ END;
+
(* Ubuntu 17.10 /usr/include/i386-linux-gnu/bits/types/sigval_t.h: *)
sigval_t* = RECORD [union]
sival_int*: int;
stdin*, stdout*, stderr* : PtrFILE;
*)
- PROCEDURE [ccall] __errno_location*(): INTEGER;
+ PROCEDURE [ccall] __errno_location*(): PtrVoid;
- PROCEDURE [ccall] __xstat* (version: INTEGER; filename: PtrSTR; VAR buf: stat_t): INTEGER;
+ PROCEDURE [ccall] __xstat* (version: int; filename: PtrSTR; VAR buf: stat_t): int;
+ PROCEDURE [ccall] __xstat64* (version: int; filename: PtrSTR; VAR buf: stat64_t): int;
+ PROCEDURE [ccall] fopen64* (path, mode: PtrSTR): PtrFILE;
+ PROCEDURE [ccall] lseek64* (fd: int; offset: off64_t; whence: int): off64_t;
PROCEDURE [ccall] sigsetjmp* ["__sigsetjmp"] (VAR env: sigjmp_buf; savemask: int): int;
PROCEDURE [ccall] write* (d: int; buf: PtrVoid; nbytes: size_t): ssize_t;
PROCEDURE [ccall] read* (d: int; buf: PtrVoid; nbytes: size_t): ssize_t;
PROCEDURE [ccall] close* (d: int): int;
- PROCEDURE [ccall] lseek* (d: int; offset: off_t; whence: int): off_t;
(* POSIX.1 *)
PROCEDURE [ccall] chmod* (path: PtrSTR; mode: mode_t): int;