| // 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"), | |
| } | |
| } | |
| } |