TABLE OF CONTENTS

 

[Modules] Level3

NAME

   MifPlusAPI :: Implementation of Level 3 Read and Write

COPYRIGHT

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)

[Functions] Read

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

[Functions] 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

[Functions] 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

[Functions] Write

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

[Functions] 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

[Functions] 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

Generated from sprox_mifplus_level3.c on Mon Jan 30 14:25:31 2012