mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-05 10:38:14 +02:00
118 lines
2.7 KiB
PHP
118 lines
2.7 KiB
PHP
{
|
|
This file is part of the Free Pascal run time library.
|
|
Copyright (c) 2005 by Free Pascal development team
|
|
|
|
Low level file functions
|
|
GBA does not have any drive, so no file handling is needed.
|
|
Copyright (c) 2006 by Francesco Lombardi
|
|
|
|
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.
|
|
|
|
**********************************************************************}
|
|
|
|
|
|
{****************************************************************************
|
|
Low level File Routines
|
|
All these functions can set InOutRes on errors
|
|
****************************************************************************}
|
|
|
|
{ close a file from the handle value }
|
|
procedure do_close(handle : longint);
|
|
begin
|
|
if assigned (@rtl_do_close) then
|
|
rtl_do_close(handle);
|
|
end;
|
|
|
|
|
|
procedure do_erase(p : PAnsiChar; pchangeable: boolean);
|
|
begin
|
|
if assigned (@rtl_do_erase) then
|
|
rtl_do_erase(p);
|
|
end;
|
|
|
|
|
|
procedure do_rename(p1,p2 : PAnsiChar; p1changeable, p2changeable: boolean);
|
|
begin
|
|
if assigned (@rtl_do_rename) then
|
|
rtl_do_rename(p1, p2);
|
|
end;
|
|
|
|
|
|
function do_write(h: longint; addr: pointer; len: longint) : longint;
|
|
begin
|
|
if assigned (rtl_do_write) then
|
|
result := rtl_do_write(h, addr, len)
|
|
else
|
|
result := -1;
|
|
end;
|
|
|
|
|
|
function do_read(h: longint; addr: pointer; len: longint) : longint;
|
|
begin
|
|
if assigned (rtl_do_read) then
|
|
result := rtl_do_read(h, addr, len)
|
|
else
|
|
result := -1;
|
|
end;
|
|
|
|
|
|
function do_filepos(handle: longint) : longint;
|
|
begin
|
|
if assigned (rtl_do_filepos) then
|
|
result := rtl_do_filepos(handle)
|
|
else
|
|
result := -1;
|
|
end;
|
|
|
|
|
|
procedure do_seek(handle, pos: longint);
|
|
begin
|
|
if assigned (rtl_do_seek) then
|
|
rtl_do_seek(handle, pos);
|
|
end;
|
|
|
|
|
|
function do_seekend(handle: longint):longint;
|
|
begin
|
|
if assigned (rtl_do_seekend) then
|
|
result := rtl_do_seekend(handle)
|
|
else
|
|
result := -1;
|
|
end;
|
|
|
|
|
|
function do_filesize(handle : longint) : longint;
|
|
begin
|
|
result := -1;
|
|
if assigned (rtl_do_filesize) then
|
|
result := rtl_do_filesize(handle);
|
|
end;
|
|
|
|
|
|
{ truncate at a given position }
|
|
procedure do_truncate(handle, pos: longint);
|
|
begin
|
|
if assigned (rtl_do_truncate) then
|
|
rtl_do_truncate(handle, pos);
|
|
end;
|
|
|
|
|
|
procedure do_open(var f;p:PFileTextRecChar;flags:longint; pchangeable: boolean);
|
|
begin
|
|
if assigned (rtl_do_open) then
|
|
rtl_do_open(f, p, flags);
|
|
end;
|
|
|
|
|
|
function do_isdevice(handle: THandle): boolean;
|
|
begin
|
|
result := false;
|
|
if assigned (rtl_do_isdevice) then
|
|
result := rtl_do_isdevice(handle);
|
|
end;
|