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 不是有效的 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 句柄,或對應的區域並非所需規範。