// 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
closed protocol JobProvider {
    /// Gets the root job associated with the realm.
    strict GetJob() -> (resource struct {
        job zx.Handle:JOB;
    });
};
