<!-- Generated by zircon/scripts/update-docs-from-fidl, do not edit! -->
# zx_ktrace_write

## Summary

TODO(fxbug.dev/32938)

## Declaration

```c
#include <zircon/syscalls.h>

zx_status_t zx_ktrace_write(zx_handle_t handle,
                            uint32_t id,
                            uint32_t arg0,
                            uint32_t arg1);
```

## Description

To use the `zx_ktrace_write()` 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_ROOT**.

## Return value

TODO(fxbug.dev/32938)

## Errors

TODO(fxbug.dev/32938)

## See also

TODO(fxbug.dev/32938)

