blob: 4d8b7fc8d07e59c6b53cfa8c9df4e9b605a3d4c7 [file] [log] [blame] [edit]
// Copyright 2022 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
use std::fmt;
use std::fmt::Display;
#[derive(Debug, PartialEq, Eq)]
pub enum HwsecError {
InvalidArgumentError,
Tpm2Error(u32),
Tpm2ResponseBadFormatError,
GsctoolError(i32),
GsctoolResponseBadFormatError,
VbootScriptResponseBadFormatError,
MetricsClientFailureError,
QrencodeError,
CommandRunnerError,
SyslogError,
FileError,
GbbFlagOperationError,
SystemRebootError,
SystemTimeError,
InternalError,
}
impl Display for HwsecError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
HwsecError::InvalidArgumentError => write!(f, "InvalidArgumentError"),
HwsecError::Tpm2Error(err_code) => write!(f, "Tpm2Error - Error code: {}", err_code),
HwsecError::Tpm2ResponseBadFormatError => write!(f, "Tpm2ResponseBadFormatError"),
HwsecError::GsctoolError(err_code) => {
write!(f, "GsctoolError - Error code : {}", err_code)
}
HwsecError::GsctoolResponseBadFormatError => write!(f, "GsctoolResponseBadFormatError"),
HwsecError::VbootScriptResponseBadFormatError => {
write!(f, "VbootScriptResponseBadFormatError")
}
HwsecError::MetricsClientFailureError => write!(f, "MetricsClientFailureError"),
HwsecError::QrencodeError => write!(f, "QrencodeError"),
HwsecError::CommandRunnerError => write!(f, "CommandRunnerError"),
HwsecError::SyslogError => write!(f, "SyslogError"),
HwsecError::FileError => write!(f, "FileError"),
HwsecError::GbbFlagOperationError => write!(f, "GbbFlagOperationError"),
HwsecError::SystemTimeError => write!(f, "SystemTimeError"),
HwsecError::SystemRebootError => write!(f, "SystemRebootError"),
HwsecError::InternalError => write!(f, "InternalError"),
}
}
}