zx_debug_read

摘要

讀取偵錯序列埠的訊息。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_debug_read(zx_handle_t handle,
                          char* buffer,
                          size_t buffer_size,
                          size_t* actual);

說明

zx_debug_read() 嘗試從偵錯序列埠讀取資料。buffer_size 參數用於指定讀取緩衝區的位元組大小。buffer 的長度 (以位元組為單位) 會儲存在 actual 指向的位置。

這個函式會等到至少有一個位元組可用時,才會傳回。最多可傳回 buffer_size 個位元組。

NOTE: 來自偵錯序列的資料只有一個緩衝區,呼叫 zx_debug_read 會耗用這項資料。如果多個程式同時呼叫這個方法,每個程式都會收到部分資料串流。

如要使用 zx_debug_read() 函式,您必須在核心指令列中指定 kernel.enable-serial-syscalls=true。否則,函式會傳回 ZX_ERR_NOT_SUPPORTED。

權限

handle 必須具有資源種類 ZX_RSRC_KIND_SYSTEM,且基礎為 ZX_RSRC_SYSTEM_DEBUG_BASE。

傳回值

成功時會傳回 ZX_OK。buffer 指向的位置包含已讀取的實際位元組。

錯誤

ZX_ERR_NOT_SUPPORTED 核心指令列上的 kernel.enable-serial-syscalls 未設為 true。

ZX_ERR_INVALID_ARGS buffer 或 actual 為 NULL。

另請參閱