摘要
讀取偵錯序列埠的訊息。
宣告
#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」的長度 (以位元組為單位) 會儲存在「實際」指向的位置。
此函式會等待至少 1 個位元組可用,才會傳回。這最多可傳回 buffer_size 個位元組。
NOTE:
資料只有一個緩衝區來自偵錯序列,呼叫 zx_debug_read
會使用這些資料。如果多個程式一次呼叫此內容,每個程式都會收到資料串流的內容。
如要使用 zx_debug_read()
函式,您必須在核心指令列中指定 kernel.enable-serial-syscalls=true
。否則,函式會傳回 ZX_ERR_NOT_SUPPORTED
。
權限
handle 必須具備以 ZX_RSRC_SYSTEM_DEBUG_BASE
為基準的資源種類 ZX_RSRC_KIND_SYSTEM
。
傳回值
成功時傳回 ZX_OK
。buffer 指向的位置包含已讀取的實際位元組。
錯誤
核心指令列中的 ZX_ERR_NOT_SUPPORTED
kernel.enable-serial-syscalls
未設為 true
。
ZX_ERR_INVALID_ARGS
緩衝區或實際為空值。