摘要
触发虚拟中断对象。
声明
#include <zircon/syscalls.h>
zx_status_t zx_interrupt_trigger(zx_handle_t handle,
uint32_t options,
zx_time_t timestamp);
说明
zx_interrupt_trigger()
用于触发虚拟中断中断对象,从而导致中断消息数据包到达已绑定的端口(如果已绑定到端口),或者如果正在等待此中断,则返回 zx_interrupt_wait()
。
options 必须为零。
timestamp 默认被解释为 ZX_CLOCK_BOOT
上的时间戳。不过,如果使用 ZX_INTERRUPT_TIMESTAMP_MONO
选项创建了中断,则此时间戳将被解读为 ZX_CLOCK_MONOTONIC
上的时间戳。
权限
handle 必须为 ZX_OBJ_TYPE_INTERRUPT
类型且具有 ZX_RIGHT_SIGNAL
。
返回值
zx_interrupt_trigger()
会在成功时返回 ZX_OK
。如果失败,系统会返回负错误值。
错误
ZX_ERR_BAD_HANDLE
句柄无效。
ZX_ERR_WRONG_TYPE
句柄不是中断对象。
ZX_ERR_BAD_STATE
句柄不是虚拟中断。
ZX_ERR_CANCELED
对 handle 调用了 zx_interrupt_destroy()
。
ZX_ERR_ACCESS_DENIED
handle 缺少 ZX_RIGHT_SIGNAL
。
ZX_ERR_INVALID_ARGS
选项不为零。
另请参阅
zx_handle_close()
zx_interrupt_ack()
zx_interrupt_bind()
zx_interrupt_create()
zx_interrupt_destroy()
zx_interrupt_wait()
zx_port_wait()