摘要
确认中断并重新开启它。
声明
#include <zircon/syscalls.h>
zx_status_t zx_interrupt_ack(zx_handle_t handle);
说明
zx_interrupt_ack()
确认中断对象,使其符合条件
以便再次触发(并将数据包递送到其所绑定的端口)。
如果中断对象是物理中断、如果是水平中断,并且 或者自上次发出中断后,仍保持断言 就会立即触发中断 所绑定的端口
虚拟中断的行为方式与边缘中断相同。
此系统调用仅针对绑定到端口的中断运行。中断
zx_interrupt_wait()
所等待的对象不需要使用以下代码重新武装
调用 - 它会在调用 zx_interrupt_wait()
时自动发生。
权限
handle 的类型必须为 ZX_OBJ_TYPE_INTERRUPT
且包含 ZX_RIGHT_WRITE
。
返回值
如果成功,zx_interrupt_ack()
会返回 ZX_OK
。在活动中
则会返回负的错误值。
错误
ZX_ERR_BAD_HANDLE
handle 是无效的句柄。
ZX_ERR_WRONG_TYPE
句柄不是中断对象。
ZX_ERR_BAD_STATE
handle 未绑定到端口。
ZX_ERR_CANCELED
在 handle 上调用了 zx_interrupt_destroy()
。
ZX_ERR_ACCESS_DENIED
handle 缺少 ZX_RIGHT_WRITE
。
另请参阅
zx_handle_close()
zx_interrupt_bind()
zx_interrupt_create()
zx_interrupt_destroy()
zx_interrupt_trigger()
zx_interrupt_wait()
zx_port_wait()