Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type vhd_header = {
h_data_offset : int64;
mutable h_table_offset : int64;
h_header_version : int32;
mutable h_max_table_entries : int32;
h_block_size : int32;
h_checksum : int32;
h_parent_unique_id : string;
h_parent_time_stamp : int32;
h_parent_unicode_name : int array;
h_parent_locators : parent_locator array;
}
type vhd = {
filename : string;
mmap : Lwt_bytes.t;
header : vhd_header;
parent : vhd option;
bat : int32 array;
}
val null_locator : parent_locator
val really_read : Lwt_bytes.t -> int64 -> int64 -> bytes Lwt.t
val really_write : Lwt_bytes.t -> int64 -> string -> unit Lwt.t
val get_block_sizes : vhd -> int32 * int32 * int32
val unmarshal_geometry : (string * int) -> geometry * (string * int)
val unmarshal_parent_locator :
Lwt_bytes.t ->
(string * int) ->
(parent_locator * (string * int)) Lwt.t
val unmarshal_parent_locators :
Lwt_bytes.t ->
(string * int) ->
(parent_locator array * (string * int)) Lwt.t
val read_header : Lwt_bytes.t -> int64 -> vhd_header Lwt.t
val read_bat : Lwt_bytes.t -> 'a -> vhd_header -> int32 array Lwt.t
val get_parent_filename : vhd_header -> string
val marshal_features : feature list -> string
val marshal_geometry : geometry -> string
val marshal_disk_type : disk_type -> string
val marshal_parent_locator_entry : parent_locator -> string
val marshal_header_no_checksum : vhd_header -> string
val calc_checksum_header : vhd_header -> int32 * string
val marshal_header : vhd_header -> string
val write_locator : Lwt_bytes.t -> parent_locator -> unit Lwt.t
val write_locators : Lwt_bytes.t -> vhd_header -> unit Lwt.t
val write_bat : Lwt_bytes.t -> vhd -> unit Lwt.t
val feature_to_string : feature -> string
val disk_type_to_string : disk_type -> string
val parent_locator_to_string : parent_locator -> string
val dump_header : vhd_header -> unit
val dump_vhd : vhd -> unit
val get_offset_info_of_sector :
vhd ->
int64 ->
int * int64 * int * int * int * int * int64 * int64
val get_sector_pos : vhd -> int64 -> (Lwt_bytes.t * int64) option Lwt.t
val get_top_unused_offset : vhd -> int64
val check_overlapping_blocks : vhd -> unit