	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;
				sival_ptr*: PtrVoid
			END;

		(* Ubuntu 17.10 /usr/include/i386-linux-gnu/sys/ucontext.h: *)
			greg_t* = int;
			gregset_t* = ARRAY [untagged] 19 OF greg_t;
			fpregset_t* = POINTER [untagged] TO fpstate;
			fpreg* = RECORD [untagged]
				significand*: ARRAY [untagged] 4 OF SHORTINT; (* unsigned short int *)
				exponent*: SHORTINT; (* unsigned short int *)
			END;
			fpstate* = RECORD [untagged]
				cw*: INTEGER; (* unsigned long int *)
				sw*: INTEGER; (* unsigned long int *)
				tag*: INTEGER; (* unsigned long int *)
				ipoff*: INTEGER; (* unsigned long int *)
				cssel*: INTEGER; (* unsigned long int *)
				dataoff*: INTEGER; (* unsigned long int *)
				datasel*: INTEGER; (* unsigned long int *)
				_st: ARRAY [untagged] 8 OF fpreg;
				status*: INTEGER; (* unsigned long int *)
			END;

(*
	VAR
		timezone*: INTEGER; (* seconds from GMT *)
		stdin*, stdout*, stderr* : PtrFILE;
*)

	PROCEDURE [ccall] __errno_location*(): PtrVoid;

	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] fseeko64* (stream: PtrFILE; off: off64_t; whence: int): int;

	PROCEDURE [ccall] sigsetjmp* ["__sigsetjmp"] (VAR env: sigjmp_buf; savemask: int): int;
