blob: f024e7711e8160f68e4c2d16eddecfe9b7491e76 [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 fuchsia.tracing.kernel;
using zx;
// TODO(ZX-448): Allow providing a vmo of the buffer to use.
[Layout = "Simple"]
protocol Controller {
/// Start tracing.
Start(uint32 group_mask) -> (zx.status status);
/// Stop tracing.
Stop() -> (zx.status status);
/// Rewind the trace buffer.
Rewind() -> (zx.status status);
/// Get the number of bytes written to the trace buffer.
/// |size| is valid if, and only if, |status| is ZX_OK.
GetBytesWritten() -> (zx.status status, uint64 size);
};