zx_timer_create

摘要

建立計時器。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_timer_create(uint32_t options,
                            zx_clock_t clock_id,
                            zx_handle_t* out);

說明

zx_timer_create() 會建立計時器,這是可在達到指定時間點時發出信號的物件。clock_id 可以是 ZX_CLOCK_MONOTONICZX_CLOCK_BOOT,具體取決於計時器應使用哪個時間軸做為參照。請注意,啟動時間表中的計時器會在暫停至閒置期間結束,但不會喚醒系統。

options 值會指定合併行為,用於控制系統是否可以根據其他待處理的計時器提早或延後觸發時間。

可能的值如下:

  • ZX_TIMER_SLACK_CENTER
  • ZX_TIMER_SLACK_EARLY
  • ZX_TIMER_SLACK_LATE

在選項中傳遞 0 等同於 ZX_TIMER_SLACK_CENTER

詳情請參閱計時器延遲

傳回的句柄具有 ZX_RIGHT_DUPLICATEZX_RIGHT_TRANSFERZX_RIGHT_WRITEZX_RIGHT_SIGNALZX_RIGHT_WAITZX_RIGHT_INSPECT 權限。

權限

呼叫端工作政策必須允許 ZX_POL_NEW_TIMER

傳回值

zx_timer_create() 會在成功時傳回 ZX_OK。如果失敗,系統會傳回負值錯誤值。

錯誤

ZX_ERR_INVALID_ARGS out 是無效的指標或 NULL,或是 options 不是 ZX_TIMER_SLACK 值之一,或是 clock_idZX_CLOCK_MONOTONIC 以外的任何值。

ZX_ERR_NO_MEMORY 記憶體不足而導致失敗。使用者空間沒有適當的方式來處理這個 (不太可能發生的) 錯誤。日後的版本將不會再發生這個錯誤。

另請參閱