摘要
建立 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
out0 或 out0 是無效的指標、空值或
options 是 0 以外的任何值。
ZX_ERR_OUT_OF_RANGE
elem_count 或 elem_size 為零,或
elem_count * elem_size 大於 4096。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。