#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(u8)]
pub enum RestartType {
Basic = 0x00,
MasterReset = 0x01,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(u8)]
pub enum EraseCode {
Void = 0x00,
ConfirmedRestart = 0x01,
FactoryReset = 0x02,
ResetIndividualAddress = 0x03,
ResetApplicationProgram = 0x04,
ResetParameters = 0x05,
ResetLinks = 0x06,
FactoryResetWithoutAddress = 0x07,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum DataSecurity {
None,
Auth,
AuthConf,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct SecurityControl {
pub tool_access: bool,
pub data_security: DataSecurity,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(u8)]
pub enum ReturnCode {
Success = 0x00,
SuccessWithCrc = 0x01,
MemoryError = 0xF1,
InvalidCommand = 0xF2,
ImpossibleCommand = 0xF3,
ExceedsMaxApduLength = 0xF4,
DataOverflow = 0xF5,
OutOfMinRange = 0xF6,
OutOfMaxRange = 0xF7,
DataVoid = 0xF8,
TemporarilyNotAvailable = 0xF9,
AccessWriteOnly = 0xFA,
AccessReadOnly = 0xFB,
AccessDenied = 0xFC,
AddressVoid = 0xFD,
DataTypeConflict = 0xFE,
GenericError = 0xFF,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(u8)]
pub enum CemiErrorCode {
Unspecified = 0x00,
OutOfRange = 0x01,
OutOfMaxRange = 0x02,
OutOfMinRange = 0x03,
MemoryError = 0x04,
ReadOnly = 0x05,
IllegalCommand = 0x06,
VoidDatapoint = 0x07,
TypeConflict = 0x08,
PropertyIndexRangeError = 0x09,
ValueTemporarilyNotWriteable = 0x0A,
}