blob: 31835af2f9e70914686b54a647f25d992166be8e [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;
alias mutable_vector_void = vector<byte>;
[Transport="Syscall"]
protocol Kwrap {
// Simple out ptr.
SimpleCase() -> (time time);
MultipleInHandles(vector<handle> handles) -> (status status);
// vdsocall excluded.
[vdsocall]
TicksGet() -> (ticks ticks);
// noreturn handled properly.
[noreturn]
ANoRetFunc();
// |buffer| treated as inout parameter.
InoutArgs(handle:VMO handle,
uint32 op,
uint64 offset,
uint64 size,
mutable_vector_void buffer) ->
(status status);
// Output handle copied properly.
OutputHandle() -> (status status, handle:EVENT event);
// When two output handles, status and copy are verified before any bytes
// returned.
TwoOutputHandle() -> (status status, handle:EVENT out0, handle:EVENT out1);
[testonly]
CompiledOut() -> (status status);
};