Ocamlnet 3 Reference Manual : Netbuffer

`sig
type t
val create : int -> Netbuffer.t
val contents : Netbuffer.t -> string
val length : Netbuffer.t -> int
val get : Netbuffer.t -> int -> char
val nth : Netbuffer.t -> int -> char
val sub : Netbuffer.t -> int -> int -> string
val blit_to_string : Netbuffer.t -> int -> string -> int -> int -> unit
val blit : Netbuffer.t -> int -> string -> int -> int -> unit
val add_string : Netbuffer.t -> string -> unit
val add_sub_string : Netbuffer.t -> string -> int -> int -> unit
val add_substring : Netbuffer.t -> string -> int -> int -> unit
val add_char : Netbuffer.t -> char -> unit
val add_char_2 : Netbuffer.t -> char -> char -> unit
val add_char_4 : Netbuffer.t -> char -> char -> char -> char -> unit
val add_inplace :
?len:int -> Netbuffer.t -> (string -> int -> int -> int) -> int
val add_buffer : Netbuffer.t -> Netbuffer.t -> unit
val area_for_additions : ?len:int -> Netbuffer.t -> string * int * int
val advance : Netbuffer.t -> int -> unit
val insert_string : Netbuffer.t -> int -> string -> unit
val insert_sub_string : Netbuffer.t -> int -> string -> int -> int -> unit
val insert_char : Netbuffer.t -> int -> char -> unit
val set : Netbuffer.t -> int -> char -> unit
val put_string : Netbuffer.t -> int -> string -> unit
val blit_from_string : string -> int -> Netbuffer.t -> int -> int -> unit
val delete : Netbuffer.t -> int -> int -> unit
val clear : Netbuffer.t -> unit
val reset : Netbuffer.t -> unit
val try_shrinking : Netbuffer.t -> unit
val index_from : Netbuffer.t -> int -> char -> int
val blit_to_memory :
Netbuffer.t -> int -> Netsys_mem.memory -> int -> int -> unit
val add_sub_memory : Netbuffer.t -> Netsys_mem.memory -> int -> int -> unit
val unsafe_buffer : Netbuffer.t -> string
val print_buffer : Netbuffer.t -> unit
end`