// 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.

// TODO(fxb/39732): This should be read as "library zx".
library zz;

[Transport = "Syscall"]
protocol mtrace {
    /// Rights: handle must have resource kind ZX_RSRC_KIND_ROOT.
    mtrace_control(handle<resource> handle,
                   uint32 kind,
                   uint32 action,
                   uint32 options,
                   mutable_vector_void ptr)
        -> (status status);
};
