| // 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; |
| |
| /// Declares a capability exposed to a component's containing realm, such as a |
| /// service exposed by the component or one of its children at runtime. |
| xunion ExposeDecl { |
| ExposeServiceDecl service; |
| ExposeDirectoryDecl directory; |
| }; |
| |
| /// Declares a service exposed to a component's containing realm, such as a |
| /// service exposed by the component or one of its children at runtime. |
| table ExposeServiceDecl { |
| /// The provider of the capability relative to the component itself. Must |
| /// be |self| or |child|. |
| 1: Ref source; |
| |
| /// Path identifying the service, by which it was presented to this |
| /// component. |
| 2: string:MAX_PATH_LENGTH source_path; |
| |
| /// The path by which the capability is being exposed. |
| /// |
| /// Must be an absolute path starting with /. |
| 3: string:MAX_PATH_LENGTH target_path; |
| }; |
| |
| /// Declares a directory exposed to a component's containing realm, such as a |
| /// directory exposed by the component or one of its children at runtime. |
| table ExposeDirectoryDecl { |
| /// Path identifying the directory, by which it was presented to this |
| /// component. |
| 1: string:MAX_PATH_LENGTH source_path; |
| |
| /// The provider of the capability relative to the component itself. Must |
| /// be |self| or |child|. |
| 2: Ref source; |
| |
| /// The path by which the capability is being exposed. |
| /// |
| /// Must be an absolute path starting with /. |
| 3: string:MAX_PATH_LENGTH target_path; |
| }; |