summaryrefslogtreecommitdiff
path: root/ULibc.pas
diff options
context:
space:
mode:
Diffstat (limited to 'ULibc.pas')
-rw-r--r--ULibc.pas448
1 files changed, 0 insertions, 448 deletions
diff --git a/ULibc.pas b/ULibc.pas
index cf3e528..d445e62 100644
--- a/ULibc.pas
+++ b/ULibc.pas
@@ -25,7 +25,6 @@ interface
const GLIBC_LIB = 'libc.so.6';
DL_LIB = 'libdl.so.2';
- PTHREAD_LIB = 'libpthread.so.0';
type
cUShort = Word;
@@ -53,7 +52,6 @@ type
clock_t = Cardinal;
{$ENDIF}
- sig_atomic_t = Longint;
error_t = Integer;
__mode_t = DWORD;
__dev_t = QWORD;
@@ -71,10 +69,6 @@ type
__blkcnt64_t = Int64;
- Pidtype_t = ^idtype_t;
- idtype_t = (P_ALL,P_PID,P_PGID);
-
- Psiginfo_t = Pointer;
Prusage = Pointer;
PDIR = Pointer;
PFILE = Pointer;
@@ -278,170 +272,6 @@ type
end;
PPGroup = ^PGroup;
- Psigval = ^sigval;
- sigval = record
- case longint of
- 0 : ( sival_int : longint );
- 1 : ( sival_ptr : pointer );
- end;
- sigval_t = sigval;
- Psigval_t = ^sigval_t;
-
-const
- _SIGSET_NWORDS = 1024 div (8 * (sizeof(dword)));
-
-type
- __sighandler_t = procedure(SigNum: Integer); cdecl;
- P__sigset_t = ^__sigset_t;
- __sigset_t = record
- __val : array[0..(_SIGSET_NWORDS)-1] of dword;
- end;
- sigset_t = __sigset_t;
- Psigset_t = ^sigset_t;
- P_sigaction = ^_sigaction;
- _sigaction = record // Renamed, avoid conflict with sigaction function
- case integer of
- 1: (sa_handler : __sighandler_t;
- sa_mask : __sigset_t;
- sa_flags : longint;
- sa_restorer : procedure ;cdecl;
- );
- // Kylix compatibility
- 2: (__sigaction_handler: __sighandler_t);
- end;
- TSigAction = _sigaction;
- PSigAction = ^TSigAction;
- TRestoreHandler = procedure; cdecl;
- __sigaction = _sigaction;
- TSigActionHandler = procedure(Signal: Integer); cdecl;
-
-const
- EPERM = 1;
- ENOENT = 2;
- ESRCH = 3;
- EINTR = 4;
- EIO = 5;
- ENXIO = 6;
- E2BIG = 7;
- ENOEXEC = 8;
- EBADF = 9;
- ECHILD = 10;
- EAGAIN = 11;
- ENOMEM = 12;
- EACCES = 13;
- EFAULT = 14;
- ENOTBLK = 15;
- EBUSY = 16;
- EEXIST = 17;
- EXDEV = 18;
- ENODEV = 19;
- ENOTDIR = 20;
- EISDIR = 21;
- EINVAL = 22;
- ENFILE = 23;
- EMFILE = 24;
- ENOTTY = 25;
- ETXTBSY = 26;
- EFBIG = 27;
- ENOSPC = 28;
- ESPIPE = 29;
- EROFS = 30;
- EMLINK = 31;
- EPIPE = 32;
- EDOM = 33;
- ERANGE = 34;
- EDEADLK = 35;
- ENAMETOOLONG = 36;
- ENOLCK = 37;
- ENOSYS = 38;
- ENOTEMPTY = 39;
- ELOOP = 40;
- EWOULDBLOCK = EAGAIN;
- ENOMSG = 42;
- EIDRM = 43;
- ECHRNG = 44;
- EL2NSYNC = 45;
- EL3HLT = 46;
- EL3RST = 47;
- ELNRNG = 48;
- EUNATCH = 49;
- ENOCSI = 50;
- EL2HLT = 51;
- EBADE = 52;
- EBADR = 53;
- EXFULL = 54;
- ENOANO = 55;
- EBADRQC = 56;
- EBADSLT = 57;
- EDEADLOCK = EDEADLK;
- EBFONT = 59;
- ENOSTR = 60;
- ENODATA = 61;
- ETIME = 62;
- ENOSR = 63;
- ENONET = 64;
- ENOPKG = 65;
- EREMOTE = 66;
- ENOLINK = 67;
- EADV = 68;
- ESRMNT = 69;
- ECOMM = 70;
- EPROTO = 71;
- EMULTIHOP = 72;
- EDOTDOT = 73;
- EBADMSG = 74;
- EOVERFLOW = 75;
- ENOTUNIQ = 76;
- EBADFD = 77;
- EREMCHG = 78;
- ELIBACC = 79;
- ELIBBAD = 80;
- ELIBSCN = 81;
- ELIBMAX = 82;
- ELIBEXEC = 83;
- EILSEQ = 84;
- ERESTART = 85;
- ESTRPIPE = 86;
- EUSERS = 87;
- ENOTSOCK = 88;
- EDESTADDRREQ = 89;
- EMSGSIZE = 90;
- EPROTOTYPE = 91;
- ENOPROTOOPT = 92;
- EPROTONOSUPPORT = 93;
- ESOCKTNOSUPPORT = 94;
- EOPNOTSUPP = 95;
- EPFNOSUPPORT = 96;
- EAFNOSUPPORT = 97;
- EADDRINUSE = 98;
- EADDRNOTAVAIL = 99;
- ENETDOWN = 100;
- ENETUNREACH = 101;
- ENETRESET = 102;
- ECONNABORTED = 103;
- ECONNRESET = 104;
- ENOBUFS = 105;
- EISCONN = 106;
- ENOTCONN = 107;
- ESHUTDOWN = 108;
- ETOOMANYREFS = 109;
- ETIMEDOUT = 110;
- ECONNREFUSED = 111;
- EHOSTDOWN = 112;
- EHOSTUNREACH = 113;
- EALREADY = 114;
- EINPROGRESS = 115;
- ESTALE = 116;
- EUCLEAN = 117;
- ENOTNAM = 118;
- ENAVAIL = 119;
- EISNAM = 120;
- EREMOTEIO = 121;
- EDQUOT = 122;
- ENOMEDIUM = 123;
- EMEDIUMTYPE = 124;
- ENOTSUP = EOPNOTSUPP;
- ECANCELED = 125;
const
__S_IFMT = $F000;
@@ -502,23 +332,6 @@ const
S_IRWXO = S_IRWXG shr 3;
const
- ACCESSPERMS = (S_IRWXU or S_IRWXG) or S_IRWXO;
- ALLPERMS = ((((S_ISUID or S_ISGID) or S_ISVTX) or S_IRWXU) or S_IRWXG) or S_IRWXO;
- DEFFILEMODE = ((((S_IRUSR or S_IWUSR) or S_IRGRP) or S_IWGRP) or S_IROTH) or S_IWOTH;
- S_BLKSIZE = 512;
-
-const
- DT_UNKNOWN = 0;
- DT_FIFO = 1;
- DT_CHR = 2;
- DT_DIR = 4;
- DT_BLK = 6;
- DT_REG = 8;
- DT_LNK = 10;
- DT_SOCK = 12;
- DT_WHT = 14;
-
-const
RTLD_LAZY = $00001;
RTLD_NOW = $00002;
RTLD_BINDING_MASK = $3;
@@ -528,96 +341,8 @@ const
RTLD_NODELETE = $01000;
const
- _PATH_DEFPATH = '/usr/bin:/bin';
- _PATH_STDPATH = '/usr/bin:/bin:/usr/sbin:/sbin';
- _PATH_BSHELL = '/bin/sh';
- _PATH_CONSOLE = '/dev/console';
- _PATH_CSHELL = '/bin/csh';
- _PATH_DEVDB = '/var/run/dev.db';
- _PATH_DEVNULL = '/dev/null';
- _PATH_DRUM = '/dev/drum';
- _PATH_KLOG = '/proc/kmsg';
- _PATH_KMEM = '/dev/kmem';
- _PATH_LASTLOG = '/var/log/lastlog';
- _PATH_MAILDIR = '/var/mail';
- _PATH_MAN = '/usr/share/man';
- _PATH_MEM = '/dev/mem';
_PATH_MNTTAB = '/etc/fstab';
_PATH_MOUNTED = '/etc/mtab';
- _PATH_NOLOGIN = '/etc/nologin';
- _PATH_PRESERVE = '/var/lib';
- _PATH_RWHODIR = '/var/spool/rwho';
- _PATH_SENDMAIL = '/usr/sbin/sendmail';
- _PATH_SHADOW = '/etc/shadow';
- _PATH_SHELLS = '/etc/shells';
- _PATH_TTY = '/dev/tty';
- _PATH_UNIX = '/boot/vmlinux';
- _PATH_UTMP = '/var/run/utmp';
- _PATH_VI = '/usr/bin/vi';
- _PATH_WTMP = '/var/log/wtmp';
- _PATH_DEV = '/dev/';
- _PATH_TMP = '/tmp/';
- _PATH_VARDB = '/var/db/';
- _PATH_VARRUN = '/var/run/';
- _PATH_VARTMP = '/var/tmp/';
-
-const
- WCOREFLAG = $80;
-
-const
- SIG_ERR = (-1);
- SIG_DFL = (0);
- SIG_IGN = (1);
- SIG_HOLD = (2);
-
-const
- SIGHUP = 1;
- SIGINT = 2;
- SIGQUIT = 3;
- SIGILL = 4;
- SIGTRAP = 5;
- SIGABRT = 6;
- SIGIOT = 6;
- SIGBUS = 7;
- SIGFPE = 8;
- SIGKILL = 9;
- SIGUSR1 = 10;
- SIGSEGV = 11;
- SIGUSR2 = 12;
- SIGPIPE = 13;
- SIGALRM = 14;
- SIGTERM = 15;
- SIGSTKFLT = 16;
- SIGCHLD = 17;
- SIGCLD = SIGCHLD;
- SIGCONT = 18;
- SIGSTOP = 19;
- SIGTSTP = 20;
- SIGTTIN = 21;
- SIGTTOU = 22;
- SIGURG = 23;
- SIGXCPU = 24;
- SIGXFSZ = 25;
- SIGVTALRM = 26;
- SIGPROF = 27;
- SIGWINCH = 28;
- SIGIO = 29;
- SIGPOLL = SIGIO;
- SIGPWR = 30;
- SIGSYS = 31;
- SIGUNUSED = 31;
- _NSIG = 64;
-
-const
- WNOHANG = 1;
- WUNTRACED = 2;
- __WALL = $40000000;
- __WCLONE = $80000000;
-
-const
- STDIN_FILENO = 0;
- STDOUT_FILENO = 1;
- STDERR_FILENO = 2;
const
R_OK = 4;
@@ -647,16 +372,6 @@ const
O_NOFOLLOW = $20000;
O_CLOEXEC = $80000;
-const
- _STAT_VER_LINUX_OLD = 1;
- _STAT_VER_KERNEL = 1;
- _STAT_VER_SVR4 = 2;
- _STAT_VER_LINUX = 3;
- _STAT_VER = _STAT_VER_LINUX;
-
- _MKNOD_VER_LINUX = 1;
- _MKNOD_VER_SVR4 = 2;
- _MKNOD_VER = _MKNOD_VER_LINUX;
function stat64(const afile: PChar; buf: Pstat64): longint; cdecl; external GLIBC_LIB name 'stat64';
function lstat64(const path: PChar; buf: Pstat64): longint; cdecl; external GLIBC_LIB name 'lstat64';
@@ -693,25 +408,13 @@ function dlsym(handle: Pointer; const symbol: PChar): Pointer; cdecl; external D
function dlerror: PChar; cdecl; external GLIBC_LIB name 'dlerror';
function real_libc_malloc(size: size_t): Pointer; cdecl; external GLIBC_LIB name 'malloc';
-{$IFNDEF CPUPOWERPC}
function malloc(size: size_t): Pointer; cdecl; external GLIBC_LIB name 'malloc';
-{$ELSE}
-function malloc(size: size_t): Pointer;
-{$ENDIF}
function calloc(nmemb: size_t; size: size_t): Pointer; cdecl; external GLIBC_LIB name 'calloc';
function realloc(ptr: Pointer; size: size_t): Pointer; cdecl; external GLIBC_LIB name 'realloc';
procedure real_libc_free(ptr: Pointer); cdecl; external GLIBC_LIB name 'free';
-{$IFNDEF CPUPOWERPC}
procedure free(ptr: Pointer); cdecl; external GLIBC_LIB name 'free';
procedure libc_free(ptr: Pointer); cdecl; external GLIBC_LIB name 'free';
-{$ELSE}
-procedure free(ptr: Pointer);
-procedure libc_free(ptr: Pointer);
-{$ENDIF}
-procedure cfree(ptr: Pointer); cdecl; external GLIBC_LIB name 'cfree';
-function memalign(boundary: size_t; size: size_t): Pointer; cdecl; external GLIBC_LIB name 'memalign';
-function valloc(size: size_t): Pointer; cdecl; external GLIBC_LIB name 'valloc';
function memcpy(dest: Pointer; src: Pointer; n: size_t): Pointer; cdecl; external GLIBC_LIB name 'memcpy';
function memmove(dest: Pointer; src: Pointer; n: size_t): Pointer; cdecl; external GLIBC_LIB name 'memmove';
@@ -727,13 +430,8 @@ function strcmp(const s1: PChar; const s2: PChar): Longint; cdecl; external GLIB
function strncmp(const s1: PChar; const s2: PChar; n: size_t): Longint; cdecl; external GLIBC_LIB name 'strncmp';
function strcasecmp(const s1: PChar; const s2: PChar): Longint; cdecl; external GLIBC_LIB name 'strcasecmp';
function strncasecmp(const s1: PChar; const s2: PChar; n: size_t): Longint; cdecl; external GLIBC_LIB name 'strncasecmp';
-{$IFNDEF CPUPOWERPC}
function strdup(const s: PChar): PChar; cdecl; external GLIBC_LIB name 'strdup';
function strndup(const s: PChar; n: size_t): PChar; cdecl; external GLIBC_LIB name 'strndup';
-{$ELSE}
-function strdup(const s: PChar): PChar;
-function strndup(const s: PChar; n: size_t): PChar;
-{$ENDIF}
function strchr(const s: PChar; c: Longint): PChar; cdecl; external GLIBC_LIB name 'strchr';
function strrchr(const s: PChar; c: Longint): PChar; cdecl; external GLIBC_LIB name 'strrchr';
function strstr(const haystack: PChar; const needle: PChar): PChar; cdecl; external GLIBC_LIB name 'strstr';
@@ -745,7 +443,6 @@ function strlen(const s: PChar): size_t; cdecl; external GLIBC_LIB name 'strlen'
function strnlen(const s: PChar; maxlen: size_t): size_t; cdecl; external GLIBC_LIB name 'strnlen';
function strerror(errnum: Longint): PChar; cdecl; external GLIBC_LIB name 'strerror';
function strerror_r(errnum: Longint; buf: PChar; buflen: size_t): PChar; cdecl; external GLIBC_LIB name 'strerror_r';
-function strsignal(sig: Longint): PChar; cdecl; external GLIBC_LIB name 'strsignal';
function __chdir(const path: PChar): Longint; cdecl; external GLIBC_LIB name 'chdir';
function chdir(const path: PChar): Longint; cdecl; external GLIBC_LIB name 'chdir';
@@ -754,8 +451,6 @@ function libc_chdir(const path: PChar): Longint; cdecl; external GLIBC_LIB name
function errno : error_t;
function __errno_location: PInteger; cdecl; external GLIBC_LIB name '__errno_location';
-function fork: __pid_t; cdecl; external GLIBC_LIB name 'fork';
-function vfork: __pid_t; cdecl; external GLIBC_LIB name 'vfork';
function link(const oldpath: PChar; const newpath: PChar): Longint; cdecl; external GLIBC_LIB name 'link';
function symlink(const oldpath: PChar; const newpath: PChar): Longint; cdecl; external GLIBC_LIB name 'symlink';
function readlink(const path: PChar; buf: PChar; bufsiz: size_t): Longint; cdecl; external GLIBC_LIB name 'readlink';
@@ -767,11 +462,6 @@ function remove(const pathname: PChar): Longint; cdecl; external GLIBC_LIB name
function libc_remove(const pathname: PChar): Longint; cdecl; external GLIBC_LIB name 'remove';
function __rename(const oldpath: PChar; const newpath: PChar): Longint; cdecl; external GLIBC_LIB name 'rename';
function libc_rename(const oldpath: PChar; const newpath: PChar): Longint; cdecl; external GLIBC_LIB name 'rename';
-function wait(status: PLongint): __pid_t; cdecl; external GLIBC_LIB name 'wait';
-function waitpid(pid: __pid_t; status: Plongint; options: Longint): __pid_t; cdecl; external GLIBC_LIB name 'waitpid';
-function waitid(idtype: idtype_t; id: __id_t; infop: Psiginfo_t; options: Longint): Longint; cdecl; external GLIBC_LIB name 'waitid';
-function wait3(status: Plongint; options: Longint; rusage: Prusage): __pid_t; cdecl; external GLIBC_LIB name 'wait3';
-function wait4(pid: __pid_t; status: Plongint; options: Longint; rusage: Prusage): __pid_t; cdecl; external GLIBC_LIB name 'wait4';
function opendir(const name: PChar): PDIR; cdecl; external GLIBC_LIB name 'opendir';
function closedir(dir: PDIR): Longint; cdecl; external GLIBC_LIB name 'closedir';
@@ -785,16 +475,6 @@ function getcwd(buf: PChar; size: size_t): PChar; cdecl; external GLIBC_LIB name
function get_current_dir_name: PChar; cdecl; external GLIBC_LIB name 'get_current_dir_name';
function getwd(buf: PChar): PChar; cdecl; external GLIBC_LIB name 'getwd';
-function dup(oldfd: Longint): Longint; cdecl; external GLIBC_LIB name 'dup';
-function dup2(oldfd: Longint; newfd: Longint): Longint; cdecl; external GLIBC_LIB name 'dup2';
-
-function execve(const filename: PChar; const argv: PPchar; const envp: PPchar): Longint; cdecl; external GLIBC_LIB name 'execve';
-function execv(const path: PChar; const argv: PPchar): Longint; cdecl; external GLIBC_LIB name 'execv';
-function execle(const path: PChar; const arg: PChar): Longint; cdecl; varargs; external GLIBC_LIB name 'execle';
-function execl(const path: PChar; const arg: PChar): Longint; cdecl; varargs; external GLIBC_LIB name 'execl';
-function execvp(const afile: PChar; const argv: PPchar): Longint; cdecl; external GLIBC_LIB name 'execvp';
-function execlp(const afile: PChar; const arg: PChar): Longint; cdecl; varargs; external GLIBC_LIB name 'execlp';
-
function getpid: __pid_t; cdecl; external GLIBC_LIB name 'getpid';
function getppid: __pid_t; cdecl; external GLIBC_LIB name 'getppid';
function getpgrp: __pid_t; cdecl; external GLIBC_LIB name 'getpgrp';
@@ -825,41 +505,6 @@ function localtime(timep: Ptime_t): Ptm; cdecl; external GLIBC_LIB name 'localti
function ctime(timep: Ptime_t): PChar; cdecl; external GLIBC_LIB name 'ctime';
function usleep(usec: DWord): Longint; cdecl; external GLIBC_LIB name 'usleep';
-function mktemp(template: PChar): PChar; cdecl; external GLIBC_LIB name 'mktemp';
-function mkstemp(template: PChar): Longint; cdecl; external GLIBC_LIB name 'mkstemp';
-function mkstemp64(template: PChar): Longint; cdecl; external GLIBC_LIB name 'mkstemp64';
-function mkdtemp(template: PChar): PChar; cdecl; external GLIBC_LIB name 'mkdtemp';
-
-function fprintf(stream: PFILE; const format: PChar): Longint; cdecl; varargs; external GLIBC_LIB name 'fprintf';
-function printf(const format: PChar): Longint; cdecl; varargs; external GLIBC_LIB name 'printf';
-function sprintf(s: PChar; const format: PChar): Longint; varargs; cdecl; external GLIBC_LIB name 'sprintf';
-function snprintf(s: PChar; size: size_t; const format: PChar): Longint; varargs; cdecl; external GLIBC_LIB name 'snprintf';
-
-function WEXITSTATUS(Status: longint): longint;
-function WTERMSIG(Status: longint): longint;
-function WSTOPSIG(Status: longint): longint;
-function WIFEXITED(Status: longint): Boolean;
-function WIFSIGNALED(Status: longint): Boolean;
-function WIFSTOPPED(Status: longint): Boolean;
-function WCOREDUMP(Status: longint): Boolean;
-function W_EXITCODE(ReturnCode, Signal: longint): longint;
-function W_STOPCODE(Signal: longint): longint;
-
-procedure _exit(status: longint); cdecl; external GLIBC_LIB name '_exit';
-
-function gethostname(name: PChar; len: size_t): Longint; cdecl; external GLIBC_LIB name 'gethostname';
-
-function sigqueue(pid: __pid_t; sig: Longint; val: sigval): Longint; cdecl; external GLIBC_LIB name 'sigqueue';
-function sigaction(sig: Longint; Action: PSigAction; OldAction: PSigAction): Integer; cdecl; external GLIBC_LIB name 'sigaction';
-function __system(const command: PChar): Longint; cdecl; external GLIBC_LIB name 'system';
-function system(const command: PChar): Longint; cdecl; external GLIBC_LIB name 'system';
-function libc_system(const command: PChar): Longint; cdecl; external GLIBC_LIB name 'system';
-
-procedure perror(const s: PChar); cdecl; external GLIBC_LIB name 'perror';
-function popen(const command: PChar; const _type: PChar): PFILE; cdecl; external GLIBC_LIB name 'popen';
-function pclose(stream: PFILE): Longint; cdecl; external GLIBC_LIB name 'pclose';
-function pipe(pipedes: Plongint): Longint; cdecl; external GLIBC_LIB name 'pipe';
-
function fopen(const path: PChar; const mode: PChar): PFILE; cdecl; external GLIBC_LIB name 'fopen';
function fopen64(const path: PChar; const mode: PChar): PFILE; cdecl; external GLIBC_LIB name 'fopen64';
function fdopen(fd: Longint; mode: PChar): PFILE; cdecl; external GLIBC_LIB name 'fdopen';
@@ -883,11 +528,8 @@ function fsetpos64(stream: PFILE; pos: Pfpos64_t): Longint; cdecl; external GLIB
function feof(stream: PFILE): Longint; cdecl; external GLIBC_LIB name 'feof';
function ferror(stream: PFILE): Longint; cdecl; external GLIBC_LIB name 'ferror';
-function fcntl(fd: Longint; cmd: Longint): Longint; cdecl; varargs; external GLIBC_LIB name 'fcntl';
function open(const pathname: PChar; flags: Longint; mode: Longint): Longint; cdecl; varargs; external GLIBC_LIB name 'open';
function open64(const pathname: PChar; flags: Longint; mode: Longint): Longint; cdecl; varargs; external GLIBC_LIB name 'open64';
-function creat(const pathname: PChar; mode: __mode_t): Longint; cdecl; external GLIBC_LIB name 'creat';
-function creat64(const pathname: PChar; mode: __mode_t): Longint; cdecl; external GLIBC_LIB name 'creat64';
function lseek(fd: longint; offset: __off_t; whence: longint):__off_t; cdecl; external GLIBC_LIB name 'lseek';
function lseek64(fd: longint; offset: __off64_t; whence: longint):__off64_t; cdecl; external GLIBC_LIB name 'lseek64';
@@ -908,17 +550,9 @@ function euidaccess(pathname: PChar; mode: Longint): Longint; cdecl; external GL
function setenv(name: PChar; value: PChar; overwrite: Longint): Longint; cdecl; external GLIBC_LIB name 'setenv';
-type pthread_t = {$ifdef cpu64}QWord{$else}DWord{$endif};
-
-function pthread_self: pthread_t; cdecl; external PTHREAD_LIB name 'pthread_self';
-
implementation
-{$IFDEF CPUPOWERPC}
-uses SysUtils;
-{$ENDIF}
-
function errno : error_t;
begin
Result := __errno_location()^;
@@ -964,88 +598,6 @@ begin
Result := __S_ISTYPE(mode, __S_IFSOCK);
end;
-Function WEXITSTATUS(Status: longint): longint;
-begin
- Result:=(Status and $FF00) shr 8;
-end;
-
-
-Function WTERMSIG(Status: longint): longint;
-begin
- Result:=(Status and $7F);
-end;
-
-
-Function WSTOPSIG(Status: longint): longint;
-begin
- Result:=WEXITSTATUS(Status);
-end;
-
-
-Function WIFEXITED(Status: longint): Boolean;
-begin
- Result:=(WTERMSIG(Status)=0);
-end;
-
-
-Function WIFSIGNALED(Status: longint): Boolean;
-begin
- Result:=(not WIFSTOPPED(Status)) and (not WIFEXITED(Status));
-end;
-
-
-Function WIFSTOPPED(Status: longint): Boolean;
-begin
- Result:=((Status and $FF)=$7F);
-end;
-
-
-Function WCOREDUMP(Status: longint): Boolean;
-begin
- Result:=((Status and WCOREFLAG)<>0);
-end;
-
-
-Function W_EXITCODE(ReturnCode, Signal: longint): longint;
-begin
- Result:=(ReturnCode shl 8) or Signal;
-end;
-
-
-Function W_STOPCODE(Signal: longint): longint;
-begin
- Result:=(Signal shl 8) or $7F;
-end;
-
-
-{$IFDEF CPUPOWERPC}
-function malloc(size: size_t): Pointer;
-begin
- Result := GetMem(size);
-end;
-
-procedure libc_free(ptr: Pointer);
-begin
- FreeMem(ptr);
-end;
-
-procedure free(ptr: Pointer);
-begin
- libc_free(ptr);
-end;
-
-function strdup(const s: PChar): PChar;
-begin
- Result := GetMem(strlen(s) + 1);
- SysUtils.StrLCopy(Result, s, strlen(s) + 1);
-end;
-
-function strndup(const s: PChar; n: size_t): PChar;
-begin
- Result := GetMem(n + 1);
- SysUtils.StrLCopy(Result, s, n);
-end;
-{$ENDIF}
end.