On a quest for agency in Bellairs
1module type Storage = sig
2 type dir
3 type file
4 type entry = { name : string; file : file }
5
6 val list : dir -> entry list
7 val create : dir -> string -> file
8 val open_ : dir -> string -> file
9 val delete : dir -> string -> unit
10 val size : file -> int64
11 val read : ?off:int64 -> ?len:int64 -> file -> string
12 val write : ?off:int64 -> ?len:int64 -> file -> string -> unit
13
14 (* FIXME: not totally sure if that should be here *)
15 val share : file -> Uri.t
16end
17
18module type Sigs = sig
19 module type Storage = Storage
20end