| File lib/ocaml/pkg-lib/hydro/hydro_unmarshal.mli |
GODI Package
godi-hydro |
|
Library
hydro |
(* $Id: hydro_unmarshal.mli 15333 2007-11-23 16:41:36Z gerd $ *)
(** Hydro unmarshalling *)
open Hydro_types
val decapsulate : encap_buffer -> encap_buffer
(** [decapsulate (nb,pos,len)]: Interprets the [len] bytes at [pos]
in [nb] as encapsulation, and returns its contents also in the
format [(nb',pos',len')]. [nb=nb'] is allowed.
*)
val unmarshal : system -> htype -> bool -> encap_buffer -> value
(** [unmarshal sys ht class_flag eb]: Decodes the value at [pos] with
length [len] in [nb] which is supposed to be of type [ht] and returns
it.
The [class_flag] must be true if [ht] contains classes.
Logically, a whole encapsulation body is decoded (incl. the appendix
for class values).
*)
val unmarshal_exn : system -> encap_buffer -> sliced_value
(** [unmarshal_exn sys (nb,pos,len) ]: Decodes the exception value
at [pos] with length [len] in [nb] and returns it. The exception
can be any exception listed in [sys].
Logically, a whole encapsulation body is decoded (incl. the appendix
for class values).
*)
val unmarshal_msg : system -> msg_header -> encap_buffer -> msg
(** Returns a message for a message buffer (header and body) *)
(* Internal & Low-level: *)
val read_int : string -> int -> int