C API for BALTECH SDK
desfire.h
Go to the documentation of this file.
1 
15 #ifndef __BRP_BALTECH_API_CMDS_DESFIRE_H__
16 #define __BRP_BALTECH_API_CMDS_DESFIRE_H__
17 #include "../typedefs.h"
22 #define BRP_Desfire_ErrIso14NoTag BRP_ERR_STATUS(0x1B00, 0x01)
23 
32 #define BRP_Desfire_ErrBreak BRP_ERR_STATUS(0x1B00, 0x03)
33 
38 #define BRP_Desfire_ErrIso14Hf BRP_ERR_STATUS(0x1B00, 0x04)
39 
44 #define BRP_Desfire_ErrIso14CardInvalid BRP_ERR_STATUS(0x1B00, 0x05)
45 
51 #define BRP_Desfire_ErrReaderChipCommunication BRP_ERR_STATUS(0x1B00, 0x06)
52 
56 #define BRP_Desfire_ErrIso14ApduCmd BRP_ERR_STATUS(0x1B00, 0x07)
57 
62 #define BRP_Desfire_ErrIso14InvalidResponse BRP_ERR_STATUS(0x1B00, 0x08)
63 
68 #define BRP_Desfire_ErrPcdAuthentication BRP_ERR_STATUS(0x1B00, 0x09)
69 
75 #define BRP_Desfire_ErrIntegrity BRP_ERR_STATUS(0x1B00, 0x0A)
76 
80 #define BRP_Desfire_ErrPcdKey BRP_ERR_STATUS(0x1B00, 0x0B)
81 
86 #define BRP_Desfire_ErrNoChanges BRP_ERR_STATUS(0x1B00, 0x0C)
87 
91 #define BRP_Desfire_ErrPcdParam BRP_ERR_STATUS(0x1B00, 0x0D)
92 
96 #define BRP_Desfire_VcsAndProxCheckError BRP_ERR_STATUS(0x1B00, 0x0F)
97 
101 #define BRP_Desfire_ErrFirmwareNotSupported BRP_ERR_STATUS(0x1B00, 0x10)
102 
108 #define BRP_Desfire_ErrSamCommunication BRP_ERR_STATUS(0x1B00, 0x11)
109 
114 #define BRP_Desfire_ErrSamUnlock BRP_ERR_STATUS(0x1B00, 0x12)
115 
121 #define BRP_Desfire_ErrHardwareNotSupported BRP_ERR_STATUS(0x1B00, 0x13)
122 
128 #define BRP_Desfire_ErrIllegalCmdLegacy BRP_ERR_STATUS(0x1B00, 0x1C)
129 
133 #define BRP_Desfire_ErrLength BRP_ERR_STATUS(0x1B00, 0x20)
134 
139 #define BRP_Desfire_ErrPermissionDenied BRP_ERR_STATUS(0x1B00, 0x21)
140 
144 #define BRP_Desfire_ErrParameter BRP_ERR_STATUS(0x1B00, 0x22)
145 
149 #define BRP_Desfire_ErrAppNotFound BRP_ERR_STATUS(0x1B00, 0x23)
150 
155 #define BRP_Desfire_ErrAppIntegrity BRP_ERR_STATUS(0x1B00, 0x24)
156 
161 #define BRP_Desfire_ErrAuthentication BRP_ERR_STATUS(0x1B00, 0x25)
162 
167 #define BRP_Desfire_ErrBoundary BRP_ERR_STATUS(0x1B00, 0x27)
168 
173 #define BRP_Desfire_ErrPiccIntegrity BRP_ERR_STATUS(0x1B00, 0x28)
174 
179 #define BRP_Desfire_ErrCommandAborted BRP_ERR_STATUS(0x1B00, 0x29)
180 
185 #define BRP_Desfire_ErrPiccDisabled BRP_ERR_STATUS(0x1B00, 0x2A)
186 
191 #define BRP_Desfire_ErrCount BRP_ERR_STATUS(0x1B00, 0x2B)
192 
197 #define BRP_Desfire_ErrDuplicate BRP_ERR_STATUS(0x1B00, 0x2C)
198 
203 #define BRP_Desfire_ErrEeprom BRP_ERR_STATUS(0x1B00, 0x2D)
204 
208 #define BRP_Desfire_ErrFileNotFound BRP_ERR_STATUS(0x1B00, 0x2E)
209 
214 #define BRP_Desfire_ErrFileIntegrity BRP_ERR_STATUS(0x1B00, 0x2F)
215 
219 #define BRP_Desfire_ErrNoSuchKey BRP_ERR_STATUS(0x1B00, 0x30)
220 
225 #define BRP_Desfire_ErrOutOfMemory BRP_ERR_STATUS(0x1B00, 0x32)
226 
230 #define BRP_Desfire_ErrIllegalCmd BRP_ERR_STATUS(0x1B00, 0x33)
231 
236 #define BRP_Desfire_ErrCmdOverflow BRP_ERR_STATUS(0x1B00, 0x34)
237 
261 brp_errcode brp_Desfire_ExecCommand(brp_protocol protocol, unsigned Cmd, brp_buf Header, size_t Header_len, brp_buf Param, size_t Param_len, brp_Desfire_ExecCommand_CryptoMode CryptoMode, unsigned ResponseLen, brp_buf* Resp, size_t* Resp_len, brp_mempool *mempool);
284 brp_errcode brp_Desfire_Authenticate(brp_protocol protocol, brp_Desfire_Authenticate_SecureMessaging SecureMessaging, unsigned DesKeynr, unsigned KeyId, bool KeyHasDivData, brp_Desfire_Authenticate_KeyDivMode KeyDivMode, bool KeyHasExtIdx, brp_buf KeyDivData, size_t KeyDivData_len, unsigned KeyExtIdx);
303 brp_errcode brp_Desfire_AuthExtKey(brp_protocol protocol, brp_Desfire_AuthExtKey_SecureMessaging SecureMessaging, unsigned DesKeyNr, brp_Desfire_AuthExtKey_CryptoMode CryptoMode, brp_buf Key, size_t Key_len);
312 brp_errcode brp_Desfire_SelectApplication(brp_protocol protocol, unsigned AppId);
326 brp_errcode brp_Desfire_ReadData(brp_protocol protocol, unsigned FileId, unsigned Adr, unsigned Len, brp_Desfire_ReadData_Mode Mode, brp_buf* Data, size_t* Data_len, brp_mempool *mempool);
338 brp_errcode brp_Desfire_WriteData(brp_protocol protocol, unsigned FileId, unsigned Adr, brp_buf Data, size_t Data_len, brp_Desfire_WriteData_Mode Mode);
363 brp_errcode brp_Desfire_ChangeExtKey(brp_protocol protocol, brp_Desfire_ChangeExtKey_MasterKeyType MasterKeyType, bool IsKeySet, bool IsAesKey, bool IsVersion, bool IsChangeKey, unsigned KeyNo, unsigned KeyVersion, brp_buf NewKey, size_t NewKey_len, brp_buf OldKey, size_t OldKey_len, unsigned KeySet);
389 brp_errcode brp_Desfire_ChangeKey(brp_protocol protocol, bool IsKeySet, bool IsMasterKey, bool IsChangeKey, unsigned KeyNr, brp_Desfire_ChangeKey_NewKeyDivMode NewKeyDivMode, bool NewKeyHasDivData, bool NewKeyHasExtIdx, unsigned NewKeyIdx, brp_Desfire_ChangeKey_CurKeyDivMode CurKeyDivMode, bool CurKeyHasDivData, bool CurKeyHasExtIdx, unsigned CurKeyIdx, brp_buf NewKeyDivData, size_t NewKeyDivData_len, brp_buf CurKeyDivData, size_t CurKeyDivData_len, unsigned NewKeyExtIdx, unsigned CurKeyExtIdx, unsigned KeySet);
428 brp_errcode brp_Desfire_CreateDam(brp_protocol protocol, unsigned AppId, brp_buf AppParams, size_t AppParams_len, brp_buf EncryptedDefaultDamKey, size_t EncryptedDefaultDamKey_len, brp_buf DamMacKey, size_t DamMacKey_len);
438 brp_errcode brp_Desfire_GetOriginalitySignature(brp_protocol protocol, brp_buf* Signature, size_t* Signature_len, brp_mempool *mempool);
464 brp_errcode brp_Desfire_VirtualCardSelect(brp_protocol protocol, bool ForceVcsAuthentication, bool UseExtVcSelectKeys, unsigned DiversifyMacKey, bool DiversifyEncKey, bool UseVcSelectKeys, brp_buf IID, size_t IID_len, unsigned EncKeyIdx, unsigned MacKeyIdx, brp_buf DivData, size_t DivData_len, brp_buf EncKey, size_t EncKey_len, brp_buf MacKey, size_t MacKey_len, unsigned* FciType, brp_buf* Fci, size_t* Fci_len, brp_mempool *mempool);
480 brp_errcode brp_Desfire_ProxCheck(brp_protocol protocol, unsigned M, bool UseExtProxKey, bool DiversifyProxKey, bool UseProxKey, unsigned ProxKeyIdx, brp_buf DivData, size_t DivData_len, brp_buf ProxKey, size_t ProxKey_len);
492 #endif
493 
brp_Desfire_WriteData_Mode
Definition: typedefs.h:835
brp_errcode brp_Desfire_ChangeKey(brp_protocol protocol, bool IsKeySet, bool IsMasterKey, bool IsChangeKey, unsigned KeyNr, brp_Desfire_ChangeKey_NewKeyDivMode NewKeyDivMode, bool NewKeyHasDivData, bool NewKeyHasExtIdx, unsigned NewKeyIdx, brp_Desfire_ChangeKey_CurKeyDivMode CurKeyDivMode, bool CurKeyHasDivData, bool CurKeyHasExtIdx, unsigned CurKeyIdx, brp_buf NewKeyDivData, size_t NewKeyDivData_len, brp_buf CurKeyDivData, size_t CurKeyDivData_len, unsigned NewKeyExtIdx, unsigned CurKeyExtIdx, unsigned KeySet)
brp_errcode brp_Desfire_AuthExtKey(brp_protocol protocol, brp_Desfire_AuthExtKey_SecureMessaging SecureMessaging, unsigned DesKeyNr, brp_Desfire_AuthExtKey_CryptoMode CryptoMode, brp_buf Key, size_t Key_len)
brp_errcode brp_Desfire_ReadData(brp_protocol protocol, unsigned FileId, unsigned Adr, unsigned Len, brp_Desfire_ReadData_Mode Mode, brp_buf *Data, size_t *Data_len, brp_mempool *mempool)
brp_errcode brp_Desfire_VirtualCardSelect(brp_protocol protocol, bool ForceVcsAuthentication, bool UseExtVcSelectKeys, unsigned DiversifyMacKey, bool DiversifyEncKey, bool UseVcSelectKeys, brp_buf IID, size_t IID_len, unsigned EncKeyIdx, unsigned MacKeyIdx, brp_buf DivData, size_t DivData_len, brp_buf EncKey, size_t EncKey_len, brp_buf MacKey, size_t MacKey_len, unsigned *FciType, brp_buf *Fci, size_t *Fci_len, brp_mempool *mempool)
brp_Desfire_Authenticate_KeyDivMode
Definition: typedefs.h:751
brp_errcode brp_Desfire_SetFraming(brp_protocol protocol, brp_Desfire_SetFraming_CommMode CommMode)
unsigned int brp_errcode
This type is used library-wide for passing error codes in the return value of functions.
Definition: errorcodes.h:23
brp_errcode brp_Desfire_ResetAuthentication(brp_protocol protocol)
brp_errcode brp_Desfire_WriteData(brp_protocol protocol, unsigned FileId, unsigned Adr, brp_buf Data, size_t Data_len, brp_Desfire_WriteData_Mode Mode)
brp_errcode brp_Desfire_ExecCommand(brp_protocol protocol, unsigned Cmd, brp_buf Header, size_t Header_len, brp_buf Param, size_t Param_len, brp_Desfire_ExecCommand_CryptoMode CryptoMode, unsigned ResponseLen, brp_buf *Resp, size_t *Resp_len, brp_mempool *mempool)
brp_Desfire_SetFraming_CommMode
Definition: typedefs.h:912
struct brp_protocol_t * brp_protocol
This is a generic handle of a protocol.
Definition: protocol.h:34
brp_errcode brp_Desfire_ProxCheck(brp_protocol protocol, unsigned M, bool UseExtProxKey, bool DiversifyProxKey, bool UseProxKey, unsigned ProxKeyIdx, brp_buf DivData, size_t DivData_len, brp_buf ProxKey, size_t ProxKey_len)
Definition: typedefs.h:927
brp_errcode brp_Desfire_CreateDam(brp_protocol protocol, unsigned AppId, brp_buf AppParams, size_t AppParams_len, brp_buf EncryptedDefaultDamKey, size_t EncryptedDefaultDamKey_len, brp_buf DamMacKey, size_t DamMacKey_len)
brp_Desfire_AuthExtKey_CryptoMode
Definition: typedefs.h:793
brp_Desfire_ChangeExtKey_MasterKeyType
Definition: typedefs.h:855
struct brp_mempool_object_t * brp_mempool
mempool handle.
Definition: mempool.h:27
brp_Desfire_ChangeKey_NewKeyDivMode
Definition: typedefs.h:874
brp_errcode brp_Desfire_ChangeExtKey(brp_protocol protocol, brp_Desfire_ChangeExtKey_MasterKeyType MasterKeyType, bool IsKeySet, bool IsAesKey, bool IsVersion, bool IsChangeKey, unsigned KeyNo, unsigned KeyVersion, brp_buf NewKey, size_t NewKey_len, brp_buf OldKey, size_t OldKey_len, unsigned KeySet)
brp_errcode brp_Desfire_SelectApplication(brp_protocol protocol, unsigned AppId)
brp_Desfire_ReadData_Mode
Definition: typedefs.h:816
brp_errcode brp_Desfire_Authenticate(brp_protocol protocol, brp_Desfire_Authenticate_SecureMessaging SecureMessaging, unsigned DesKeynr, unsigned KeyId, bool KeyHasDivData, brp_Desfire_Authenticate_KeyDivMode KeyDivMode, bool KeyHasExtIdx, brp_buf KeyDivData, size_t KeyDivData_len, unsigned KeyExtIdx)
brp_Desfire_AuthExtKey_SecureMessaging
Definition: typedefs.h:774
brp_errcode brp_Desfire_GetOriginalitySignature(brp_protocol protocol, brp_buf *Signature, size_t *Signature_len, brp_mempool *mempool)
brp_errcode brp_Desfire_GetDfNames(brp_protocol protocol, brp_Desfire_GetDfNames_AppNr_Entry **AppNr, size_t *AppNr_len, brp_mempool *mempool)
brp_Desfire_ChangeKey_CurKeyDivMode
Definition: typedefs.h:893
unsigned char * brp_buf
represents a pointer to a protocol data buffer.
Definition: common.h:61
brp_Desfire_ExecCommand_CryptoMode
Definition: typedefs.h:713
brp_Desfire_Authenticate_SecureMessaging
Definition: typedefs.h:732