// Copyright 2023 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 zbi;

// TODO(https://fxbug.dev/42062786): Figure out documentation convention.

/// ZBI_TYPE_HW_REBOOT_REASON payload.
type HwRebootReason = flexible enum : uint32 {
    UNDEFINED = 0;
    COLD = 1;
    WARM = 2;
    BROWNOUT = 3;
    WATCHDOG = 4;
};
