package fat-filesystem

  1. Overview
  2. Docs

The main FS interface.

Parameters

Signature

type error = [
  1. | Mirage_fs.error
  2. | `Block_read of B.error
]
type write_error = [
  1. | error
  2. | Mirage_fs.write_error
  3. | `Directory_not_empty
  4. | `Block_write of B.write_error
  5. | `Exn of exn
]
include Mirage_fs_lwt.S with type error := error and type write_error := write_error
val pp_error : error Fmt.t

pp_error is the pretty-printer for 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 t

The type representing the internal state of the device

val disconnect : t -> unit io

Disconnect from the device. While this might take some time to complete, it can never result in an error.

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.

val connect : B.t -> t Lwt.t
val format : B.t -> int64 -> (t, write_error) Result.result Lwt.t
OCaml

Innovation. Community. Security.