Module Core__Core_unix.IOVec

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
type 'buf kind

Kind of I/O-vector buffers

type bigstring = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
val string_kind : string kind
val bigstring_kind : bigstring kind
val empty : 'buf kind ‑> 'buf t

empty the empty I/O-vector.

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.

val of_bigstring : ?⁠pos:int ‑> ?⁠len:int ‑> bigstring ‑> bigstring t

of_bigstring ?pos ?len bstr returns an I/O-vector designated by position pos and length len in bigstring bstr.

val drop : 'buf t ‑> int ‑> 'buf t

drop iovec n drops n characters from iovec. returns resulting I/O-vector.

val max_iovecs : int Core__.Import.Lazy.t