blob: 645aabd1ecf275def05079bd30ec4eb2c18416e6 [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 HandleOwnership {
fun0(resource struct {
in vector<handle>;
}) -> (resource struct {
out vector<handle>;
});
fun1(resource struct {
@release
in vector<handle>;
});
fun2(resource struct {
@use
in vector<handle>;
}) -> (resource struct {
@use
out vector<handle>;
});
fun3(resource struct {
in vector<handle>;
}) -> (resource struct {
@acquire
out vector<handle>;
});
fun4(resource struct {
in handle;
}) -> (resource struct {
status status;
out handle;
});
fun5(resource struct {
@release
in handle;
}) -> (resource struct {
status status;
@use
out handle;
});
@handle_unchecked
fun6(resource struct {
in vector<handle>;
}) -> (resource struct {
out vector<handle>;
});
};