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

@for_deprecated_c_bindings
type Time = struct {
    seconds uint8;
    minutes uint8;
    hours uint8;
    day uint8;
    month uint8;
    year uint16;
};

@for_deprecated_c_bindings
protocol Device {
    /// Get the current RTC time
    Get() -> (struct {
        rtc Time;
    });

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