Module Tjr_minifs.Minifs_intf
Minifs main types; safe to open.
There is a lot of overlap with Stdlib
.Unix. We want our code to run in contexts where Unix is not available. Thus, we have to define many equiv types. We also want to use eg the OCaml Fuse bindings, which use Stdlib
.Unix types. So we need to be able to convert between our types and the existing types in Unix.
FIXME a lot of these types should be moved to fs_shared
Misc
type buffer
= Tjr_minifs__.Bigarray_buffer.buffer
Alias
type buf
= buffer
type ('a, 'e) r_
= ('a, 'e) Stdlib.result
Alias for result FIXME why?
module Int_base_types : sig ... end
fd and dh represented by ints... which is the usual underlying repn
module Base_extra : sig ... end
Some utility functions
Errors
module Error_ : sig ... end
type exn_
= Error_.exn_
module Call_specific_errors : sig ... end
Errors for each API function... an attempt to refine the different types of error each call can return FIXME needs further refinement
Stat records
module Kind : sig ... end
module Times : sig ... end
type times
= Times.times
val bin_shape_times : Bin_prot.Shape.t
val bin_size_times : times Bin_prot.Size.sizer
val bin_write_times : times Bin_prot.Write.writer
val bin_writer_times : times Bin_prot.Type_class.writer
val __bin_read_times__ : (int -> times) Bin_prot.Read.reader
val bin_read_times : times Bin_prot.Read.reader
val bin_reader_times : times Bin_prot.Type_class.reader
val bin_times : times Bin_prot.Type_class.t
module Stat_record : sig ... end
Simplified stat record
type stat_record
= Stat_record.stat_record
module St_convs : sig ... end
Conversions to/from Unix equivalents
Msgs btwn client and server
module Msgs : sig ... end
The main filesystem operations: unlink, mkdir etc
module Ops_type : sig ... end
type ('fd, 'dh, 't) ops
= ('fd, 'dh, 't) Ops_type.ops
type path
= Ops_type.path
type 'w co_eta
=
{
co_eta : a. ('a, 'w) Tjr_monad.m -> 'a;
}
Extract a value from a monad (Fuse lives in the real-world, so we need a way to project from a monad like lwt)