sig
  type in_channel
  type out_channel
  val in_channel_of_descr : Unix.file_descr -> Socket.in_channel
  val out_channel_of_descr : Unix.file_descr -> Socket.out_channel
  val descr_of_in_channel : Socket.in_channel -> Unix.file_descr
  val descr_of_out_channel : Socket.out_channel -> Unix.file_descr
  val open_connection :
    Unix.sockaddr -> Socket.in_channel * Socket.out_channel
  val shutdown_connection : Socket.in_channel -> unit
  val output : Socket.out_channel -> string -> int -> int -> unit
  val output_char : Socket.out_channel -> char -> unit
  val output_string : Socket.out_channel -> string -> unit
  val fprintf : Socket.out_channel -> ('a, unit, string, unit) format4 -> 'a
  val flush : Socket.out_channel -> unit
  val close_out : Socket.out_channel -> unit
  val input : Socket.in_channel -> string -> int -> int -> int
  val input_char : Socket.in_channel -> char
  val really_input : Socket.in_channel -> string -> int -> int -> unit
  val input_line : Socket.in_channel -> string
  val input_till : char -> Socket.in_channel -> string -> int -> int -> int
  val input_all_till : char -> Socket.in_channel -> string
  val close_in : Socket.in_channel -> unit
  val select :
    Socket.in_channel list ->
    Socket.out_channel list ->
    float -> Socket.in_channel list * Socket.out_channel list
  class out_channel_obj :
    Socket.out_channel ->
    object
      method close_out : unit -> unit
      method flush : unit -> unit
      method fprintf : ('a, unit, string, unit) format4 -> 'a
      method output : string -> int -> int -> int
      method output_char : char -> unit
      method output_string : string -> unit
    end
  class in_channel_obj :
    Socket.in_channel ->
    object
      method close_in : unit -> unit
      method input : string -> int -> int -> int
      method input_all_till : char -> string
      method input_char : unit -> char
      method input_line : unit -> string
      method input_till : char -> string -> int -> int -> int
      method really_input : string -> int -> int -> unit
    end
end