| // Copyright 2018 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.process; |
| |
| using fuchsia.ldsvc; |
| using zx; |
| |
| const uint32 MAX_RESOLVE_NAME = 2048; |
| |
| [Discoverable, Layout = "Simple"] |
| interface Resolver { |
| // Resolves the given |name| to an |executable| and an shared library loader. |
| // |
| // If present, the |executable| is suitable for use as the |executable| |
| // property of |LaunchInfo|. If present, the |ldsvc| is suitable for use as |
| // the PA_LDSVC_LOADER handle when launching the process. |
| // |
| // For example, the resolver might locate the given |name| inside a package |
| // and return the executable binary from the package as well as a shared |
| // library loader scoped to that package. |
| 1: Resolve(string:MAX_RESOLVE_NAME name) -> (zx.status status, |
| handle<vmo>? executable, |
| fuchsia.ldsvc.Loader? ldsvc); |
| }; |