zx_iob_writev

摘要

对 IOBuffer 区域执行中介写入。

声明

#include <zircon/syscalls/iob.h>

zx_status_t zx_iob_write(zx_handle_t handle,
                         zx_iob_write_options_t options,
                         uint32_t region_index,
                         const zx_iovec_t* vectors,
                         size_t num_vectors);

说明

对 IOBuffer 区域执行中介写入。

options 必须为零。

用于与该区域交互的 IOBuffer 句柄必须接受中介写入权限。

字节数上限为 65535 字节,包括学科可能要求的任何标头,并且矢量不得超过 8 个。

返回值

成功后,系统会根据学科的语义将数据写入指定区域。

错误

ZX_ERR_ACCESS_DENIED IOB 句柄没有写入权限,或者相应的区域没有中介写入权限。

ZX_ERR_BAD_HANDLE handle 不是有效的句柄。

ZX_ERR_INVALID_ARGS options 不为零(目前不支持任何非默认选项),要写入的数据量超出限制,或者矢量无效。

ZX_ERR_IO_DATA_INTEGRITY 区域已损坏。

ZX_ERR_NOT_FOUND 向量无效(例如指向无效内存)。

ZX_ERR_NO_SPACE 区域没有足够的空间来写入消息。

ZX_ERR_OUT_OF_RANGE region_index 超出了区域索引上限。

ZX_ERR_WRONG_TYPE 句柄不是 IOBuffer 句柄,或者相应区域不符合所需的纪律。