blob: 69ed2adc724191b094fd6d38a0fb229e8aa3165b [file] [log] [blame]
package body FILO.FS is
C_Part_Length : unsigned_long
with
Import => True,
Convention => C,
External_Name => "part_length";
C_File_Max : int
with
Import => True,
Convention => C,
External_Name => "filemax";
C_File_Pos : int
with
Import => True,
Convention => C,
External_Name => "filepos";
function Part_Len return Partition_Length
is
(Partition_Length (unsigned_long'Min (
C_Part_Length, unsigned_long (Partition_Length'Last))));
function File_Max return File_Length is
begin
if C_File_Max < 0 then
return 0;
end if;
return File_Length (C_File_Max);
end File_Max;
procedure Set_File_Max (Len : File_Length) is
begin
C_File_Max := int (Len);
end Set_File_Max;
function File_Pos return File_Offset is
begin
if C_File_Pos < 0 then
return 0;
end if;
return File_Offset (C_File_Pos);
end File_Pos;
procedure Set_File_Pos (Off : File_Offset) is
begin
C_File_Pos := int (Off);
end Set_File_Pos;
end FILO.FS;