Enum desfire::error

Enum Documentation

enum class desfire::error : std::uint8_t

A Desfire error code. This contains all proper Desfire error codes that represent an actual error (i.e. there is no “ok” and “no change” entry in this enum), plus three extra error codes for the layers introduced by libSpookyAction, desfire::error::controller_error, desfire::error::crypto_error and desfire::error::malformed.

Values:

enumerator out_of_eeprom

Insufficient memory.

enumerator illegal_command

Command not supported.

enumerator integrity_error

Invalid CRC or MAC, might indicate data corruption.

enumerator no_such_key

Invalid specified key number.

enumerator length_error

The length of the command is invalid, might indicate a bug.

enumerator permission_denied

The current status (or configuration) does not allow this command.

enumerator parameter_error

A parameter that was passed is invalid.

enumerator app_not_found

The specified app does not exist.

enumerator app_integrity_error

Uncommon, indicates corruption in the app.

enumerator authentication_error

The current authentication status does not allow this command.

enumerator boundary_error

Attempt to read or write beyond limits.

enumerator picc_integrity_error

Uncommon, indicates corruption in the PICC.

enumerator command_aborted

The previous command was not completed.

enumerator picc_disabled_error

The PICC is disabled due to unrecoverable error.

enumerator count_error

Reached the maximum number of apps.

enumerator duplicate_error

The specified file or app already exist.

enumerator eeprom_error

Uncommon, unable to write to the NV memory.

enumerator file_not_found

The specified file does not exist.

enumerator file_integrity_error

Uncommon, indicates corruption in the file.

enumerator controller_error

The pcd implementation could not transmit data and returned an error.

enumerator malformed

No data or incorrect data received when some specific format was expected. Might indicate a bug.

enumerator crypto_error

Something went wrong with crypto (invalid comm_mode perhaps). This could mean invalid MAC, CMAC, or CRC, or data length is not a multiple of block size when encrypted; this depends on the specified communication config.