Enum apdu_dispatch::app::Status
source · #[non_exhaustive]pub enum Status {
Show 50 variants
Success,
MoreAvailable(u8),
DataUnchangedWarning,
WarningTriggering(u8),
CorruptedData,
UnexpectedEof,
SelectFileDeactivated,
FileControlInfoBadlyFormatted,
SelectedFileInTerminationState,
NoInputDataFromSensor,
VerificationFailed,
FilledByLastWrite,
RemainingRetries(u8),
UnspecifiedNonpersistentExecutionError,
ImmediateResponseRequired,
ErrorTriggering(u8),
UnspecifiedPersistentExecutionError,
MemoryFailure,
WrongLength,
ClaNotSupported,
LogicalChannelNotSupported,
SecureMessagingNotSupported,
LastCommandOfChainExpected,
CommandChainingNotSupported,
CommandNotAllowed,
CommandIncompatibleFileStructure,
SecurityStatusNotSatisfied,
OperationBlocked,
ReferenceDataNotUsable,
ConditionsOfUseNotSatisfied,
CommandNotAllowedNoEf,
ExectedSecureMessagingDataObjectsMissing,
IncorrectSecureMessagingDataObjects,
WrongParametersNoInfo,
IncorrectDataParameter,
FunctionNotSupported,
NotFound,
RecordNotFound,
NotEnoughMemory,
NcInconsistentWithTlv,
IncorrectP1OrP2Parameter,
NcInconsistentWithP1p2,
KeyReferenceNotFound,
FileAlreadyExists,
DfNameAlreadyExists,
WrongParameters,
WrongLeField(u8),
InstructionNotSupportedOrInvalid,
ClassNotSupported,
UnspecifiedCheckingError,
}
Expand description
Enum helping matching the SW1-SW2 bytes defined in 5.1.3
This enums helps matching against most status bytes.
Some valid status bytes values may not be supported. This enums still implements From<u16>
through a #[doc_hidden]
variant.
This makes the following possible even though there is no variant for the 0x1234
value:
use iso7816::Status;
const CUSTOM_STATUS: Status = Status::from_u16(0x1234);
let status: Status = 0x1234.into();
match status {
CUSTOM_STATUS => println!("Success"),
_ => unreachable!(),
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Success
0x900
MoreAvailable(u8)
0x6100
to 0x61FF
DataUnchangedWarning
0x6200
WarningTriggering(u8)
0x6202
Triggering by the card
The count must be within 0x02..=0x80
CorruptedData
0x6281
UnexpectedEof
0x6282
SelectFileDeactivated
0x6283
FileControlInfoBadlyFormatted
0x6284
SelectedFileInTerminationState
0x6285
NoInputDataFromSensor
0x6286
VerificationFailed
0x6300
Data changed warning
Name kept for backwards compatibility
FilledByLastWrite
0x6381
RemainingRetries(u8)
0x63C0
to 0x63CF
Generic Warning Counter
Meaning depends on the command
The count must be within 0x00..=0x0F
UnspecifiedNonpersistentExecutionError
0x6400
Execution Error
ImmediateResponseRequired
0x6401
ErrorTriggering(u8)
0x6402
to 0x6480
Triggering by the card
The count must be within 0x02..=0x80
UnspecifiedPersistentExecutionError
0x6500
Data Changed Error
MemoryFailure
0x6581
WrongLength
0x6700
ClaNotSupported
0x6800
LogicalChannelNotSupported
0x6881
SecureMessagingNotSupported
0x6882
LastCommandOfChainExpected
0x6883
CommandChainingNotSupported
0x6884
CommandNotAllowed
0x6900
CommandIncompatibleFileStructure
0x6981
SecurityStatusNotSatisfied
0x6982
OperationBlocked
0x6983
AuthenticationMethodBlocked
Name kept for backwards compatiblity
ReferenceDataNotUsable
0x6984
ConditionsOfUseNotSatisfied
0x6985
CommandNotAllowedNoEf
0x6986
ExectedSecureMessagingDataObjectsMissing
0x6987
IncorrectSecureMessagingDataObjects
0x6988
WrongParametersNoInfo
0x6A00
IncorrectDataParameter
0x6A80
FunctionNotSupported
0x6A81
NotFound
0x6A82
FileOrAppNotFound
Name kept for backwards compatibility
RecordNotFound
0x6A83
NotEnoughMemory
0x6A84
NcInconsistentWithTlv
0x6A85
IncorrectP1OrP2Parameter
0x6A86
NcInconsistentWithP1p2
0x6A87
KeyReferenceNotFound
0x6A88
Reference not found
Name kept for backwards compatibility
FileAlreadyExists
0x6A89
DfNameAlreadyExists
0x6A8A
WrongParameters
0x6B00
WrongLeField(u8)
0x6C00
to 0x6CFF
InstructionNotSupportedOrInvalid
0x6D00
ClassNotSupported
0x6E00
UnspecifiedCheckingError
0x6F00