fpc/rtl/unix/oscdecl.inc
Michael VAN CANNEYT 6ffa3d4a89 * Char -> AnsiChar
2023-07-14 17:26:09 +02:00

72 lines
2.6 KiB
PHP

{
This file is part of the Free Pascal run time library.
Copyright (c) 2007 by the Free Pascal development team
This file should become an alternative to the syscalls in due time,
to import the base calls from libc.
Be very careful though. Kernel types and libc types are often not the
same on Linux.
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.
***********************************************************************}
{ ********************************************************************* }
{ fpioctl }
{ ********************************************************************* }
function real_FpIOCtl (Handle:cint;Ndx: TIOCtlRequest):cint; cdecl; varargs; external clib name 'ioctl';
function FpIOCtl (Handle:cint;Ndx: TIOCtlRequest;Data: Pointer):cint;
begin
FpIOCtl:=real_FpIOCtl(Handle, Ndx, Data);
end;
{ ********************************************************************* }
{ fpfcntl }
{ ********************************************************************* }
function real_FpFcntl (fildes : cInt; cmd : cInt): cInt; cdecl; varargs; external clib name 'fcntl';
Function FpFcntl (fildes : cInt; cmd : cInt): cInt;
begin
FpFcntl:=real_FpFcntl(fildes, cmd);
end;
Function FpFcntl (fildes : cInt; cmd : cInt; arg :cInt): cInt;
begin
FpFcntl:=real_FpFcntl(fildes, cmd, arg);
end;
Function FpFcntl (fildes : cInt; cmd : cInt; var arg : flock): cInt;
begin
FpFcntl:=real_FpFcntl(fildes, cmd, @arg);
end;
{ ********************************************************************* }
{ fpopen }
{ ********************************************************************* }
function real_FpOpen(path: PAnsiChar; flags : cint):cint; varargs; cdecl; external clib name 'open'{$ifdef aix}+suffix64bit{$endif};
function FpOpen (path: PAnsiChar; flags : cint; mode: TMode):cint;
begin
{$if defined(linux) and defined(fs32bit)}
flags:=flags or O_LARGEFILE;
{$endif}
{ emulate what the bunxovl(h).inc version of fpopen does. Required because
existing code depends on this (it doesn't always pass a valid mode when
using fmCreate) }
FpOpen:=real_FpOpen(path,flags,mode);
end;