`sig
type 'a filename
val of_unix_filename :
OASISUnixPath.unix_filename -> 'a OASISFileSystem.filename
val to_unix_filename :
'a OASISFileSystem.filename -> OASISUnixPath.unix_filename
class type closer = object method close : unit end
class type reader =
object
method close : unit
method input : Stdlib.Buffer.t -> int -> unit
end
class type writer =
object method close : unit method output : Stdlib.Buffer.t -> unit end
class type ['a] fs =
object
method file_exists : 'a OASISFileSystem.filename -> bool
method open_in :
?mode:Stdlib.open_flag list ->
?perm:int -> 'a OASISFileSystem.filename -> OASISFileSystem.reader
method open_out :
?mode:Stdlib.open_flag list ->
?perm:int -> 'a OASISFileSystem.filename -> OASISFileSystem.writer
method remove : 'a OASISFileSystem.filename -> unit
method string_of_filename : 'a OASISFileSystem.filename -> string
end
val defer_close : (#OASISFileSystem.closer as 'a) -> ('a -> 'b) -> 'b
val binary_out : Stdlib.open_flag list
val binary_in : Stdlib.open_flag list
val stream_of_reader : #OASISFileSystem.reader -> char Stream.t
val read_all : Stdlib.Buffer.t -> #OASISFileSystem.reader -> unit
class ['a] host_fs : OASISUnixPath.host_filename -> ['a] fs
end`