zx_fifo_write

摘要

將資料寫入 FF。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_fifo_write(zx_handle_t handle,
                          size_t elem_size,
                          const void* data,
                          size_t count,
                          size_t* actual_count);

說明

zx_fifo_write() 會嘗試寫入最多 count 個元素 (count * elem_size 個位元組) 從「data」變更為「處理常式」指定的片段。

如果寫入的元素數量不足,則寫入的元素數量可能少於所要求的數量 並納入所有訊號開啟 實際寫入的元素數會透過 actual_count 傳回。

elem_size 指定的元素大小必須與元素大小相符 傳入 zx_fifo_create()

actual_count 值可以為 NULL。當您在寫入時 單一元素:如果 count 為 1,且 zx_fifo_write() 傳回 ZX_OKactual_count 值保證為 1,因此您可以放心忽略。

寫入零個元素並不合法。

權限

handle 必須是 ZX_OBJ_TYPE_FIFO 類型,且包含 ZX_RIGHT_WRITE

傳回值

zx_fifo_write() 會在成功時傳回 ZX_OK,並傳回 透過 actual_count 寫入的元素數量 (至少一個)。

錯誤

ZX_ERR_BAD_HANDLE 帳號代碼不是有效的帳號代碼。

ZX_ERR_WRONG_TYPE 帳號代碼不是簡單的帳號代碼。

ZX_ERR_INVALID_ARGS 資料 是無效的指標或 actual_count 是無效的指標。

ZX_ERR_OUT_OF_RANGE count 為零或 elem_size 不等於 轉換成 FFF 的元素大小

ZX_ERR_ACCESS_DENIED 帳號代碼沒有 ZX_RIGHT_WRITE

ZX_ERR_PEER_CLOSED 擊球的另一面已經關上了。

ZX_ERR_SHOULD_WAIT擊球全開。

另請參閱