1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- {
- 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: pchar; flags : cint):cint; varargs; cdecl; external clib name 'open'{$ifdef aix}+suffix64bit{$endif};
- function FpOpen (path: pchar; 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;
|