From a29922f84c212fea127f6c038f3842cc2f7867f7 Mon Sep 17 00:00:00 2001 From: hploetz Date: Sat, 23 Sep 2006 13:59:14 +0000 Subject: [PATCH] CardOS status codes git-svn-id: svn+ssh://localhost/home/henryk/svn/cyberflex-shell/trunk@114 f711b948-2313-0410-aaa9-d29f33439f0b --- cards/cardos_card.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/cards/cardos_card.py b/cards/cardos_card.py index fd6cf83..23276d8 100644 --- a/cards/cardos_card.py +++ b/cards/cardos_card.py @@ -14,6 +14,46 @@ class CardOS_Card(ISO_7816_4_Card,building_blocks.Card_with_ls): LIST_X_EF = 1 LS_L_SIZE_TAG = 0x80 + STATUS_WORDS = ( { + "6283": "File is deactivated", + "6300": "Authentication failed", + "6581": "EEPROM error, command aborted", + "6700": "LC invalid", + "6881": "Logical channel not supported", + "6981": "Command can not be used for file structure", + "6982": "Required access right not granted", + "6983": "BS object blocked", + "6984": "BS object has invalid format", + "6985": "No random number available", + "6986": "No current EF selected", + "6987": "Key object for SM not found", + "6988": "Key object used for SM has invalid format", + "6A80": "Invalid parameters in data field", + "6A81": "Function/mode not supported", + "6A82": "File not found", + "6A83": "Record/object not found", + "6A84": "Not enough memory in file / in file system available", + "6A85": "LC does not fit the TLV structure of the data field", + "6A86": "P1/P2 invalid", + "6A87": "LC does not fit P1/P2", + "6A88": "Object not found (GET DATA)", + "6C00": "LC does not fit the data to be sent (e.g. SM)", + "6D00": "INS invalid", + "6E00": "CLA invalid (Hi nibble)", + "6F00": "Technical error:\n + It was tried to create more than 254 records in a file\n + Package uses SDK version which is not compatible to API version\n + Package contains invalid statements (LOAD EXECUTABLE)", + "6F81": "File is invalidated because of checksum error (prop.)", + "6F82": "Not enough memory available in XRAM", + "6F83": "Transaction error (i.e. command must not be used in transaction)", + "6F84": "General protection fault (prop.)", + "6F85": "Internal failure of PK-API (e.g. wrong CCMS format)", + "6F86": "Key Object not found", + "6F87": "Chaining error", + "6FFF": "Internal assertion (invalid internal error)\n + This error is no runtime error, but an internal error which can occur because of a programming error only.", + "9000": "Command executed correctly", + "9001": "Command exectued correctly; EEPROM weakness detected (EEPROM written with second trial; the EEPROM area overwritten has a limited lifetime only)", + "9850": "Overflow using INCREASE / underflow using DECREASE" + } ) + def list_x(self, x): "Get a list of x objects, where x is one of 0 (DFs) or 1 (EFs) or 2 (DFs and EFs)" ## FIXME I just guessed this information