Module Xdr


module Xdr: sig .. end


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_array_fixed of xdr_type_term * Rtypes.uint4
| X_array of xdr_type_term * Rtypes.uint4
| X_struct of (string * xdr_type_term) list
| X_union_over_int of (Rtypes.int4 * xdr_type_term) list * xdr_type_term option
| X_union_over_uint of (Rtypes.uint4 * xdr_type_term) list * xdr_type_term option
| X_union_over_enum of xdr_type_term * (string * xdr_type_term) list
* xdr_type_term option
| X_void
| X_type of string
| X_param of string
| X_rec of (string * xdr_type_term)
| X_refer of string
type xdr_type 
type xdr_type_term_system = (string * xdr_type_term) list 
type xdr_type_system 
val x_bool : xdr_type_term
val x_optional : xdr_type_term -> xdr_type_term
val x_opaque_max : xdr_type_term
val x_string_max : xdr_type_term
val x_array_max : xdr_type_term -> 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_value array
| XV_struct of (string * xdr_value) list
| XV_union_over_int of (Rtypes.int4 * xdr_value)
| XV_union_over_uint of (Rtypes.uint4 * xdr_value)
| XV_union_over_enum of (string * xdr_value)
| XV_void
| XV_enum_fast of int
| XV_struct_fast of xdr_value array
| XV_union_over_enum_fast of (int * xdr_value)
val xv_true : xdr_value
val xv_false : xdr_value
val xv_none : xdr_value
val xv_some : xdr_value -> xdr_value
exception Dest_failure
val dest_xv_int : xdr_value -> Rtypes.int4
val dest_xv_uint : xdr_value -> Rtypes.uint4
val dest_xv_hyper : xdr_value -> Rtypes.int8
val dest_xv_uhyper : xdr_value -> Rtypes.uint8
val dest_xv_enum : xdr_value -> string
val dest_xv_enum_fast : xdr_value -> int
val dest_xv_float : xdr_value -> Rtypes.fp4
val dest_xv_double : xdr_value -> Rtypes.fp8
val dest_xv_opaque : xdr_value -> string
val dest_xv_string : xdr_value -> string
val dest_xv_array : xdr_value -> xdr_value array
val dest_xv_struct : xdr_value -> (string * xdr_value) list
val dest_xv_struct_fast : xdr_value -> xdr_value array
val dest_xv_union_over_int : xdr_value -> Rtypes.int4 * xdr_value
val dest_xv_union_over_uint : xdr_value -> Rtypes.uint4 * xdr_value
val dest_xv_union_over_enum : xdr_value -> string * xdr_value
val dest_xv_union_over_enum_fast : xdr_value -> int * xdr_value
val dest_xv_void : xdr_value -> unit
val map_xv_enum_fast : xdr_type -> xdr_value -> int32
val map_xv_struct_fast : xdr_type -> xdr_value -> xdr_value array
val map_xv_union_over_enum_fast : xdr_type -> xdr_value -> int * int32 * xdr_value
exception Xdr_format of string
exception Xdr_format_message_too_long of xdr_value
val validate_xdr_type : xdr_type_term -> xdr_type
val validate_xdr_type_system : xdr_type_term_system -> xdr_type_system
val xdr_type_term : xdr_type -> xdr_type_term
val xdr_type_term_system : xdr_type_system -> xdr_type_term_system
val expanded_xdr_type : xdr_type_system -> xdr_type_term -> xdr_type
val expanded_xdr_type_term : xdr_type_term_system -> xdr_type_term -> xdr_type_term
val are_compatible : xdr_type -> xdr_type -> bool
val value_matches_type : xdr_value -> xdr_type -> (string * xdr_type) list -> bool
val pack_xdr_value : xdr_value ->
xdr_type -> (string * xdr_type) list -> (string -> unit) -> unit
val pack_xdr_value_as_string : ?rm:bool ->
xdr_value -> xdr_type -> (string * xdr_type) list -> string
val unpack_xdr_value : ?pos:int ->
?len:int ->
?fast:bool ->
?prefix:bool ->
string -> xdr_type -> (string * xdr_type) list -> xdr_value
val unpack_xdr_value_l : ?pos:int ->
?len:int ->
?fast:bool ->
?prefix:bool ->
string -> xdr_type -> (string * xdr_type) list -> xdr_value * int