sig
type value_type =
VaNull
| VaList
| VaInt8
| VaInt16
| VaInt32
| VaExtended
| VaString
| VaIdent
| VaFalse
| VaTrue
| VaBinary
| VaSet
| VaLString
| VaNil
| VaCollection
| VaSingle
| VaCurrency
| VaDate
| VaWString
| VaInt64
| VaUTF8String
| VaDouble
val min_value : Dfm.value_type
val max_value : Dfm.value_type
type filer_flag = FfInherited | FfChildPos | FfInline
type filer_flags = int
val set_of_ff : Dfm.filer_flag -> Dfm.filer_flags
val filer_signature : string
type byte_array =
(int, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
type variant =
[ `binary of Dfm.byte_array
| `bool of bool
| `char of char
| `currency of float
| `efloat of float * (int64 * int)
| `float of float
| `int of int
| `int32 of int32
| `int64 of int64
| `nil
| `null
| `sfloat of float
| `string of string
| `tag of string
| `time of float
| `wchar of int
| `wstring of Unicode.utf16_string ]
val datetime_of_unixtime : float -> float
val unixtime_of_datetime : float -> float
val extended_of_float : float -> int64 * int
val float_of_extended : int64 * int -> float
module Writer :
sig
type write_handler = string -> int -> int -> unit
val write_raw_byte : string -> Dfm.Writer.write_handler -> int -> unit
val write_raw_int8 : Dfm.Writer.write_handler -> int -> unit
val write_raw_int16 : Dfm.Writer.write_handler -> int -> unit
val write_raw_int32 : Dfm.Writer.write_handler -> int32 -> unit
val write_raw_int64 : Dfm.Writer.write_handler -> int64 -> unit
val write_raw_extended_image :
Dfm.Writer.write_handler -> int64 * int -> unit
val write_raw_extended : Dfm.Writer.write_handler -> float -> unit
val write_raw_short_string : Dfm.Writer.write_handler -> string -> unit
val write_raw_zero_terminated_string :
Dfm.Writer.write_handler -> string -> unit
val write_resource_header :
Dfm.Writer.write_handler -> string -> int -> unit
val write_value : Dfm.Writer.write_handler -> Dfm.value_type -> unit
val write_int8 : Dfm.Writer.write_handler -> int -> unit
val write_int16 : Dfm.Writer.write_handler -> int -> unit
val write_int32 : Dfm.Writer.write_handler -> int32 -> unit
val write_int64 : Dfm.Writer.write_handler -> int64 -> unit
val write_int : Dfm.Writer.write_handler -> int -> unit
val write_string : Dfm.Writer.write_handler -> string -> unit
val write_wide_string :
Dfm.Writer.write_handler -> Unicode.utf16_string -> unit
val write_char : Dfm.Writer.write_handler -> char -> unit
val write_wchar : Dfm.Writer.write_handler -> int -> unit
val write_bool : Dfm.Writer.write_handler -> bool -> unit
val write_ident : Dfm.Writer.write_handler -> string -> unit
val write_single : Dfm.Writer.write_handler -> float -> unit
val write_double : Dfm.Writer.write_handler -> float -> unit
val write_extended_image :
Dfm.Writer.write_handler -> int64 * int -> unit
val write_extended : Dfm.Writer.write_handler -> float -> unit
val write_currency : Dfm.Writer.write_handler -> float -> unit
val write_date : Dfm.Writer.write_handler -> float -> unit
val write_binary : Dfm.Writer.write_handler -> Dfm.byte_array -> unit
val write_nil : Dfm.Writer.write_handler -> unit
val write_null : Dfm.Writer.write_handler -> unit
val write_property_name : Dfm.Writer.write_handler -> string -> unit
val write_list_begin : Dfm.Writer.write_handler -> unit
val write_list_end : Dfm.Writer.write_handler -> unit
val write_collection_begin : Dfm.Writer.write_handler -> unit
val write_collection_end : Dfm.Writer.write_handler -> unit
val write_set_begin : Dfm.Writer.write_handler -> unit
val write_set_end : Dfm.Writer.write_handler -> unit
val write_set_element :
Dfm.Writer.write_handler ->
[ `char of char | `int of int | `tag of string | `wchar of int ] ->
unit
val write_signature : Dfm.Writer.write_handler -> unit
val write_component :
Dfm.Writer.write_handler ->
Dfm.filer_flags -> int -> string -> string -> unit
val write_variant : Dfm.Writer.write_handler -> Dfm.variant -> unit
val create :
?resource_header:bool ->
string ->
Pervasives.out_channel ->
[> `writing of
(unit -> unit) list Pervasives.ref *
(string ->
[< `binary of Dfm.byte_array
| `bool of bool
| `char of char
| `currency of float
| `efloat of float * (int64 * int)
| `end_of_list
| `end_of_record
| `float of float
| `int of int
| `int32 of int32
| `int64 of int64
| `list of [< `any | `record ]
| `nil
| `none
| `null
| `record
| `sfloat of float
| `some
| `string of string
| `tag of string
| `time of float
| `wchar of int
| `wstring of Unicode.utf16_string ] ->
unit) ]
end
module Reader :
sig
type read_handler = string -> int -> int -> int
val read_raw_byte : string -> Dfm.Reader.read_handler -> int
val read_raw_int8 : Dfm.Reader.read_handler -> int
val read_raw_int16 : Dfm.Reader.read_handler -> int
val read_raw_int32 : Dfm.Reader.read_handler -> int32
val read_raw_int64 : Dfm.Reader.read_handler -> int64
val read_raw_extended :
Dfm.Reader.read_handler -> float * (int64 * int)
val read_raw_date : Dfm.Reader.read_handler -> float
val read_raw_short_string : Dfm.Reader.read_handler -> string
val read_raw_zero_terminated_string : Dfm.Reader.read_handler -> string
val read_raw_long_string : Dfm.Reader.read_handler -> string
val read_raw_wide_string :
Dfm.Reader.read_handler -> Unicode.utf16_string
val read_raw_binary : Dfm.Reader.read_handler -> Dfm.byte_array
val read_value : Dfm.Reader.read_handler -> Dfm.value_type
val read_int : Dfm.Reader.read_handler -> int64
val read_set_element :
Dfm.Reader.read_handler ->
[ `char of char | `int of int | `tag of string | `wchar of int ]
option
val read_list : Dfm.Reader.read_handler -> int option
val read_variant :
Dfm.Reader.read_handler ->
[ `binary of Dfm.byte_array
| `bool of bool
| `char of char
| `collection
| `currency of float
| `efloat of float * (int64 * int)
| `float of float
| `int of int
| `int32 of int32
| `int64 of int64
| `list
| `nil
| `null
| `set
| `sfloat of float
| `string of string
| `tag of string
| `time of float
| `wchar of int
| `wstring of Unicode.utf16_string ]
val read_property_name : Dfm.Reader.read_handler -> string option
val read_resource_header : Dfm.Reader.read_handler -> string
val read_signature : Dfm.Reader.read_handler -> unit
val read_component :
Dfm.Reader.read_handler ->
(Dfm.filer_flags * int * string * string) option
val create :
?resource_header:bool ->
string ->
Pervasives.in_channel ->
[> `reading of
string Pervasives.ref *
[> `binary of Dfm.byte_array
| `bool of bool
| `char of char
| `end_of_list
| `end_of_record
| `float of float
| `int of int
| `int32 of int32
| `int64 of int64
| `list of [> `any ]
| `nil
| `null
| `record
| `string of string
| `tag of string
| `time of float ]
Pervasives.ref * (unit -> unit) * (float -> float) ]
end
end