blob: 4002d04f6c8fedf9b2f96c268ad919d68f5ed920 [file] [log] [blame]
// 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;
});
};