`sig
type command_context = {
sfs_command : string;
sfs_stdin : Shell.producer;
sfs_stdout : Shell.consumer;
sfs_stderr : Shell.consumer;
mutable sfs_status : Unix.process_status option;
}
type command_interpreter
val local_interpreter : unit -> Shell_fs.command_interpreter
val cmd_interpreter :
(Shell_fs.command_context -> Shell_sys.command list) ->
Shell_fs.command_interpreter
val ssh_interpreter :
?options:string list ->
?user:string -> host:string -> unit -> Shell_fs.command_interpreter
class type shell_stream_fs =
object
method cancel : unit -> unit
method copy : Netfs.copy_flag list -> string -> string -> unit
method last_stderr : string
method mkdir : Netfs.mkdir_flag list -> string -> unit
method nominal_dot_dot : bool
method path_encoding : Netconversion.encoding option
method path_exclusions : (int * int) list
method read :
Netfs.read_flag list -> string -> Netchannels.in_obj_channel
method read_file :
Netfs.read_file_flag list -> string -> Netfs.local_file
method readdir : Netfs.readdir_flag list -> string -> string list
method readlink : Netfs.readlink_flag list -> string -> string
method remove : Netfs.remove_flag list -> string -> unit
method rename : Netfs.rename_flag list -> string -> string -> unit
method rmdir : Netfs.rmdir_flag list -> string -> unit
method size : Netfs.size_flag list -> string -> int64
method symlink : Netfs.symlink_flag list -> string -> string -> unit
method test : Netfs.test_flag list -> string -> Netfs.test_type -> bool
method test_list :
Netfs.test_flag list -> string -> Netfs.test_type list -> bool list
method write :
Netfs.write_flag list -> string -> Netchannels.out_obj_channel
method write_file :
Netfs.write_file_flag list -> string -> Netfs.local_file -> unit
end
class shell_fs :
?encoding:Netconversion.encoding ->
?root:string ->
?dd_has_excl:bool ->
?tmp_directory:string ->
?tmp_prefix:string -> Shell_fs.command_interpreter -> shell_stream_fs
val shell_fs :
?encoding:Netconversion.encoding ->
?root:string ->
?dd_has_excl:bool ->
?tmp_directory:string ->
?tmp_prefix:string ->
Shell_fs.command_interpreter -> Shell_fs.shell_stream_fs
val execute :
Shell_fs.command_interpreter -> Shell_fs.command_context -> unit
val wait : Shell_fs.command_interpreter -> unit
val output_stream_adapter :
ci:Shell_fs.command_interpreter ->
close_in:(unit -> unit) ->
skip:int64 -> Shell.consumer * Netchannels.in_obj_channel
val input_stream_adapter :
ci:Shell_fs.command_interpreter ->
close_out:(unit -> unit) -> Shell.producer * Netchannels.out_obj_channel
end`