sig
type ('a, 'b) input
and ('a, 'b, 'c) output
and stdin = (char, string) IO.input
and 'a stdout = (char, string, 'a) IO.output
exception No_more_input
exception Input_closed
exception Output_closed
exception Not_implemented
val read : ('a, 'b) IO.input -> 'a
val nread : ('a, 'b) IO.input -> int -> 'b
val close_in : ('a, 'b) IO.input -> unit
val available : ('a, 'b) IO.input -> int
val pos_in : ('a, 'b) IO.input -> int
val write : ('a, 'b, 'c) IO.output -> 'a -> unit
val nwrite : ('a, 'b, 'c) IO.output -> 'b -> unit
val flush : ('a, 'b, 'c) IO.output -> unit
val close_out : ('a, 'b, 'c) IO.output -> 'c
val pos_out : ('a, 'b, 'c) IO.output -> int
val printf :
('a, string, 'b) IO.output -> ('c, unit, string, unit) format4 -> 'c
val input_string : string -> IO.stdin
val output_string : unit -> string IO.stdout
val input_channel : Pervasives.in_channel -> IO.stdin
val output_channel : Pervasives.out_channel -> unit IO.stdout
val input_enum : 'a Enum.t -> ('a, 'a Enum.t) IO.input
val output_enum : unit -> ('a, 'a Enum.t, 'a Enum.t) IO.output
val create_in :
read:(unit -> 'a) ->
nread:(int -> 'b) ->
pos:(unit -> int) ->
available:(unit -> int) -> close:(unit -> unit) -> ('a, 'b) IO.input
val create_out :
write:('a -> unit) ->
nwrite:('b -> unit) ->
pos:(unit -> int) ->
flush:(unit -> unit) -> close:(unit -> 'c) -> ('a, 'b, 'c) IO.output
val pipe :
unit -> ('a, 'a list) IO.input * ('a, 'a list, 'a list) IO.output
exception Overflow of string
val read_byte : (char, 'a) IO.input -> int
val read_ui16 : (char, 'a) IO.input -> int
val read_i16 : (char, 'a) IO.input -> int
val read_i32 : (char, 'a) IO.input -> int
val read_string : (char, 'a) IO.input -> string
val read_line : (char, 'a) IO.input -> string
val write_byte : (char, 'a, 'b) IO.output -> int -> unit
val write_ui16 : (char, 'a, 'b) IO.output -> int -> unit
val write_i16 : (char, 'a, 'b) IO.output -> int -> unit
val write_i32 : (char, 'a, 'b) IO.output -> int -> unit
val write_string : 'a IO.stdout -> string -> unit
val write_line : 'a IO.stdout -> string -> unit
val input_bits : (char, 'a) IO.input -> (bool, int) IO.input
val output_bits :
(char, 'a, 'b) IO.output -> (bool, int * int, 'b) IO.output
end