123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- {
- $Id$
- This file is part of the Free Pascal run time library.
- Copyright (c) 2002 by Marco van de Voort
- The interface part of the baseunix unit.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- Type TGrpArr = Array [0..0] of TGid; { C style array workarounds}
- pGrpArr = ^TGrpArr;
- TFilDes = Array [0..1] of cInt;
- pFilDes = ^TFilDes;
- Function fpFD_SET (fdno:cint;var nset : TFDSet): cint;
- Function fpFD_CLR (fdno:cint;var nset : TFDSet): cint;
- Function fpFD_ZERO (var nset : TFDSet):cint;
- Function fpFD_ISSET (fdno:cint;const nset : TFDSet): cint;
- Function fpfdfillset (var nset : TFDSet):cint;
- Function FpsigEmptySet(var nset : TSigSet): cint;
- Function FpSigFillSet (var nset : TSigSet): cInt;
- Function FpSigAddSet (var nset : TSigSet; signo : cInt): cInt;
- Function FpSigDelSet (var nset : TSigSet; signo : cInt): cInt;
- Function FpSigIsMember(Const nset : TSigSet; signo : cInt): cInt;
- Function FpSigProcMask(how : cInt; nset : pSigSet; oset : pSigSet): cInt;
- Function FpSigProcMask(how : cInt; Const nset : TSigSet; var oset : TSigSet): cInt;
- Function FpSigPending (var nset : TSigSet): cInt;
- Function FpSigSuspend (Const sigmask : TSigSet): cInt;
- Function FpUmask (cmask : TMode): TMode;
- Function FpLink (existing : pChar; newone : pChar): cInt;
- Function FpMkfifo (path : pChar; Mode : TMode): cInt;
- Function FpChmod (path : pChar; Mode : TMode): cInt;
- Function FpChown (path : pChar; owner : TUid; group : TGid): cInt;
- Function FpUtime (path : pChar; times : putimbuf): cInt;
- Function FpPipe (var fildes : tfildes):cInt;
- Function FpDup (fildes : cInt): cInt;
- Function FpDup2 (fildes, fildes2 : cInt): cInt;
- Function FpTimes (var buffer : tms): TClock;
- Function FpAlarm (seconds : cuint): cuint;
- Function FpPause : cInt;
- Function FpSleep (seconds : cuint): cuint;
- Function FpGetpid : TPid;
- Function FpGetppid : TPid;
- Function FpGetuid : TUid;
- Function FpGeteuid : TUid;
- Function FpGetgid : TGid;
- Function FpGetegid : TGid;
- Function FpSetuid (uid : TUid): cInt;
- Function FpSetgid (gid : TGid): cInt;
- Function FpGetgroups (gidsetsize : cInt; var grouplist : tgrparr): cInt;
- Function FpGetpgrp : TPid;
- Function FpSetsid : TPid;
- Function FpFcntl (fildes : cInt; cmd : cInt): cInt;
- Function FpFcntl (fildes : cInt; cmd : cInt; arg : cInt): cInt;
- Function FpFcntl (fildes : cInt; cmd : cInt; var arg : flock): cInt;
- Function FpGetcwd (path:pChar; siz:TSize):pChar;
- Function FpFork : TPid;
- Function FpExecve (path : pChar; argv : ppChar; envp: ppChar): cInt;
- Function FpExecv (path : pChar; argv : ppChar): cInt;
- Function FpWaitpid (pid : TPid; stat_loc : pcInt; options: cInt): TPid;
- Function FpWait (var stat_loc : cInt): TPid;
- Procedure FpExit (Status : cInt);
- Function FpKill (pid : TPid; sig: cInt): cInt;
- Function FpUname (var name: utsname): cInt;
- Function FpOpendir (dirname : pChar): pDir;
- Function FpReaddir (var dirp : Dir) : pDirent;
- Function FpClosedir (var dirp : Dir): cInt;
- Function FpChdir (path : pChar): cInt;
- Function FpOpen (path : pChar; flags : cInt; Mode: TMode):cInt;
- Function FpMkdir (path : pChar; Mode: TMode):cInt;
- Function FpUnlink (path : pChar): cInt;
- Function FpRmdir (path : pChar): cInt;
- Function FpRename (old : pChar; newpath: pChar): cInt;
- Function FpFStat (fd : cInt; var sb : stat): cInt;
- Function FpStat (path: pChar; var buf : stat): cInt;
- Function FpAccess (pathname : pChar; aMode : cInt): cInt;
- Function FpClose (fd : cInt): cInt;
- Function FpRead (fd : cInt; buf: pChar; nbytes : TSize): TSsize;
- Function FpWrite (fd : cInt; buf:pChar; nbytes : TSize): TSsize;
- Function FpLseek (fd : cInt; offset : TOff; whence : cInt): TOff;
- Function FpTime (var tloc : TTime): TTime;
- Function FpFtruncate (fd : cInt; flength : TOff): cInt;
- Function FPSigaction (sig: cInt; act : pSigActionRec; oact : pSigActionRec): cint;
- Function FPSelect (N:cint;readfds,writefds,exceptfds:pfdSet;TimeOut:PTimeVal):cint;
- Function FpIOCtl (Handle:cint;Ndx: culong;Data: Pointer):cint;
- Function FpNanoSleep (req : ptimespec;rem : ptimespec):cint;
- Function FpGetEnv (name : pChar): pChar;
- Function FpGetEnv (name : String): pChar;
- Function fpS_ISDIR (m : TMode): Boolean;
- Function fpS_ISCHR (m : TMode): Boolean;
- Function fpS_ISBLK (m : TMode): Boolean;
- Function fpS_ISREG (m : TMode): Boolean;
- Function fpS_ISFIFO (m : TMode): Boolean;
- // The following two are very common, but not POSIX.
- Function fpS_ISLNK (m:TMode) : Boolean;
- Function fpS_ISSOCK (m:TMode) : Boolean;
- Function wifexited (Status : cInt): cInt;
- Function wexitStatus (Status : cInt): cInt;
- Function wstopsig (Status : cInt): cInt;
- Function wifsignaled (Status : cInt): cInt;
- Function wtermsig (Status : cInt): cInt;
- {$i bunxovlh.inc} // overloads and/or redefs.
- {
- $Log$
- Revision 1.10 2003-09-27 13:49:41 peter
- * fpnanosleep exported
- Revision 1.9 2003/09/27 12:51:33 peter
- * fpISxxx macros renamed to C compliant fpS_ISxxx
- Revision 1.8 2003/09/20 12:38:29 marco
- * FCL now compiles for FreeBSD with new 1.1. Now Linux.
- Revision 1.7 2003/09/17 11:24:46 marco
- * fixes for new macro's
- Revision 1.6 2003/09/17 11:14:25 marco
- * two extra FPIS added
- Revision 1.5 2003/09/16 16:13:56 marco
- * fdset functions renamed to fp<posix name>
- Revision 1.4 2003/09/14 20:15:01 marco
- * Unix reform stage two. Remove all calls from Unix that exist in Baseunix.
- Revision 1.3 2003/06/01 16:28:41 marco
- * Enhancements to make the compiler baseunix using.
- Revision 1.2 2003/01/05 19:11:32 marco
- * small changes originating from introduction of Baseunix to FreeBSD
- Revision 1.1 2002/12/18 16:49:02 marco
- * New RTL. Linux system unit and baseunix operational.
- }
|