Read bytes from the VMO.
#include <zircon/syscalls.h> zx_status_t zx_vmo_read(zx_handle_t handle, void* buffer, uint64_t offset, size_t buffer_size);
zx_vmo_read() attempts to read exactly buffer_size bytes from a VMO at offset.
buffer pointer to a user buffer to read bytes into.
buffer_size number of bytes to attempt to read. buffer buffer should be large enough for at least this many bytes.
handle must be of type ZX_OBJ_TYPE_VMO and have ZX_RIGHT_READ.
zx_vmo_read() returns ZX_OK on success, and exactly buffer_size bytes will
have been written to buffer.
In the event of failure, a negative error value is returned, and the number of
bytes written to buffer is undefined.
ZX_ERR_BAD_HANDLE handle is not a valid handle.
ZX_ERR_WRONG_TYPE handle is not a VMO handle.
ZX_ERR_ACCESS_DENIED handle does not have the ZX_RIGHT_READ right.
ZX_ERR_INVALID_ARGS buffer is an invalid pointer or NULL.
ZX_ERR_NOT_FOUND buffer address does not map to address in address space.
ZX_ERR_OUT_OF_RANGE offset + buffer_size is greater than the size of the VMO.
ZX_ERR_BAD_STATE VMO has been marked uncached and is not directly readable.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-11-21.