// 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.hardware.rtc;

using zx;

[ForDeprecatedCBindings]
struct Time {
    uint8 seconds;
    uint8 minutes;
    uint8 hours;
    uint8 day;
    uint8 month;
    uint16 year;
};

[ForDeprecatedCBindings]
protocol Device {
    /// Get the current RTC time
    Get() -> (Time rtc);

    /// Set the RTC time
    Set(Time rtc) -> (zx.status status);
};
