Library
Module
Module type
Parameter
Class
Class type
The type for errors.
type write_error = private [>
| `Is_a_directory
| `No_directory_entry
| `Not_a_directory
| `File_already_exists
| `No_directory_entry
| `No_space
]
The type for FS write errors.
val pp_write_error : write_error Fmt.t
pp_write_error
is the pretty-printer for write errors.
include Mirage_device.S with type 'a io = 'a Lwt.t
type 'a io = 'a Lwt.t
The type for potentially blocking I/O operation
type page_aligned_buffer = Cstruct.t
The type for memory buffers.
val read :
t ->
string ->
int ->
int ->
(page_aligned_buffer list, error) Pervasives.result io
read t key offset length
reads up to length
bytes from the value associated with key
. If less data is returned than requested, this indicates the end of the value.
val size : t -> string -> (int64, error) Pervasives.result io
Get the value size.
val create : t -> string -> (unit, write_error) Pervasives.result io
create t path
creates an empty file at path
. If path
contains directories that do not yet exist, create
will attempt to create them.
val mkdir : t -> string -> (unit, write_error) Pervasives.result io
mkdir t path
creates an empty directory at path
. If path
contains intermediate directories that do not yet exist, mkdir
will create them. If a directory already exists at path
, mkdir
returns `Ok ()
and takes no action.
val destroy : t -> string -> (unit, write_error) Pervasives.result io
destroy t path
removes a path
(which may be a file or an empty directory) on filesystem t
.
val stat : t -> string -> (Mirage_fs.stat, error) Pervasives.result io
stat t path
returns information about file or directory at path
.
val listdir : t -> string -> (string list, error) Pervasives.result io
listdir t path
returns the names of files and subdirectories within the directory path
.
val write :
t ->
string ->
int ->
page_aligned_buffer ->
(unit, write_error) Pervasives.result io
write t path offset data
writes data
at offset
in file path
on filesystem t
.
If path
contains directories that do not exist, write
will attempt to create them. If path
already exists, write
will overwrite existing information starting at off
.