DEADSOFTWARE

fopen → fopen64
[bbcp.git] / BlackBox / _Linux_ / Lin / Mod / Libc.txt
index 35d59d0c5ef89518c4f5087eb1e47352e2b13dee..e1d144df8dc3983ba63f463257bcc430e53ada4c 100644 (file)
@@ -17,12 +17,11 @@ MODULE LinLibc ["libc.so.6"];
                (* 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;
 
 
@@ -512,7 +511,35 @@ MODULE LinLibc ["libc.so.6"];
        (* 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;
@@ -545,9 +572,12 @@ MODULE LinLibc ["libc.so.6"];
                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;
 
@@ -636,7 +666,6 @@ MODULE LinLibc ["libc.so.6"];
                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;