Ocamlnet 3 Reference Manual : Xdr

`sig
type xdr_type_term =
X_int
| X_uint
| X_hyper
| X_uhyper
| X_enum of (string * Rtypes.int4) list
| X_float
| X_double
| X_opaque_fixed of Rtypes.uint4
| X_opaque of Rtypes.uint4
| X_string of Rtypes.uint4
| X_mstring of string * Rtypes.uint4
| X_array_fixed of Xdr.xdr_type_term * Rtypes.uint4
| X_array of Xdr.xdr_type_term * Rtypes.uint4
| X_struct of (string * Xdr.xdr_type_term) list
| X_union_over_int of (Rtypes.int4 * Xdr.xdr_type_term) list *
Xdr.xdr_type_term option
| X_union_over_uint of (Rtypes.uint4 * Xdr.xdr_type_term) list *
Xdr.xdr_type_term option
| X_union_over_enum of Xdr.xdr_type_term *
(string * Xdr.xdr_type_term) list * Xdr.xdr_type_term option
| X_void
| X_type of string
| X_param of string
| X_rec of (string * Xdr.xdr_type_term)
| X_refer of string
| X_direct of Xdr.xdr_type_term *
(string -> int Pervasives.ref -> int -> exn) *
(exn -> string -> int Pervasives.ref -> unit) * (exn -> int)
type xdr_type
type xdr_type_term_system = (string * Xdr.xdr_type_term) list
type xdr_type_system
val x_bool : Xdr.xdr_type_term
val x_optional : Xdr.xdr_type_term -> Xdr.xdr_type_term
val x_opaque_max : Xdr.xdr_type_term
val x_string_max : Xdr.xdr_type_term
val x_mstring_max : string -> Xdr.xdr_type_term
val x_array_max : Xdr.xdr_type_term -> Xdr.xdr_type_term
type xdr_value =
XV_int of Rtypes.int4
| XV_uint of Rtypes.uint4
| XV_hyper of Rtypes.int8
| XV_uhyper of Rtypes.uint8
| XV_enum of string
| XV_float of Rtypes.fp4
| XV_double of Rtypes.fp8
| XV_opaque of string
| XV_string of string
| XV_array of Xdr.xdr_value array
| XV_struct of (string * Xdr.xdr_value) list
| XV_union_over_int of (Rtypes.int4 * Xdr.xdr_value)
| XV_union_over_uint of (Rtypes.uint4 * Xdr.xdr_value)
| XV_union_over_enum of (string * Xdr.xdr_value)
| XV_void
| XV_enum_fast of int
| XV_struct_fast of Xdr.xdr_value array
| XV_union_over_enum_fast of (int * Xdr.xdr_value)
| XV_array_of_string_fast of string array
| XV_mstring of Xdr_mstring.mstring
| XV_direct of exn * int
val xv_true : Xdr.xdr_value
val xv_false : Xdr.xdr_value
val xv_none : Xdr.xdr_value
val xv_some : Xdr.xdr_value -> Xdr.xdr_value
exception Dest_failure
val dest_xv_int : Xdr.xdr_value -> Rtypes.int4
val dest_xv_uint : Xdr.xdr_value -> Rtypes.uint4
val dest_xv_hyper : Xdr.xdr_value -> Rtypes.int8
val dest_xv_uhyper : Xdr.xdr_value -> Rtypes.uint8
val dest_xv_enum : Xdr.xdr_value -> string
val dest_xv_enum_fast : Xdr.xdr_value -> int
val dest_xv_float : Xdr.xdr_value -> Rtypes.fp4
val dest_xv_double : Xdr.xdr_value -> Rtypes.fp8
val dest_xv_opaque : Xdr.xdr_value -> string
val dest_xv_string : Xdr.xdr_value -> string
val dest_xv_mstring : Xdr.xdr_value -> Xdr_mstring.mstring
val dest_xv_array : Xdr.xdr_value -> Xdr.xdr_value array
val dest_xv_array_of_string_fast : Xdr.xdr_value -> string array
val dest_xv_struct : Xdr.xdr_value -> (string * Xdr.xdr_value) list
val dest_xv_struct_fast : Xdr.xdr_value -> Xdr.xdr_value array
val dest_xv_union_over_int : Xdr.xdr_value -> Rtypes.int4 * Xdr.xdr_value
val dest_xv_union_over_uint : Xdr.xdr_value -> Rtypes.uint4 * Xdr.xdr_value
val dest_xv_union_over_enum : Xdr.xdr_value -> string * Xdr.xdr_value
val dest_xv_union_over_enum_fast : Xdr.xdr_value -> int * Xdr.xdr_value
val dest_xv_void : Xdr.xdr_value -> unit
val map_xv_enum_fast : Xdr.xdr_type -> Xdr.xdr_value -> int32
val map_xv_struct_fast :
Xdr.xdr_type -> Xdr.xdr_value -> Xdr.xdr_value array
val map_xv_union_over_enum_fast :
Xdr.xdr_type -> Xdr.xdr_value -> int * int32 * Xdr.xdr_value
exception Xdr_format of string
exception Xdr_format_message_too_long of Xdr.xdr_value
exception Xdr_failure of string
val validate_xdr_type : Xdr.xdr_type_term -> Xdr.xdr_type
val validate_xdr_type_system :
Xdr.xdr_type_term_system -> Xdr.xdr_type_system
val params : Xdr.xdr_type -> string list
val xdr_type_term : Xdr.xdr_type -> Xdr.xdr_type_term
val xdr_type_term_system : Xdr.xdr_type_system -> Xdr.xdr_type_term_system
val expanded_xdr_type :
Xdr.xdr_type_system -> Xdr.xdr_type_term -> Xdr.xdr_type
val expanded_xdr_type_term :
Xdr.xdr_type_term_system -> Xdr.xdr_type_term -> Xdr.xdr_type_term
val are_compatible : Xdr.xdr_type -> Xdr.xdr_type -> bool
val value_matches_type :
Xdr.xdr_value -> Xdr.xdr_type -> (string * Xdr.xdr_type) list -> bool
type encoder = Xdr_mstring.mstring list -> Xdr_mstring.mstring list
type decoder = string -> int -> int -> string * int
val pack_xdr_value :
?encode:(string * Xdr.encoder) list ->
Xdr.xdr_value ->
Xdr.xdr_type -> (string * Xdr.xdr_type) list -> (string -> unit) -> unit
val pack_xdr_value_as_string :
?rm:bool ->
?encode:(string * Xdr.encoder) list ->
Xdr.xdr_value -> Xdr.xdr_type -> (string * Xdr.xdr_type) list -> string
val pack_xdr_value_as_mstrings :
?encode:(string * Xdr.encoder) list ->
Xdr.xdr_value ->
Xdr.xdr_type -> (string * Xdr.xdr_type) list -> Xdr_mstring.mstring list
type xdr_value_version = [ `Ocamlrpcgen | `V1 | `V2 | `V3 | `V4 ]
val unpack_xdr_value :
?pos:int ->
?len:int ->
?fast:bool ->
?prefix:bool ->
?mstring_factories:Xdr_mstring.named_mstring_factories ->
?xv_version:Xdr.xdr_value_version ->
?decode:(string * Xdr.decoder) list ->
string -> Xdr.xdr_type -> (string * Xdr.xdr_type) list -> Xdr.xdr_value
val unpack_xdr_value_l :
?pos:int ->
?len:int ->
?fast:bool ->
?prefix:bool ->
?mstring_factories:Xdr_mstring.named_mstring_factories ->
?xv_version:Xdr.xdr_value_version ->
?decode:(string * Xdr.decoder) list ->
string ->
Xdr.xdr_type -> (string * Xdr.xdr_type) list -> Xdr.xdr_value * int
val get_string_decoration_size : int -> Rtypes.uint4 -> int
val sizefn_string : Rtypes.uint4 -> string -> int
val sizefn_mstring : Rtypes.uint4 -> Xdr_mstring.mstring -> int
val write_string_fixed :
int -> string -> string -> int Pervasives.ref -> unit
val write_string : string -> string -> int Pervasives.ref -> unit
val read_string_fixed :
int -> string -> int Pervasives.ref -> int -> string
val read_string :
Rtypes.uint4 -> string -> int Pervasives.ref -> int -> string
val raise_xdr_format_too_short : unit -> 'a
val raise_xdr_format_value_not_included : unit -> 'a
val raise_xdr_format_maximum_length : unit -> 'a
val raise_xdr_format_undefined_descriminator : unit -> 'a
val safe_add : int -> int -> int
val safe_mul : int -> int -> int
end`