zx_system_mexec_payload_get

摘要

傳回一個 ZBI,其中包含啟動此系統所需的 ZBI 項目。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_system_mexec_payload_get(zx_handle_t resource,
                                        void* buffer,
                                        size_t buffer_size);

說明

zx_system_mexec_payload_get() 會接受資源控制代碼和 對應至輸出緩衝區的指標/長度。緩衝區的頭是 使用無法啟動的 ZBI 覆寫,其中包含一系列應 附加至 ZBI,然後再傳遞至 zx_system_mexec();這個 緩衝區的尾會維持不變

resource 類型必須是 ZX_RSRC_KIND_SYSTEM 類型 (有底數) ZX_RSRC_SYSTEM_MEXEC_BASE

bufferbuffer_size 指向長度不超過 16KiB 的緩衝區。

如要使用 zx_system_mexec_payload_get() 函式,您必須指定 kernel.enable-debugging-syscalls=true 執行。否則 這個函式會傳回 ZX_ERR_NOT_SUPPORTED

權限

resource 必須包含有基準的 ZX_RSRC_KIND_SYSTEM 種類資源 ZX_RSRC_SYSTEM_MEXEC_BASE

傳回值

zx_system_mexec_payload_get() 會在成功時傳回 ZX_OK

ZX_ERR_NOT_SUPPORTED kernel.enable-debugging-syscalls未設為 true 執行指令碼

ZX_ERR_BUFFER_TOO_SMALL 如果提供的緩衝區太小,無法用於 ZBI。 在這種情況下,呼叫端應以較大的 緩衝區。

另請參閱