Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Make.Primarytype page_aligned_buffer = Cstruct.tThe type for page-aligned memory buffers.
The type for block errors.
val pp_error : error Fmt.tpp_error is the pretty-printer for errors.
The type for write errors.
val pp_write_error : write_error Fmt.tpp_write_error is the pretty-printer for write errors.
include Mirage_device.S with type 'a io = 'a Lwt.ttype 'a io = 'a Lwt.tThe type for potentially blocking I/O operation
val get_info : t -> Mirage_block.info ioQuery the characteristics of a specific block device
val read : t -> int64 -> page_aligned_buffer list -> (unit, error) result ioread device sector_start buffers reads data starting at sector_start from the block device into buffers. Ok () means the buffers have been filled. Error _ indicates an I/O error has happened and some of the buffers may not be filled. Each of elements in the list buffers must be a whole number of sectors in length. The list of buffers can be of any length.
val write :
t ->
int64 ->
page_aligned_buffer list ->
(unit, write_error) result iowrite device sector_start buffers writes data from buffers onto the block device starting at sector_start. Ok () means the contents of the buffers have been written. Error _ indicates a partial failure in which some of the writes may not have happened.
Once submitted, it is not possible to cancel a request and there is no timeout.
The operation may fail with:
`Unimplemented: the operation has not been implemented, no data has been written.`Is_read_only: the device is read-only, no data has been written.`Disconnected: the device has been disconnected at application request, an unknown amount of data has been written.Each of buffers must be a whole number of sectors in length. The list of buffers can be of any length.
The data will not be copied, so the supplied buffers must not be re-used until the IO operation completes.