I/O-vectors for scatter/gather-operations
type 'buf t
= private
{
buf : 'buf; | (** Buffer holding the I/O-vector *) |
pos : int; | (** Position of I/O-vector in buffer *) |
len : int; | (** Length of I/O-vector in buffer *) |
}
Representation of I/O-vectors. NOTE: DO NOT CHANGE THE MEMORY LAYOUT OF THIS TYPE!!! All C-functions in our bindings that handle I/O-vectors depend on it.
include sig ... end
val t_of_sexp : (Base.Sexp.t ‑> 'buf) ‑> Base.Sexp.t ‑> 'buf t
val sexp_of_t : ('buf ‑> Base.Sexp.t) ‑> 'buf t ‑> Base.Sexp.t
val string_kind : string kind
val of_string : ?pos:int ‑> ?len:int ‑> string ‑> string t
of_string ?pos ?len str
returns an I/O-vector designated by
position pos
and length len
in string str
.
String.length str - pos
of_bigstring ?pos ?len bstr
returns an I/O-vector designated by
position pos
and length len
in bigstring bstr
.
String.length str - pos
drop iovec n
drops n
characters from iovec
. returns resulting
I/O-vector.
n
is greater than length of iovec
.val max_iovecs : int Core__.Import.Lazy.t