blob: dc2e3f0a00c645e480914b4915406adfdfb33496 [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 fuchsia.fshost;
using zx;
/// Manages filesystems which wish to be globally exposed under the filesystem host.
[Discoverable, Layout = "Simple"]
protocol Registry {
/// Registers the output directory of a filesystem. These filesystems are
/// exported from the fuchsia.fshost.Filesystems service, where they are
/// be identified by an instance number (of the form "000", "001", etc).
/// This directory is automatically de-registered from fuchsia.fshost.Filesystems
/// if the server end of the connection is closed.
RegisterFilesystem( public_export) -> (zx.status s);
/// A collection of all registered filesystems.
[Discoverable, Layout = "Simple"]
protocol Filesystems {
/// Manages fshost lifecycle
protocol Admin {
/// Causes fshost to unmount all filesystems and exit. Fshost has
/// successfully unmounted all filesystems when this function returns, and
/// exits immediately after writing the response to this function.
// TODO(43186): replace with the component manager shutdown API once it
// becomes available.
Shutdown() -> ();