zx_break_create

摘要

建立中斷物件。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_interrupt_create(zx_handle_t src_obj,
                                uint32_t src_num,
                                uint32_t options,
                                zx_handle_t* out_handle);

說明

zx_interrupt_create() 會建立中斷物件,以代表實體 或虛擬幹擾功能

如果選項ZX_INTERRUPT_VIRTUAL,則系統會忽略 src_objsrc_num 並傳回虛擬中斷

否則 src_obj 必須是適合建立平台中斷情形的適當資源 或 PCI 物件,而 src_num 是相關聯的中斷編號。這項限制 建立中斷情形,導致 DDK (驅動程式庫開發套件) 內部的中斷。 實體中斷是透過各種 DDK API 取得。

實體幹擾元素會根據 ZX_INTERRUPT_EDGE_LOWZX_INTERRUPT_EDGE_HIGHZX_INTERRUPT_LEVEL_LOWZX_INTERRUPT_LEVEL_HIGHZX_INTERRUPT_REMAP_IRQ

帳號代碼有 ZX_RIGHT_INSPECTZX_RIGHT_DUPLICATEZX_RIGHT_TRANSFER (以便透過 zx_channel_write() 傳送至其他程序)、ZX_RIGHT_READZX_RIGHT_WRITE (zx_interrupt_ack() 的必填)、ZX_RIGHT_WAIT ( zx_interrupt_wait()ZX_RIGHT_SIGNAL (zx_interrupt_trigger() 為必要項目)。

中斷描述為「觸發」發生基礎實體中斷時 或在虛擬中斷中呼叫 zx_interrupt_trigger() 時。觸發的中斷 透過 zx_interrupt_bind() 繫結至通訊埠時,會導致封包傳送至通訊埠。

如果未繫結至通訊埠,可使用 zx_interrupt_wait() 等待中斷物件。

你無法在 zx_object_wait_ 系列通話等待中斷。

權限

src_obj 必須包含資源種類 ZX_RSRC_KIND_IRQ

傳回值

zx_interrupt_create() 會在成功時傳回 ZX_OK。活動 失敗時,系統會傳回負錯誤值。

錯誤

ZX_ERR_BAD_HANDLE src_obj 帳號代碼無效 (如果不是虛擬中斷)

ZX_ERR_WRONG_TYPE src_obj 控制代碼不是適當的類型,因此無法產生中斷。

ZX_ERR_ACCESS_DENIED src_obj 控制代碼不允許執行這項作業。

ZX_ERR_INVALID_ARGS options 包含無效旗標或 out_handle 參數是無效的指標。

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

另請參閱