Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
val is_compressed : t -> bool
True if the address has been marked as being compressed
val is_mutable : t -> bool
True if the offset is safe to mutate directly (i.e. is not referenced by a snapshot
val make : ?is_mutable:bool -> ?is_compressed:bool -> int64 -> t
Create an address at the given byte offset. This defaults to is_mutable = true
which meand there are no snapshots implying that directly writing to this offset is ok; and is_compressed = false
.
val to_sector : sector_size:int -> t -> int64 * int
Return the sector on disk, plus a remainder within the sector
val to_bytes : t -> int64
Return the byte offset on disk
val to_cluster : cluster_bits:int -> t -> int64 * int
Return the cluster offset on disk, plus a remainder within the cluster
include Qcow_s.PRINTABLE with type t := t
val to_string : t -> string
Produce a pretty human-readable string from a value
include Qcow_s.SERIALISABLE with type t := t
val sizeof : t -> int
The size of a buffer needed to hold t
val read : Cstruct.t -> (t * Cstruct.t, [ `Msg of string ]) Result.result
Read a t
from the given buffer and return it, along with the unused remainder of the buffer. If the buffer cannot be parsed then return an error.
val write : t -> Cstruct.t -> (Cstruct.t, [ `Msg of string ]) Result.result
Write a t
into the given buffer. If the buffer is too small, then return an error. Return the unused remainder of the buffer.