// 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.sys;

using zx;

/// An interface for providing a job handle. Instances of this interface are
/// created in the context of an already-identified realm, so there is no need
/// to explicitly identify the realm below.
[Discoverable]
protocol JobProvider {
    /// Gets the root job associated with the realm.
    GetJob() -> (zx.handle:JOB job);
};
