blob: 6d852b575a6872c53be6d6910206821475eeccd1 [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.sys2;
using fuchsia.component;
/// The type of storage offered by this component.
enum StorageType {
/// General data storage.
DATA = 1;
/// Cache storage that may be deleted at any time by the system.
CACHE = 2;
/// Meta storage that will be used by component manager to persist metadata
/// and other information about the component
META = 3;
/// Declares a storage capability backed by a directory from which data, cache,
/// or meta storage can be offered.
table StorageDecl {
/// The name of this storage
1: string:fuchsia.component.MAX_STORAGE_NAME_LENGTH name;
/// The provider of the underlying directory capability relative to the
/// component itself. Must be `realm`, `self`, or `child`.
2: Ref source;
/// The incoming path to the directory capability. If "source == SELF", this
/// is a path in the component's outgoing directory. Otherwise, it is the
/// path by which the capability was presented to the component.
3: string:fuchsia.component.MAX_PATH_LENGTH source_path;