// 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 fuchsia.device.manager;

using zx;

/// All available suspend flags
const uint32 SUSPEND_FLAG_REBOOT = 0xdcdc0100;
const uint32 SUSPEND_FLAG_REBOOT_BOOTLOADER = 0xdcdc0101;
const uint32 SUSPEND_FLAG_REBOOT_RECOVERY = 0xdcdc0102;
const uint32 SUSPEND_FLAG_POWEROFF = 0xdcdc0200;
const uint32 SUSPEND_FLAG_MEXEC = 0xdcdc0300;
const uint32 SUSPEND_FLAG_SUSPEND_RAM = 0xdcdc0400;

// TODO(ravoorir): When the system power states are properly defined,
// remove the suspend flags. For now, treat each suspend flag as a system
// power state.
enum SystemPowerState : uint8 {
  SYSTEM_POWER_STATE_FULLY_ON = 0;
  SYSTEM_POWER_STATE_REBOOT = 1;
  SYSTEM_POWER_STATE_REBOOT_BOOTLOADER = 2;
  SYSTEM_POWER_STATE_REBOOT_RECOVERY = 3;
  SYSTEM_POWER_STATE_POWEROFF = 4;
  SYSTEM_POWER_STATE_MEXEC = 5;
  SYSTEM_POWER_STATE_SUSPEND_RAM = 6;
};
const uint32 MAX_SYSTEM_POWER_STATES = 7;

/// Provides administration services for the device manager service and the device tree it controls.
[Discoverable, Layout = "Simple"]
protocol Administrator {
    /// Ask all devices to enter the suspend state indicated by `flags`. Flags should be some
    /// combination of `DEVICE_SUSPEND_FLAG_*` from the DDK.
    Suspend(uint32 flags) -> (zx.status status);
    /// Ask all devices to resume to active state indicated by the state.
    Resume(SystemPowerState state) -> (zx.status status);
};
