NAME
MifPlusAPI :: Implementation of Level 3 Read and Write
COPYRIGHT
(c) 2011 SpringCard - www.springcard.com
DESCRIPTION
Mifare Plus S and X Level 3 Read and Write functions.
HISTORY
23/02/2011 JDA : initial release 28/03/2011 JDA : changed default communication modes to work 'out of the box' with Mifare Plus S (and not only X)
NAME
Read
DESCRIPTION
Read a single block from a Mifare Plus X card running at Level 3, using Plain+MACed communication mode (0x33, MFP_CMD_READ_PLAIN_MACED)
NOTES
To use other communication modes (Mifare Plus X only), use ReadEx instead, specifying explicitely the command code.
SYNOPSIS
[[sprox_milplus.dll]] SWORD SPROX_MifPlus_Read(WORD address, BYTE data[16]); [[sprox_milplus_ex.dll]] SWORD SPROXx_MifPlus_Read(SPROX_INSTANCE rInst, WORD address, BYTE data[16]); [[pcsc_mifplus.dll]] LONG SCardMifPlus_Read(SCARDHANDLE hCard, WORD address, BYTE data[16]);
INPUTS
WORD address : address of block BYTE data[] : buffer to receive the data (size must be 16)
SEE ALSO
ReadM ReadEx
NAME
ReadEx
DESCRIPTION
Read data from a Mifare Plus card running at Level 3
SYNOPSIS
[[sprox_milplus.dll]] SWORD SPROX_MifPlus_ReadEx(WORD address, BYTE cmd_code, BYTE count, BYTE data[]); [[sprox_milplus_ex.dll]] SWORD SPROXx_MifPlus_ReadEx(SPROX_INSTANCE rInst, BYTE cmd_code, WORD address, BYTE count, BYTE data[]); [[pcsc_mifplus.dll]] LONG SCardMifPlus_ReadEx(SCARDHANDLE hCard, BYTE cmd_code, WORD address, BYTE count, BYTE data[]);
INPUTS
BYTE cmd_code : read command code. Valid values are - Mifare Plus X : 0x30 to 0x37 - Mifare Plus S : 0x33 only (MFP_CMD_READ_PLAIN_MACED) not every value may be used, depending on the access rights of the sector WORD address : address of first block BYTE count : number of blocks (max 15) BYTE data[] : buffer to receive the data (size must be 16 * count)
SEE ALSO
Read ReadM
NAME
ReadM
DESCRIPTION
Read multiple blocks from a Mifare Plus X card running at Level 3, using Plain+MACed communication mode (0x33, MFP_CMD_READ_PLAIN_MACED)
NOTES
To use other communication modes (Mifare Plus X only), use ReadEx instead, specifying explicitely the command code.
SYNOPSIS
[[sprox_milplus.dll]] SWORD SPROX_MifPlus_ReadM(WORD address, BYTE count, BYTE data[]); [[sprox_milplus_ex.dll]] SWORD SPROXx_MifPlus_ReadM(SPROX_INSTANCE rInst, WORD address, BYTE count, BYTE data[]); [[pcsc_mifplus.dll]] LONG SCardMifPlus_ReadM(SCARDHANDLE hCard, WORD address, BYTE count, BYTE data[]);
INPUTS
WORD address : address of first block BYTE count : number of blocks (max 15) BYTE data[] : buffer to receive the data (size must be 16 * count)
SEE ALSO
Read ReadEx
NAME
Write
DESCRIPTION
Write a single block to a Mifare Plus X card running at Level 3, using Plain+MACed communication mode (0xA3, MFP_CMD_WRITE_PLAIN_MACED)
NOTES
To use other communication modes, use WriteEx instead, specifying explicitely the command code.
SYNOPSIS
[[sprox_milplus.dll]] SWORD SPROX_MifPlus_Write(WORD address, const BYTE data[16]); [[sprox_milplus_ex.dll]] SWORD SPROXx_MifPlus_Write(SPROX_INSTANCE rInst, WORD address, const BYTE data[16]); [[pcsc_mifplus.dll]] LONG SCardMifPlus_Write(SCARDHANDLE hCard, WORD address, const BYTE data[16]);
INPUTS
WORD address : address of block const BYTE data[16] : data to be writen (size must be 16)
SEE ALSO
Write WriteEx
NAME
WriteEx
DESCRIPTION
Write data to a Mifare Plus card running at Level 3
SYNOPSIS
[[sprox_milplus.dll]] SWORD SPROX_MifPlus_WriteEx(WORD address, BYTE cmd_code, BYTE count, const BYTE data[]); [[sprox_milplus_ex.dll]] SWORD SPROXx_MifPlus_WriteEx(SPROX_INSTANCE rInst, BYTE cmd_code, WORD address, BYTE count, const BYTE data[]); [[pcsc_mifplus.dll]] LONG SCardMifPlus_WriteEx(SCARDHANDLE hCard, BYTE cmd_code, WORD address, BYTE count, const BYTE data[]);
INPUTS
BYTE cmd_code : write command code. Valid values are - Mifare Plus X : 0xA0 to 0xA3 - Mifare Plus S : 0xA1 or 0xA3 not every value may be used, depending on the access rights of the sector WORD address : address of first block BYTE count : number of blocks (max 15) const BYTE data[] : data to be writen (size must be 16 * count)
SEE ALSO
Write WriteM
NAME
WriteM
DESCRIPTION
Write multiple blocks to a Mifare Plus X card running at Level 3, using Plain+MACed communication mode (0xA3, MFP_CMD_WRITE_PLAIN_MACED)
NOTES
To use other communication modes, use WriteEx instead, specifying explicitely the command code.
SYNOPSIS
[[sprox_milplus.dll]] SWORD SPROX_MifPlus_WriteM(WORD address, BYTE count, const BYTE data[]); [[sprox_milplus_ex.dll]] SWORD SPROXx_MifPlus_WriteM(SPROX_INSTANCE rInst, WORD address, BYTE count, const BYTE data[]); [[pcsc_mifplus.dll]] LONG SCardMifPlus_WriteM(SCARDHANDLE hCard, WORD address, BYTE count, const BYTE data[]);
INPUTS
WORD address : address of first block BYTE count : number of blocks (max 15) const BYTE data[] : data to be writen (size must be 16 * count)
SEE ALSO
Write WriteEx