| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library zx; |
| |
| @transport("Syscall") |
| closed protocol Mtrace { |
| /// ## Summary |
| /// |
| /// TODO(fxbug.dev/32938) |
| /// |
| /// ## Declaration |
| /// |
| /// ```c |
| /// #include <zircon/syscalls.h> |
| /// |
| /// zx_status_t zx_mtrace_control(zx_handle_t handle, |
| /// uint32_t kind, |
| /// uint32_t action, |
| /// uint32_t options, |
| /// void* ptr, |
| /// size_t ptr_size); |
| /// ``` |
| /// |
| /// ## Description |
| /// |
| /// To use the `zx_mtrace_control()` function, you must specify |
| /// `kernel.enable-debugging-syscalls=true` on the kernel command line. Otherwise, |
| /// the function returns **ZX_ERR_NOT_SUPPORTED**. |
| /// |
| /// TODO(fxbug.dev/32938) |
| /// |
| /// ## Rights |
| /// |
| /// *handle* must have resource kind **ZX_RSRC_KIND_SYSTEM** with base |
| /// **ZX_RSRC_SYSTEM_DEBUG_BASE**. |
| /// |
| /// ## Return value |
| /// |
| /// TODO(fxbug.dev/32938) |
| /// |
| /// ## Errors |
| /// |
| /// TODO(fxbug.dev/32938) |
| /// |
| /// ## See also |
| /// |
| /// TODO(fxbug.dev/32938) |
| strict Control(resource struct { |
| handle Handle:RESOURCE; |
| kind uint32; |
| action uint32; |
| options uint32; |
| @inout |
| @voidptr |
| ptr vector<byte>:MAX; |
| }) -> () error Status; |
| }; |