中断次数

总结

确认中断并重新配置。

声明

#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 句柄是无效的句柄。

ZX_ERR_WRONG_TYPE 句柄不是中断对象。

ZX_ERR_BAD_STATE 句柄未绑定到端口。

handle 调用了 ZX_ERR_CANCELED zx_interrupt_destroy()

ZX_ERR_ACCESS_DENIED 句柄缺少 ZX_RIGHT_WRITE

另请参阅