Summary
Read a message from the debug serial port.
Declaration
#include <zircon/syscalls.h>
zx_status_t zx_debug_read(zx_handle_t handle,
char* buffer,
size_t buffer_size,
size_t* actual);
Description
zx_debug_read()
attempts to read data from the debug serial port.
The parameter buffer_size is used to specify the byte size of the read buffer.
The length of buffer, in bytes, is stored in the location pointed to by
actual.
This function will wait until at least one byte is available before it returns. This can return up to buffer_size bytes.
NOTE:
There is only one buffer of the data that is coming from the debug
serial, and calling zx_debug_read
consumes this data. If multiple programs are calling
this at once, they will each receive pieces of the data stream.
To use the zx_debug_read()
function, you must specify
kernel.enable-serial-syscalls=true
on the kernel command line. Otherwise,
the function returns ZX_ERR_NOT_SUPPORTED
.
Rights
handle must have resource kind ZX_RSRC_KIND_SYSTEM
with base
ZX_RSRC_SYSTEM_DEBUG_BASE
.
Return value
Returns ZX_OK
on success. The location pointed to by buffer contains
actual bytes that were read.
Errors
ZX_ERR_NOT_SUPPORTED
kernel.enable-serial-syscalls
is not set to true
on the kernel command line.
ZX_ERR_INVALID_ARGS
buffer or actual are NULL.