// 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 ddk.protocol.clockimpl;

using zx;

[Layout = "ddk-protocol"]
protocol ClockImpl {
    Enable(uint32 id) -> (zx.status s);
    Disable(uint32 id) -> (zx.status s);

    RequestRate(uint32 id, uint64 rate) -> (zx.status s);
};
