| // Copyright 2021 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. |
| @available(added=12) |
| library fuchsia.device.fs; |
| |
| using zx; |
| |
| @available(added=16) |
| type ConnectionType = flexible bits : uint8 { |
| /// Represents the fuchsia.io/Node protocol. |
| NODE = 0b001; |
| /// Represents the fuchsia.device/Controller protocol. |
| CONTROLLER = 0b010; |
| /// Represents the device specific FIDL. |
| DEVICE = 0b100; |
| }; |
| |
| /// A connector lets a client forward the server end of a protocol. |
| closed protocol Connector { |
| /// Forward a server end of a protocol so that it can be connected. |
| /// + request `server` the server end of the protocol to be served. The FIDL protocol that |
| /// this speaks is determined out-of-band. |
| /// - response This function has no response. The function is one-way to match the pipelining |
| /// behaviors of other virtual filesystems. |
| strict Connect(resource struct { |
| server zx.Handle:CHANNEL; |
| }); |
| }; |