blob: 5f0bd5bb14dc6551f69ce72b4615d0d8fcb5049e [file] [log] [blame]
with Interfaces.C;
with Interfaces.C.Strings;
with System;
package FILO.FS.NullFS is
type NullFS_Type is private;
procedure Mount
(Item : in out NullFS_Type;
Success : out Boolean);
procedure Open
(Item : in out NullFS_Type;
Path : in String;
Success : out Boolean);
procedure Read
(Item : in out NullFS_Type;
Buffer : in out Buffer_Type;
Offset : in Natural;
Success : out Boolean);
procedure Close
(Item : in out NullFS_Type;
Success : out Boolean);
---------------------------------------------------------------------
function C_Mount return Interfaces.C.int
with
Export,
Convention => C,
External_Name => "nullfs_mount";
function C_Read
(buf : System.Address;
len : Interfaces.C.int)
return Interfaces.C.int
with
Export,
Convention => C,
External_Name => "nullfs_read";
function C_Dir
(Path : Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int
with
Export,
Convention => C,
External_Name => "nullfs_dir";
function C_Close return Interfaces.C.int
with
Export,
Convention => C,
External_Name => "nullfs_close";
private
type State_Type is (Unmounted, Mounted, File_Open);
type NullFS_Type is record
State : State_Type;
end record;
end FILO.FS.NullFS;