mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-20 09:11:55 +02:00
* declare C-library routines as external in libc so we generate proper
import entries for Darwin
This commit is contained in:
parent
e6c3cc44c9
commit
96da72219f
@ -18,74 +18,80 @@
|
||||
***********************************************************************}
|
||||
|
||||
{ var
|
||||
Errno : cint; external name 'errno';}
|
||||
Errno : cint; external clib name 'errno';}
|
||||
|
||||
Type TGrpArr = Array [0..0] of TGid; { C style array workarounds}
|
||||
pGrpArr = ^TGrpArr;
|
||||
TFilDes = Array [0..1] of cInt;
|
||||
pFilDes = ^TFilDes;
|
||||
|
||||
function FpAccess (pathname : pchar; amode : cint): cint; cdecl; external name 'access';
|
||||
function FpChdir (path : pchar): cint; cdecl; external name 'chdir';
|
||||
function FpClose (fd : cint): cint; cdecl; external name 'close';
|
||||
Function FpClosedir (var dirp : Dir): cInt; cdecl; external name 'closedir';
|
||||
function FpClosedir (dirp : pdir): cint; cdecl; external name 'closedir';
|
||||
function FpDup (oldd:cint):cint; cdecl; external name 'dup';
|
||||
function FpDup2 (oldd:cint;newd:cint):cint; cdecl; external name 'dup2';
|
||||
function FpExecve (path : pchar; argv : ppchar; envp: ppchar): cint; cdecl; external name 'execve';
|
||||
function FpFork : TPid; cdecl; external name 'fork';
|
||||
function FpFstat (fd : cint; var sb : stat): cint; cdecl; external name 'fstat';
|
||||
function FpFtruncate(fd : cint; flength : TOff): cint; cdecl; external name 'ftruncate';
|
||||
function FpLseek (fd : cint; offset : TOff; whence : cint): TOff; cdecl; external name 'lseek';
|
||||
function FpMkdir (path : pchar; mode: TMode):cint; cdecl; external name 'mkdir';
|
||||
function FpOpen (path: pchar; flags : cint; mode: TMode):cint; cdecl; external name 'open';
|
||||
function FpOpendir (dirname : pchar): pdir; cdecl; external name 'opendir';
|
||||
function FpRead (fd: cint; buf: pchar; nbytes : TSize): TSSize; cdecl; external name 'read';
|
||||
function FpReaddir (dirp : pdir) : pdirent;cdecl; external name 'readdir';
|
||||
Function FpReaddir (var dirp : Dir) : pDirent;cdecl; external name 'readdir';
|
||||
function FpRename (old : pchar; newpath: pchar): cint; cdecl;external name 'rename';
|
||||
function FpRmdir (path : pchar): cint; cdecl; external name 'rmdir';
|
||||
function FpSigaction (sig: cint;var act : sigactionrec; var oact : sigactionrec): cint; cdecl; external name 'sigaction';
|
||||
Function FPSigaction (sig: cInt; act :pSigActionRec;oact:pSigActionRec):cint;cdecl; external name 'sigaction';
|
||||
function FpAccess (pathname : pchar; amode : cint): cint; cdecl; external clib name 'access';
|
||||
function FpChdir (path : pchar): cint; cdecl; external clib name 'chdir';
|
||||
function FpClose (fd : cint): cint; cdecl; external clib name 'close';
|
||||
Function FpClosedir (var dirp : Dir): cInt; cdecl; external clib name 'closedir';
|
||||
function FpClosedir (dirp : pdir): cint; cdecl; external clib name 'closedir';
|
||||
function FpDup (oldd:cint):cint; cdecl; external clib name 'dup';
|
||||
function FpDup2 (oldd:cint;newd:cint):cint; cdecl; external clib name 'dup2';
|
||||
function FpExecve (path : pchar; argv : ppchar; envp: ppchar): cint; cdecl; external clib name 'execve';
|
||||
function FpFork : TPid; cdecl; external clib name 'fork';
|
||||
function FpFstat (fd : cint; var sb : stat): cint; cdecl; external clib name 'fstat';
|
||||
function FpFtruncate(fd : cint; flength : TOff): cint; cdecl; external clib name 'ftruncate';
|
||||
function FpLseek (fd : cint; offset : TOff; whence : cint): TOff; cdecl; external clib name 'lseek';
|
||||
function FpMkdir (path : pchar; mode: TMode):cint; cdecl; external clib name 'mkdir';
|
||||
function FpOpen (path: pchar; flags : cint; mode: TMode):cint; cdecl; external clib name 'open';
|
||||
function FpOpendir (dirname : pchar): pdir; cdecl; external clib name 'opendir';
|
||||
function FpRead (fd: cint; buf: pchar; nbytes : TSize): TSSize; cdecl; external clib name 'read';
|
||||
function FpReaddir (dirp : pdir) : pdirent;cdecl; external clib name 'readdir';
|
||||
Function FpReaddir (var dirp : Dir) : pDirent;cdecl; external clib name 'readdir';
|
||||
function FpRename (old : pchar; newpath: pchar): cint; cdecl;external clib name 'rename';
|
||||
function FpRmdir (path : pchar): cint; cdecl; external clib name 'rmdir';
|
||||
function FpSigaction (sig: cint;var act : sigactionrec; var oact : sigactionrec): cint; cdecl; external clib name 'sigaction';
|
||||
Function FPSigaction (sig: cInt; act :pSigActionRec;oact:pSigActionRec):cint;cdecl; external clib name 'sigaction';
|
||||
Function FpChmod (path : pChar; Mode : TMode): cInt; cdecl; external clib name 'chmod';
|
||||
Function FPUtime(path:pchar;times:putimbuf):cint; cdecl; external clib name 'utime';
|
||||
|
||||
{$ifdef BSD}
|
||||
function FPSigProcMask(how:cint;nset : psigset;oset : psigset):cint;cdecl; external name 'sigprocmask';
|
||||
function FPSigProcMask(how:cint;nset : psigset;oset : psigset):cint;cdecl; external clib name 'sigprocmask';
|
||||
{$endif}
|
||||
function FpStat (path: pchar; var buf : stat): cint; cdecl; external name 'stat';
|
||||
function FpStat (path: pchar; var buf : stat): cint; cdecl; external clib name 'stat';
|
||||
// {$ifdef FPC_IS_SYSTEM}
|
||||
function FpTime (tloc:ptime_t): time_t; cdecl; external name 'time';
|
||||
function FpTime (tloc:ptime_t): time_t; cdecl; external clib name 'time';
|
||||
// {$else}
|
||||
Function FpTime (var tloc : TTime): TTime; cdecl; external name 'time';
|
||||
Function FpTime (var tloc : TTime): TTime; cdecl; external clib name 'time';
|
||||
// {$endif}
|
||||
function FpUname (var name: utsname): cint; cdecl; external name 'uname';
|
||||
function FpUnlink (path: pchar): cint; cdecl; external name 'unlink';
|
||||
function FpWaitpid (pid : TPid; stat_loc : pcint; options: cint): TPid; cdecl; external name 'waitpid';
|
||||
function FpWrite (fd: cint;buf:pchar; nbytes : TSize): TSSize; cdecl; external name 'write';
|
||||
procedure FpExit (status : cint); cdecl; external name '_exit';
|
||||
function fpmmap (addr:pointer;len:size_t;prot:cint;flags:cint;fd:cint;ofs:off_t):pointer; cdecl; external name 'mmap';
|
||||
function FpIOCtl (Handle:cint;Ndx: culong;Data: Pointer):cint; cdecl; external name 'ioctl';
|
||||
Function FPSelect (N:cint;readfds,writefds,exceptfds:pfdSet;TimeOut:PTimeVal):cint; cdecl; external name 'select';
|
||||
function fpgetenv (name : pchar):pchar; cdecl; external name 'getenv';
|
||||
Function FpKill (pid : TPid; sig: cInt): cInt; cdecl; external name 'kill';
|
||||
Function FpGetpid : TPid; cdecl;external name 'getpid';
|
||||
Function FpGetppid : TPid;cdecl;external name 'getppid';
|
||||
Function FpGetuid : TUid;cdecl;external name 'getuid';
|
||||
Function FpGeteuid : TUid;cdecl;external name 'geteuid';
|
||||
Function FpGetgid : TGid;cdecl;external name 'getgid';
|
||||
Function FpGetegid : TGid;cdecl;external name 'getegid';
|
||||
Function FpSetuid (uid : TUid): cInt;cdecl;external name 'setuid';
|
||||
Function FpSetgid (gid : TGid): cInt;cdecl;external name 'setgid';
|
||||
Function FpGetgroups (gidsetsize : cInt; var grouplist : tgrparr):cint; cdecl;external name 'getgroups';
|
||||
Function FpGetpgrp : TPid; cdecl;external name 'getpgrp';
|
||||
Function FpSetsid : TPid; cdecl;external name 'setsid';
|
||||
Function FpPipe (var fildes : tfildes):cInt; cdecl;external name 'pipe';
|
||||
Function FpFcntl (fildes : cInt; cmd : cInt): cInt; cdecl external name 'fcntl';
|
||||
Function FpFcntl (fildes : cInt; cmd : cInt; arg :cInt): cInt; cdecl external name 'fcntl';
|
||||
Function FpFcntl (fildes : cInt; cmd : cInt; var arg : flock): cInt; cdecl external name 'fcntl';
|
||||
function FpUname (var name: utsname): cint; cdecl; external clib name 'uname';
|
||||
function FpUnlink (path: pchar): cint; cdecl; external clib name 'unlink';
|
||||
function FpWaitpid (pid : TPid; stat_loc : pcint; options: cint): TPid; cdecl; external clib name 'waitpid';
|
||||
function FpWrite (fd: cint;buf:pchar; nbytes : TSize): TSSize; cdecl; external clib name 'write';
|
||||
procedure FpExit (status : cint); cdecl; external clib name '_exit';
|
||||
function fpmmap (addr:pointer;len:size_t;prot:cint;flags:cint;fd:cint;ofs:off_t):pointer; cdecl; external clib name 'mmap';
|
||||
function FpIOCtl (Handle:cint;Ndx: culong;Data: Pointer):cint; cdecl; external clib name 'ioctl';
|
||||
Function FPSelect (N:cint;readfds,writefds,exceptfds:pfdSet;TimeOut:PTimeVal):cint; cdecl; external clib name 'select';
|
||||
function fpgetenv (name : pchar):pchar; cdecl; external clib name 'getenv';
|
||||
Function FpKill (pid : TPid; sig: cInt): cInt; cdecl; external clib name 'kill';
|
||||
Function FpGetpid : TPid; cdecl;external clib name 'getpid';
|
||||
Function FpGetppid : TPid;cdecl;external clib name 'getppid';
|
||||
Function FpGetuid : TUid;cdecl;external clib name 'getuid';
|
||||
Function FpGeteuid : TUid;cdecl;external clib name 'geteuid';
|
||||
Function FpGetgid : TGid;cdecl;external clib name 'getgid';
|
||||
Function FpGetegid : TGid;cdecl;external clib name 'getegid';
|
||||
Function FpSetuid (uid : TUid): cInt;cdecl;external clib name 'setuid';
|
||||
Function FpSetgid (gid : TGid): cInt;cdecl;external clib name 'setgid';
|
||||
Function FpGetgroups (gidsetsize : cInt; var grouplist : tgrparr):cint; cdecl;external clib name 'getgroups';
|
||||
Function FpGetpgrp : TPid; cdecl;external clib name 'getpgrp';
|
||||
Function FpSetsid : TPid; cdecl;external clib name 'setsid';
|
||||
Function FpPipe (var fildes : tfildes):cInt; cdecl;external clib name 'pipe';
|
||||
Function FpFcntl (fildes : cInt; cmd : cInt): cInt; cdecl external clib name 'fcntl';
|
||||
Function FpFcntl (fildes : cInt; cmd : cInt; arg :cInt): cInt; cdecl external clib name 'fcntl';
|
||||
Function FpFcntl (fildes : cInt; cmd : cInt; var arg : flock): cInt; cdecl external clib name 'fcntl';
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 2004-01-01 16:10:23 marco
|
||||
Revision 1.6 2004-01-04 21:05:01 jonas
|
||||
* declare C-library routines as external in libc so we generate proper
|
||||
import entries for Darwin
|
||||
|
||||
Revision 1.5 2004/01/01 16:10:23 marco
|
||||
* fpreadlink(pathstr) moved to unxovl (since not platform specific),
|
||||
small fixes for "make all OPT='-dFPC_USE_LIBC'
|
||||
|
||||
|
@ -188,6 +188,7 @@ Procedure Globfree (var p:pglob);
|
||||
procedure SigRaise (sig:integer);
|
||||
|
||||
{$ifdef FPC_USE_LIBC}
|
||||
const clib = 'c';
|
||||
{$i unxdeclh.inc}
|
||||
{$else}
|
||||
{$i unxsysch.inc} // calls used in system and not reexported from baseunix
|
||||
@ -1410,7 +1411,11 @@ End.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.57 2004-01-04 20:53:02 jonas
|
||||
Revision 1.58 2004-01-04 21:05:01 jonas
|
||||
* declare C-library routines as external in libc so we generate proper
|
||||
import entries for Darwin
|
||||
|
||||
Revision 1.57 2004/01/04 20:53:02 jonas
|
||||
* don't use systypes if FPC_USE_LIBC is defined
|
||||
|
||||
Revision 1.56 2004/01/04 16:24:05 jonas
|
||||
|
@ -16,23 +16,27 @@
|
||||
|
||||
type filedesarray=array[0..1] of cint;
|
||||
|
||||
function fpMUnMap (P : Pointer; Size : size_t) : cint; cdecl; external name 'munmap';
|
||||
Function fStatFS(Fd:Longint;Var Info:tstatfs):cint; cdecl; external name 'fstatfs';
|
||||
Function Flock (fd,mode : longint) : cint; cdecl; external name 'flock';
|
||||
Function fsync (fd : cint) : cint; cdecl; external name 'fsync';
|
||||
Function StatFS (Path:pchar;Var Info:tstatfs):cint; cdecl; external name 'statfs';
|
||||
function pipe (var fildes: filedesarray):cint; cdecl; external name 'pipe';
|
||||
function fpNice(N:cint):cint; cdecl; external name 'nice';
|
||||
Function fpGetPriority(Which,Who:cint):cint; cdecl; external name 'getpriority';
|
||||
Function fpSetPriority(Which,Who,What:cint):cint; cdecl; external name 'setpriority';
|
||||
Function fpLstat(path:pchar;Info:pstat):cint; cdecl; external name 'lstat';
|
||||
Function fpSymlink(oldname,newname:pchar):cint; cdecl; external name 'symlink';
|
||||
Function fpReadLink(name,linkname:pchar;maxlen:cint):cint; cdecl; external name 'readlink';
|
||||
function fpgettimeofday(tp: ptimeval;tzp:ptimezone):cint; cdecl; external name 'gettimeofday';
|
||||
function fpMUnMap (P : Pointer; Size : size_t) : cint; cdecl; external clib name 'munmap';
|
||||
Function fStatFS(Fd:Longint;Var Info:tstatfs):cint; cdecl; external clib name 'fstatfs';
|
||||
Function Flock (fd,mode : longint) : cint; cdecl; external clib name 'flock';
|
||||
Function fsync (fd : cint) : cint; cdecl; external clib name 'fsync';
|
||||
Function StatFS (Path:pchar;Var Info:tstatfs):cint; cdecl; external clib name 'statfs';
|
||||
function pipe (var fildes: filedesarray):cint; cdecl; external clib name 'pipe';
|
||||
function fpNice(N:cint):cint; cdecl; external clib name 'nice';
|
||||
Function fpGetPriority(Which,Who:cint):cint; cdecl; external clib name 'getpriority';
|
||||
Function fpSetPriority(Which,Who,What:cint):cint; cdecl; external clib name 'setpriority';
|
||||
Function fpLstat(path:pchar;Info:pstat):cint; cdecl; external clib name 'lstat';
|
||||
Function fpSymlink(oldname,newname:pchar):cint; cdecl; external clib name 'symlink';
|
||||
Function fpReadLink(name,linkname:pchar;maxlen:cint):cint; cdecl; external clib name 'readlink';
|
||||
function fpgettimeofday(tp: ptimeval;tzp:ptimezone):cint; cdecl; external clib name 'gettimeofday';
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.2 2004-01-01 14:09:14 marco
|
||||
Revision 1.3 2004-01-04 21:05:01 jonas
|
||||
* declare C-library routines as external in libc so we generate proper
|
||||
import entries for Darwin
|
||||
|
||||
Revision 1.2 2004/01/01 14:09:14 marco
|
||||
* FPC_USE_LIBC fixes
|
||||
|
||||
Revision 1.1 2003/12/30 12:29:16 marco
|
||||
|
Loading…
Reference in New Issue
Block a user