`sig
type in_channel = Lwt_io.input_channel
val in_channel_of_descr : Lwt_unix.file_descr -> Lwt_chan.in_channel
val make_in_channel :
?close:(unit -> unit Lwt.t) ->
(string -> int -> int -> int Lwt.t) -> Lwt_chan.in_channel
val input_line : Lwt_chan.in_channel -> string Lwt.t
val input_value : Lwt_chan.in_channel -> 'a Lwt.t
val input : Lwt_chan.in_channel -> string -> int -> int -> int Lwt.t
val really_input :
Lwt_chan.in_channel -> string -> int -> int -> unit Lwt.t
val input_char : Lwt_chan.in_channel -> char Lwt.t
val input_binary_int : Lwt_chan.in_channel -> int Lwt.t
val open_in_gen :
Unix.open_flag list -> int -> string -> Lwt_chan.in_channel Lwt.t
val open_in : string -> Lwt_chan.in_channel Lwt.t
val close_in : Lwt_chan.in_channel -> unit Lwt.t
type out_channel = Lwt_io.output_channel
val out_channel_of_descr : Lwt_unix.file_descr -> Lwt_chan.out_channel
val make_out_channel :
?close:(unit -> unit Lwt.t) ->
(string -> int -> int -> int Lwt.t) -> Lwt_chan.out_channel
val output : Lwt_chan.out_channel -> string -> int -> int -> unit Lwt.t
val flush : Lwt_chan.out_channel -> unit Lwt.t
val output_string : Lwt_chan.out_channel -> string -> unit Lwt.t
val output_value : Lwt_chan.out_channel -> 'a -> unit Lwt.t
val output_char : Lwt_chan.out_channel -> char -> unit Lwt.t
val output_binary_int : Lwt_chan.out_channel -> int -> unit Lwt.t
val open_out_gen :
Unix.open_flag list -> int -> string -> Lwt_chan.out_channel Lwt.t
val open_out : string -> Lwt_chan.out_channel Lwt.t
val close_out : Lwt_chan.out_channel -> unit Lwt.t
val open_connection :
Unix.sockaddr -> (Lwt_chan.in_channel * Lwt_chan.out_channel) Lwt.t
end`