zx_fifo_create

摘要

建立 FFO。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_fifo_create(size_t elem_count,
                           size_t elem_size,
                           uint32_t options,
                           zx_handle_t* out0,
                           zx_handle_t* out1);

說明

zx_fifo_create() 會建立起源,這其實是一對夫妻檔 共 elem_count 位元組,共 elem_size 位元組。有兩個端點 。寫入一個端點會將元素排入佇列中 相對的

Fifos 是用來做為共用記憶體傳輸的控制層。 讀取與寫入作業比通訊端channels,但對元素大小設有嚴格的限制 特徵重要性和緩衝區組合

每個分層 (elem_count * elem_size) 的總大小不得超過 4096 個位元組。

options 引數必須為 0。

權限

呼叫端工作政策必須允許 ZX_POL_NEW_FIFO

傳回值

zx_fifo_create() 會在成功時傳回 ZX_OK。如果發生以下情況: 失敗時,會傳回下列其中一個值。

錯誤

ZX_ERR_INVALID_ARGS out0out0 是無效的指標、空值或 options 是 0 以外的任何值。

ZX_ERR_OUT_OF_RANGE elem_countelem_size 為零,或 elem_count * elem_size 大於 4096。

ZX_ERR_NO_MEMORY 因記憶體不足而失敗。 使用者空間無法妥善處理這種 (異常) 錯誤。 在日後的版本中不會再發生這個錯誤。

另請參閱