sig
type seek = Iobuf_intf.seek
type no_seek = Iobuf_intf.no_seek
type ('data_perm_read_write, 'seek_permission) t =
('data_perm_read_write, 'seek_permission) Iobuf.t
val invariant :
'a Core_kernel.Invariant_intf.inv ->
'b Core_kernel.Invariant_intf.inv ->
('a, 'b) t Core_kernel.Invariant_intf.inv
val create : len:int -> ('a, 'b) t
val of_bigstring : ?pos:int -> ?len:int -> Bigstring.t -> ('a, 'b) t
val of_string : string -> ('a, 'b) t
val sub : ?pos:int -> ?len:int -> ('d, 'a) t -> ('d, 'b) t
val capacity : ('a, 'b) t -> int
val length : ('a, 'b) t -> int
val is_empty : ('a, 'b) t -> bool
val narrow : ('a, seek) t -> unit
module type Bound =
sig
type t
val window : ('a, 'b) t -> t
val limit : ('a, 'b) t -> t
val restore : t -> ('a, Iobuf_intf.seek) t -> unit
val sexp_of_t : t -> Sexplib.Sexp.t
end
module Lo_bound :
sig
type t = Iobuf.Lo_bound.t
val window : ('a, 'b) t -> t
val limit : ('a, 'b) t -> t
val restore : t -> ('a, Iobuf_intf.seek) t -> unit
val sexp_of_t : t -> Sexplib.Sexp.t
end
module Hi_bound :
sig
type t = Iobuf.Hi_bound.t
val window : ('a, 'b) t -> t
val limit : ('a, 'b) t -> t
val restore : t -> ('a, Iobuf_intf.seek) t -> unit
val sexp_of_t : t -> Sexplib.Sexp.t
end
val advance : ('a, seek) t -> int -> unit
val resize : ('a, seek) t -> len:int -> unit
val rewind : ('a, seek) t -> unit
val reset : ('a, seek) t -> unit
val flip_lo : ('a, seek) t -> unit
val bounded_flip_lo : ('a, seek) t -> Lo_bound.t -> unit
val compact : (Common.read_write, seek) t -> unit
val bounded_compact :
(Common.read_write, seek) t -> Lo_bound.t -> Hi_bound.t -> unit
val flip_hi : ('a, seek) t -> unit
val bounded_flip_hi : ('a, seek) t -> Hi_bound.t -> unit
val to_string : ?len:int -> ('a, 'b) t -> string
val consume_into_string :
?pos:int -> ?len:int -> ('a, seek) t -> string -> unit
val consume_into_bigstring :
?pos:int -> ?len:int -> ('a, seek) t -> Bigstring.t -> unit
module Consume :
sig
type ('a, 'd, 'w) t = ('d, seek) t -> 'a
val char : (char, 'd, 'w) t
val int8 : (int, 'd, 'w) t
val int16_be : (int, 'd, 'w) t
val int16_le : (int, 'd, 'w) t
val int32_be : (int, 'd, 'w) t
val int32_le : (int, 'd, 'w) t
val uint8 : (int, 'd, 'w) t
val uint16_be : (int, 'd, 'w) t
val uint16_le : (int, 'd, 'w) t
val uint32_be : (int, 'd, 'w) t
val uint32_le : (int, 'd, 'w) t
val int64_be : (int, 'd, 'w) t
val int64_le : (int, 'd, 'w) t
val int64_t_be : (Int64.t, 'd, 'w) t
val int64_t_le : (Int64.t, 'd, 'w) t
val padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t
val string : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val bigstring : ?str_pos:int -> ?len:int -> (Bigstring.t, 'd, 'w) t
end
module Fill :
sig
type ('a, 'd, 'w) t = (Common.read_write, seek) t -> 'a -> unit
val char : (char, 'd, 'w) t
val int8 : (int, 'd, 'w) t
val int16_be : (int, 'd, 'w) t
val int16_le : (int, 'd, 'w) t
val int32_be : (int, 'd, 'w) t
val int32_le : (int, 'd, 'w) t
val uint8 : (int, 'd, 'w) t
val uint16_be : (int, 'd, 'w) t
val uint16_le : (int, 'd, 'w) t
val uint32_be : (int, 'd, 'w) t
val uint32_le : (int, 'd, 'w) t
val int64_be : (int, 'd, 'w) t
val int64_le : (int, 'd, 'w) t
val int64_t_be : (Int64.t, 'd, 'w) t
val int64_t_le : (Int64.t, 'd, 'w) t
val padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t
val string : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val bigstring : ?str_pos:int -> ?len:int -> (Bigstring.t, 'd, 'w) t
end
module Peek :
sig
type ('a, 'd, 'w) t = ('d, 'w) t -> pos:int -> 'a
val char : (char, 'd, 'w) t
val int8 : (int, 'd, 'w) t
val int16_be : (int, 'd, 'w) t
val int16_le : (int, 'd, 'w) t
val int32_be : (int, 'd, 'w) t
val int32_le : (int, 'd, 'w) t
val uint8 : (int, 'd, 'w) t
val uint16_be : (int, 'd, 'w) t
val uint16_le : (int, 'd, 'w) t
val uint32_be : (int, 'd, 'w) t
val uint32_le : (int, 'd, 'w) t
val int64_be : (int, 'd, 'w) t
val int64_le : (int, 'd, 'w) t
val int64_t_be : (Int64.t, 'd, 'w) t
val int64_t_le : (Int64.t, 'd, 'w) t
val padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t
val string : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val bigstring : ?str_pos:int -> ?len:int -> (Bigstring.t, 'd, 'w) t
end
module Poke :
sig
type ('a, 'd, 'w) t =
(Common.read_write, 'w) t -> pos:int -> 'a -> unit
val char : (char, 'd, 'w) t
val int8 : (int, 'd, 'w) t
val int16_be : (int, 'd, 'w) t
val int16_le : (int, 'd, 'w) t
val int32_be : (int, 'd, 'w) t
val int32_le : (int, 'd, 'w) t
val uint8 : (int, 'd, 'w) t
val uint16_be : (int, 'd, 'w) t
val uint16_le : (int, 'd, 'w) t
val uint32_be : (int, 'd, 'w) t
val uint32_le : (int, 'd, 'w) t
val int64_be : (int, 'd, 'w) t
val int64_le : (int, 'd, 'w) t
val int64_t_be : (Int64.t, 'd, 'w) t
val int64_t_le : (Int64.t, 'd, 'w) t
val padded_fixed_string : padding:char -> len:int -> (string, 'd, 'w) t
val string : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val bigstring : ?str_pos:int -> ?len:int -> (Bigstring.t, 'd, 'w) t
end
module Unsafe :
sig
module Consume :
sig
type ('a, 'd, 'w) t = ('d, seek) t -> 'a
val char : (char, 'd, 'w) t
val int8 : (int, 'd, 'w) t
val int16_be : (int, 'd, 'w) t
val int16_le : (int, 'd, 'w) t
val int32_be : (int, 'd, 'w) t
val int32_le : (int, 'd, 'w) t
val uint8 : (int, 'd, 'w) t
val uint16_be : (int, 'd, 'w) t
val uint16_le : (int, 'd, 'w) t
val uint32_be : (int, 'd, 'w) t
val uint32_le : (int, 'd, 'w) t
val int64_be : (int, 'd, 'w) t
val int64_le : (int, 'd, 'w) t
val int64_t_be : (Int64.t, 'd, 'w) t
val int64_t_le : (Int64.t, 'd, 'w) t
val padded_fixed_string :
padding:char -> len:int -> (string, 'd, 'w) t
val string : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val bigstring : ?str_pos:int -> ?len:int -> (Bigstring.t, 'd, 'w) t
end
module Fill :
sig
type ('a, 'd, 'w) t = (Common.read_write, seek) t -> 'a -> unit
val char : (char, 'd, 'w) t
val int8 : (int, 'd, 'w) t
val int16_be : (int, 'd, 'w) t
val int16_le : (int, 'd, 'w) t
val int32_be : (int, 'd, 'w) t
val int32_le : (int, 'd, 'w) t
val uint8 : (int, 'd, 'w) t
val uint16_be : (int, 'd, 'w) t
val uint16_le : (int, 'd, 'w) t
val uint32_be : (int, 'd, 'w) t
val uint32_le : (int, 'd, 'w) t
val int64_be : (int, 'd, 'w) t
val int64_le : (int, 'd, 'w) t
val int64_t_be : (Int64.t, 'd, 'w) t
val int64_t_le : (Int64.t, 'd, 'w) t
val padded_fixed_string :
padding:char -> len:int -> (string, 'd, 'w) t
val string : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val bigstring : ?str_pos:int -> ?len:int -> (Bigstring.t, 'd, 'w) t
end
module Peek :
sig
type ('a, 'd, 'w) t = ('d, 'w) t -> pos:int -> 'a
val char : (char, 'd, 'w) t
val int8 : (int, 'd, 'w) t
val int16_be : (int, 'd, 'w) t
val int16_le : (int, 'd, 'w) t
val int32_be : (int, 'd, 'w) t
val int32_le : (int, 'd, 'w) t
val uint8 : (int, 'd, 'w) t
val uint16_be : (int, 'd, 'w) t
val uint16_le : (int, 'd, 'w) t
val uint32_be : (int, 'd, 'w) t
val uint32_le : (int, 'd, 'w) t
val int64_be : (int, 'd, 'w) t
val int64_le : (int, 'd, 'w) t
val int64_t_be : (Int64.t, 'd, 'w) t
val int64_t_le : (Int64.t, 'd, 'w) t
val padded_fixed_string :
padding:char -> len:int -> (string, 'd, 'w) t
val string : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val bigstring : ?str_pos:int -> ?len:int -> (Bigstring.t, 'd, 'w) t
end
module Poke :
sig
type ('a, 'd, 'w) t =
(Common.read_write, 'w) t -> pos:int -> 'a -> unit
val char : (char, 'd, 'w) t
val int8 : (int, 'd, 'w) t
val int16_be : (int, 'd, 'w) t
val int16_le : (int, 'd, 'w) t
val int32_be : (int, 'd, 'w) t
val int32_le : (int, 'd, 'w) t
val uint8 : (int, 'd, 'w) t
val uint16_be : (int, 'd, 'w) t
val uint16_le : (int, 'd, 'w) t
val uint32_be : (int, 'd, 'w) t
val uint32_le : (int, 'd, 'w) t
val int64_be : (int, 'd, 'w) t
val int64_le : (int, 'd, 'w) t
val int64_t_be : (Int64.t, 'd, 'w) t
val int64_t_le : (Int64.t, 'd, 'w) t
val padded_fixed_string :
padding:char -> len:int -> (string, 'd, 'w) t
val string : ?str_pos:int -> ?len:int -> (string, 'd, 'w) t
val bigstring : ?str_pos:int -> ?len:int -> (Bigstring.t, 'd, 'w) t
end
end
val fill_bin_prot :
(Common.read_write, seek) t ->
'a Bin_prot.Type_class.writer -> 'a -> unit Or_error.t
val consume_bin_prot :
('b, seek) t -> 'a Bin_prot.Type_class.reader -> 'a Or_error.t
val transfer :
?len:int -> src:('a, seek) t -> dst:(Common.read_write, seek) t -> unit
val memmove :
(Common.read_write, 'a) t ->
src_pos:int -> dst_pos:int -> len:int -> unit
val read_assume_fd_is_nonblocking :
(Common.read_write, seek) t -> Iobuf_intf.Unix.File_descr.t -> int
val pread_assume_fd_is_nonblocking :
(Common.read_write, seek) t ->
Iobuf_intf.Unix.File_descr.t -> offset:int -> int
val recvfrom_assume_fd_is_nonblocking :
(Common.read_write, seek) t ->
Iobuf_intf.Unix.File_descr.t -> int * Iobuf_intf.Unix.sockaddr
val recvmmsg_assume_fd_is_nonblocking :
(Iobuf_intf.Unix.File_descr.t ->
?count:int ->
?srcs:Iobuf_intf.Unix.sockaddr array ->
(Common.read_write, seek) t array -> int)
Or_error.t
val send_nonblocking_no_sigpipe :
unit ->
(('a, seek) t -> Iobuf_intf.Unix.File_descr.t -> int option) Or_error.t
val sendto_nonblocking_no_sigpipe :
unit ->
(('a, seek) t ->
Iobuf_intf.Unix.File_descr.t -> Iobuf_intf.Unix.sockaddr -> int option)
Or_error.t
val write_assume_fd_is_nonblocking :
('a, seek) t -> Iobuf_intf.Unix.File_descr.t -> int
val pwrite_assume_fd_is_nonblocking :
('a, seek) t -> Iobuf_intf.Unix.File_descr.t -> offset:int -> int
val sexp_of_seek : seek -> Sexplib.Sexp.t
val sexp_of_no_seek : no_seek -> Sexplib.Sexp.t
val sexp_of_t :
('data_perm_read_write -> Sexplib.Sexp.t) ->
('seek_permission -> Sexplib.Sexp.t) ->
('data_perm_read_write, 'seek_permission) t -> Sexplib.Sexp.t
end