blob: f93c3825161dca1c8681b74c20daf6047f1e62d3 [file] [log] [blame]
// 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")
protocol debuglog {
// TODO(fxbug.dev/32803): handle == ZX_HANDLE_INVALID accepted.
/// Create an object allowing access to the kernel debuglog.
///
/// Rights: resource must have resource kind ZX_RSRC_KIND_ROOT.
debuglog_create(resource struct {
resource handle:RESOURCE;
options uint32;
}) -> (resource struct {
status status;
out handle:LOG;
});
/// Write a message to the kernel debuglog.
///
/// Rights: handle must be of type ZX_OBJ_TYPE_LOG and have ZX_RIGHT_WRITE.
debuglog_write(resource struct {
handle handle:LOG;
options uint32;
buffer vector_void;
}) -> (struct {
status status;
});
/// Read a single log record from the kernel debuglog.
///
/// Rights: handle must be of type ZX_OBJ_TYPE_LOG and have ZX_RIGHT_READ.
debuglog_read(resource struct {
handle handle:LOG;
options uint32;
}) -> (struct {
status status;
buffer vector_void;
});
};