| // 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. |
| |
| // !!! THIS FILE IS NOT YET USED !!! |
| // See //zircon/system/public/zircon/syscalls.banjo. |
| // !!! THIS FILE IS NOT YET USED !!! |
| |
| library zz; |
| |
| [Transport="Syscall"] |
| protocol Handle { |
| /// Close a handle. |
| [In0="handle:release_always"] |
| Close(handle handle) -> (status status); |
| |
| /// Close a number of handles. |
| CloseMany(vector<handle> handles) -> (status status); |
| |
| /// Duplicate a handle. |
| [In0="handle:rights=DUPLICATE", |
| Out1="handle:acquire"] |
| Duplicate(handle handle, rights rights) -> (status status, handle out); |
| |
| /// Replace a handle. |
| [In0="handle:release_always", |
| Out1="handle:acquire"] |
| Replace(handle handle, rights rights) -> (status status, handle out); |
| }; |