62 #ifndef __BRP_BALTECH_API_CMDS_MIF_H__ 63 #define __BRP_BALTECH_API_CMDS_MIF_H__ 64 #include "../typedefs.h" 68 #define BRP_Mif_ErrNoTag BRP_ERR_STATUS(0x1000, 0x01) 73 #define BRP_Mif_ErrCrc BRP_ERR_STATUS(0x1000, 0x02) 77 #define BRP_Mif_ErrAuth BRP_ERR_STATUS(0x1000, 0x04) 82 #define BRP_Mif_ErrParity BRP_ERR_STATUS(0x1000, 0x05) 87 #define BRP_Mif_ErrCode BRP_ERR_STATUS(0x1000, 0x06) 91 #define BRP_Mif_ErrSnr BRP_ERR_STATUS(0x1000, 0x08) 95 #define BRP_Mif_ErrKey BRP_ERR_STATUS(0x1000, 0x09) 100 #define BRP_Mif_ErrNotauth BRP_ERR_STATUS(0x1000, 0x0A) 105 #define BRP_Mif_ErrBitcount BRP_ERR_STATUS(0x1000, 0x0B) 110 #define BRP_Mif_ErrBytecount BRP_ERR_STATUS(0x1000, 0x0C) 114 #define BRP_Mif_VcsAndProxCheckError BRP_ERR_STATUS(0x1000, 0x0E) 119 #define BRP_Mif_ErrWrite BRP_ERR_STATUS(0x1000, 0x0F) 123 #define BRP_Mif_ErrInc BRP_ERR_STATUS(0x1000, 0x10) 127 #define BRP_Mif_ErrDecr BRP_ERR_STATUS(0x1000, 0x11) 132 #define BRP_Mif_ErrRead BRP_ERR_STATUS(0x1000, 0x12) 136 #define BRP_Mif_ErrOvfl BRP_ERR_STATUS(0x1000, 0x13) 141 #define BRP_Mif_ErrFraming BRP_ERR_STATUS(0x1000, 0x15) 150 #define BRP_Mif_ErrBreak BRP_ERR_STATUS(0x1000, 0x16) 154 #define BRP_Mif_ErrCmd BRP_ERR_STATUS(0x1000, 0x17) 158 #define BRP_Mif_ErrColl BRP_ERR_STATUS(0x1000, 0x18) 164 #define BRP_Mif_ErrReaderChipCommunication BRP_ERR_STATUS(0x1000, 0x1A) 168 #define BRP_Mif_ErrFirmwareNotSupported BRP_ERR_STATUS(0x1000, 0x1D) 174 #define BRP_Mif_ErrVal BRP_ERR_STATUS(0x1000, 0x1E) 180 #define BRP_Mif_ErrIntegrity BRP_ERR_STATUS(0x1000, 0x1F) 184 #define BRP_Mif_CondNotvalid BRP_ERR_STATUS(0x1000, 0x20) 189 #define BRP_Mif_ErrHwNotSupported BRP_ERR_STATUS(0x1000, 0x21) 194 #define BRP_Mif_ErrSamUnlock BRP_ERR_STATUS(0x1000, 0x22) 200 #define BRP_Mif_ErrSamCommunication BRP_ERR_STATUS(0x1000, 0x23) 477 brp_errcode brp_Mif_ProxCheck(
brp_protocol protocol,
unsigned M,
unsigned DisableIsoWrapping,
bool UseExtProxKey,
bool DiversifyProxKey,
bool UseProxKey,
unsigned ProxKeyIdx,
brp_buf DivData,
size_t DivData_len,
brp_buf ProxKey,
size_t ProxKey_len);
525 brp_errcode brp_Mif_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_errcode brp_Mif_ValueSL3(brp_protocol protocol, unsigned NoMacOnResp, unsigned Cmd, unsigned Block, unsigned DestBlock, unsigned Value, brp_buf *TMCounterTMValue, size_t *TMCounterTMValue_len, brp_mempool *mempool)
This command performs an operation on a value block.
brp_errcode brp_Mif_Read(brp_protocol protocol, unsigned Block, brp_buf *BlockData, brp_mempool *mempool)
This command reads data from a specified block of the currently selected card, providing authenticati...
brp_errcode brp_Mif_Halt(brp_protocol protocol)
Switch card to halt state.
unsigned int brp_errcode
This type is used library-wide for passing error codes in the return value of functions.
brp_errcode brp_Mif_ChangeValueBackup(brp_protocol protocol, unsigned Mode, unsigned Block, unsigned Value)
This command is identical to brp_Mif_ChangeValue(), but can only be used for MIFARE cards which suppo...
brp_errcode brp_Mif_GetCardVersion(brp_protocol protocol, brp_buf *CardVersion, size_t *CardVersion_len, brp_mempool *mempool)
This command returns HW- / SW- / Production-Information.
struct brp_protocol_t * brp_protocol
This is a generic handle of a protocol.
brp_errcode brp_Mif_Request(brp_protocol protocol, unsigned ReqAll, unsigned *ATQA)
Request labels in the field of the antenna.
brp_errcode brp_Mif_ReadSL3(brp_protocol protocol, unsigned NoMacOnCmd, unsigned PlainData, unsigned NoMacOnResp, unsigned Block, unsigned BlockNr, brp_buf *BlockData, size_t *BlockData_len, brp_mempool *mempool)
This command reads blocks from an SL3-authenticated MIFARE Pro card.
brp_errcode brp_Mif_AuthE2(brp_protocol protocol, unsigned AuthMode, unsigned Block, unsigned KeyIdx)
This command authenticates a certain sector of a card using a key from the secure EEPROM of the Balte...
brp_errcode brp_Mif_TransferBlock(brp_protocol protocol, unsigned Block)
This command transfers data from the card's internal Transfer Buffer to a specified block...
struct brp_mempool_object_t * brp_mempool
mempool handle.
brp_errcode brp_Mif_LoadKey(brp_protocol protocol, unsigned KeyIdx, brp_buf Key)
This command writes a MIFARE Classic key to the reader's secure key memory.
brp_errcode brp_Mif_Write(brp_protocol protocol, unsigned Block, brp_buf BlockData)
This command write data to a specified block of the currently selected card, providing authentication...
brp_errcode brp_Mif_ChangeAESKey(brp_protocol protocol, bool KeyHasExtIdx, unsigned NoMacOnResp, unsigned Block, unsigned KeyIdx, unsigned KeyExtIdx, brp_buf DivData, size_t DivData_len)
This command changes an AES key on a MIFARE Plus card.
brp_errcode brp_Mif_WriteSL3(brp_protocol protocol, unsigned PlainData, unsigned NoMacOnResp, unsigned Block, brp_buf BlockData, size_t BlockData_len)
This command writes blocks to an SL3-authenticated MIFARE Pro card.
brp_errcode brp_Mif_ChangeValue(brp_protocol protocol, unsigned Mode, unsigned Block, unsigned Value)
This command uses the value block specified by the Block parameter and performs an operation given by...
brp_errcode brp_Mif_SetFraming(brp_protocol protocol, brp_Mif_SetFraming_CommMode CommMode)
This command switches the communication protocol mode for MIFARE Plus EV1 cards.
brp_errcode brp_Mif_Select(brp_protocol protocol, brp_buf Snr, unsigned *SAK)
This command selects a card with a 4 Byte serial number specified in the Snr parameter.
brp_errcode brp_Mif_SectorSwitch(brp_protocol protocol, bool L3SectorSwitch, unsigned SectorSwitchKeyIdx, brp_buf SectorSwitchKeyDivData, size_t SectorSwitchKeyDivData_len, brp_Mif_SectorSwitch_SectorSpec_Entry *SectorSpec, size_t SectorSpec_len, brp_buf SectorKeysDivData, size_t SectorKeysDivData_len)
This command performs a sector switch command (only for EV1 cards).
brp_Mif_SetFraming_CommMode
Defines 14443-4 communication mode for MIFARE Plus EV1 cards.
brp_errcode brp_Mif_Anticoll(brp_protocol protocol, unsigned BitCount, brp_buf PreSelSer, brp_buf *Snr, brp_mempool *mempool)
This command performs an anti-collision sequence.
brp_errcode brp_Mif_AuthE2Extended(brp_protocol protocol, unsigned AuthLevel, bool KeyHasExtIdx, unsigned EV1Mode, bool IsKeyB, unsigned Block, unsigned KeyIdx, unsigned KeyExtIdx, brp_buf DivData, size_t DivData_len)
This command is identical to the brp_Mif_AuthE2() command with the exception that it supports stronge...
brp_errcode brp_Mif_ProxCheck(brp_protocol protocol, unsigned M, unsigned DisableIsoWrapping, bool UseExtProxKey, bool DiversifyProxKey, bool UseProxKey, unsigned ProxKeyIdx, brp_buf DivData, size_t DivData_len, brp_buf ProxKey, size_t ProxKey_len)
This command performs a proximity check.
brp_errcode brp_Mif_ReadSig(brp_protocol protocol, brp_buf *NxpSignature, size_t *NxpSignature_len, brp_mempool *mempool)
brp_errcode brp_Mif_AuthUserExtended(brp_protocol protocol, unsigned AuthLevel, unsigned EV1Mode, unsigned KeyB, unsigned Block, brp_buf Key, size_t Key_len)
This command is identical to the brp_Mif_AuthUser() command with the exception that it supports stron...
brp_errcode brp_Mif_CommitReaderID(brp_protocol protocol, unsigned Block, brp_buf *EncTRI, size_t *EncTRI_len, brp_mempool *mempool)
This commands commits a reader ID from a card and returns the encrypted TMRI to the host...
brp_errcode brp_Mif_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)
Command is only supported by MIFARE Plus EV1 cards.
brp_errcode brp_Mif_ResetAuth(brp_protocol protocol)
This command resets the reader's authentication state (used for MIFARE Pro specific Read/Write counte...
unsigned char * brp_buf
represents a pointer to a protocol data buffer.
brp_errcode brp_Mif_AuthUser(brp_protocol protocol, unsigned AuthMode, unsigned Block, brp_buf Key)
This command authenticates a certain sector of a card using the key specified in the Key variable...