NAME
SpringProx.API :: ISO 14443 Layer 4 (T=CL)
DESCRIPTION
Implementation of ISO/IEC 14443 layer 4 ("T=CL" protocol)
NAME
SPROX_Tcl_Deselect
DESCRIPTION
Send the T=CL DESELECT command to an ISO 14443-4 card
INPUTS
BYTE cid : CID of the card (set to 0xFF if you don't use CIDs)
RETURNS
MI_OK : success Other code if internal or communication error has occured.
SEE ALSO
SPROX_TclA_Deselect SPROX_TclB_Deselect
NAME
SPROX_Tcl_Exchange
DESCRIPTION
Perform a T=CL block exchange according to ISO 14443-4 (without NAD, and with card's default FSCI)
INPUTS
BYTE cid : CID of the card (set to 0xFF if you don't use CIDs) const BYTE send_buffer[] : buffer to sens to the card WORD send_len : length of send_buffer (max 256) BYTE recv_buffer[] : buffer for card's answer WORD *recv_len : input : size of recv_buffer output : actual length of reply
RETURNS
MI_OK : success Other code if internal or communication error has occured.
NOTES
This function calls either SPROX_TclA_Exchange or SPROX_TclB_Exchange with appropriate parameters depending on CID related informations
SEE ALSO
SPROX_TclA_Exchange SPROX_TclB_Exchange
NAME
SPROX_TclA_ActivateAgain
WARNING
This function is deprecated. Use SPROX_A_SelectAgain instead.
SEE ALSO
SPROX_A_SelectAgain
NAME
SPROX_TclA_ActivateAny
WARNING
This function is deprecated. Use SPROX_A_SelectAny instead.
NOTES
This function is nothing more than an alias to SPROX_A_SelectAny, the only difference is in the validation of the returned SAK when a card is found : - if SAK shows that the card supports ISO/IEC 14443-4 (aka T=CL), the function returns MI_OK - if SAK shows that the card doesn't support ISO/IEC 14443-4 (for example, a Mifare memory card), the function returns MI_CARD_NOT_TCL Of course if no card is found, the function returns MI_NOTAGERR
SEE ALSO
SPROX_A_SelectAny SPROX_TclA_ActivateIdle
NAME
SPROX_TclA_ActivateIdle
WARNING
This function is deprecated. Use SPROX_A_SelectIdle instead.
NOTES
This function is nothing more than an alias to SPROX_A_SelectIdle, the only difference is in the validation of the returned SAK when a card is found : - if SAK shows that the card supports ISO/IEC 14443-4 (aka T=CL), the function returns MI_OK - if SAK shows that the card doesn't support ISO/IEC 14443-4 (for example, a Mifare memory card), the function returns MI_CARD_NOT_TCL Of course if no card is found, the function returns MI_NOTAGERR
SEE ALSO
SPROX_A_SelectIdle SPROX_TclA_ActivateAny
NAME
SPROX_TclA_Deselect
DESCRIPTION
Send the T=CL DESELECT command to an ISO 14443-A-4 card
INPUTS
BYTE cid : CID of the card (set to 0xFF if you don't use CIDs)
RETURNS
MI_OK : success, card deselected Other code if internal or communication error has occured.
SEE ALSO
SPROX_TclA_GetAts SPROX_A_Halt
NAME
SPROX_TclA_Exchange
DESCRIPTION
Perform a T=CL block exchange according to ISO 14443-A-4
INPUTS
BYTE fsci : FSCI parameter according to ISO 14443-A (set to 0xFF for default card value) BYTE cid : CID of the card (set to 0xFF if you don't use CIDs) BYTE nad : NAD of the card (set to 0xFF if you don't use NADs) const BYTE send_buffer[] : buffer to send to the card WORD send_len : length of send_buffer (max 256) BYTE recv_buffer[] : buffer for card's answer WORD *recv_len : input : size of recv_buffer output : actual length of reply
RETURNS
MI_OK : success Other code if internal or communication error has occured.
NOTES
I-Block chaining is automatically performed by the reader according to the FSCI parameter. Wait Time eXtension S-Block coming from the card are also handled directly by the reader.
SEE ALSO
SPROX_TclA_GetAts SPROX_TclA_Deselect
NAME
SPROX_TclA_GetAts
DESCRIPTION
Send the T=CL RATS command to enter ISO 14443-A-4 dialog with currently selected card
INPUTS
BYTE cid : CID to affect to the card (set to 0xFF if you don't use CIDs) BYTE ats[32] : buffer to receive the Answer To Select of the card BYTE *atslen : input = size of the ats buffer output = actual ats length
RETURNS
MI_OK : success, T=CL dialog with the card activated Other code if internal or communication error has occured.
SEE ALSO
SPROX_TclA_Deselect SPROX_TclA_Pps
NAME
SPROX_TclA_Halt
WARNING
This function is deprecated. Use SPROX_A_Halt instead.
NOTES
If card is already in T=CL mode, you must DESELECT the card instead of HALTing it.
SEE ALSO
SPROX_A_Halt SPROX_TclA_Deselect
NAME
SPROX_TclA_Pps
DESCRIPTION
Send a T=CL PPS command according to ISO 14443-A-4 dialog
INPUTS
BYTE cid : CID of the card (set to 0xFF if you don't use CIDs) BYTE dsi : DSI parameter according to ISO 14443-A BYTE dri : DRI parameter according to ISO 14443-A
RETURNS
MI_OK : success Other code if internal or communication error has occured.
NOTES
After a successfull PPS negociation, the reader is automatically configured according to DSI and DRI before returning MI_OK.
WARNING
This feature is still experimental.
SEE ALSO
SPROX_TclA_GetAts
NAME
SPROX_TclB_ActivateAny
WARNING
This function is deprecated. Use SPROX_B_SelectAny instead.
NOTES
This function is nothing more than an alias to SPROX_B_SelectAny, the only difference is in the validation of the returned ATQ when a card is found : - if ATQ shows that the card supports ISO/IEC 14443-4 (aka T=CL), the function returns MI_OK - if ATQ shows that the card doesn't support ISO/IEC 14443-4 (for example, a memory card), the function returns MI_CARD_NOT_TCL Of course if no card is found, the function returns MI_NOTAGERR
SEE ALSO
SPROX_B_SelectAny SPROX_TclB_ActivateIdle
NAME
SPROX_TclB_ActivateIdle
WARNING
This function is deprecated. Use SPROX_B_SelectIdle instead.
NOTES
This function is nothing more than an alias to SPROX_B_SelectIdle, the only difference is in the validation of the returned ATQ when a card is found : - if ATQ shows that the card supports ISO/IEC 14443-4 (aka T=CL), the function returns MI_OK - if ATQ shows that the card doesn't support ISO/IEC 14443-4 (for example, a memory card), the function returns MI_CARD_NOT_TCL Of course if no card is found, the function returns MI_NOTAGERR
SEE ALSO
SPROX_B_SelectIdle SPROX_TclB_ActivateAny
NAME
SPROX_TclB_Attrib
DESCRIPTION
Send the T=CL ATTRIB command to enter ISO 14443-B-4 dialog specified card
INPUTS
const BYTE atq[11] : card's ATQ as returned by SPROX_B_SelectIdle or SPROX_B_SelectAny BYTE cid : CID to send to the card (set to 0xFF if you don't use CIDs)
RETURNS
MI_OK : success, T=CL dialog with the card activated Other code if internal or communication error has occured.
SEE ALSO
SPROX_TclB_Deselect SPROX_TclB_AttribEx
NAME
SPROX_TclB_AttribEx
DESCRIPTION
Send the T=CL ATTRIB command to enter ISO 14443-B-4 dialog with specified card
INPUTS
const BYTE atq[11] : card's ATQ as returned by SPROX_B_SelectIdle or SPROX_B_SelectAny BYTE cid : CID to send to the card (set to 0xFF if you don't use CIDs) BYTE dsi : DSI parameter according to ISO 14443-B BYTE dri : DRI parameter according to ISO 14443-B
RETURNS
MI_OK : success, T=CL dialog with the card activated Other code if internal or communication error has occured.
SEE ALSO
SPROX_TclB_Deselect SPROX_TclB_Attrib
NAME
SPROX_TclB_Deselect
DESCRIPTION
Send the T=CL DESELECT command to an ISO 14443-B-4 card
INPUTS
BYTE cid : CID of the card to DESELECT (set to 0xFF if you don't use CIDs)
RETURNS
MI_OK : success, card deselected Other code if internal or communication error has occured.
SEE ALSO
SPROX_TclB_Attrib SPROX_B_Halt
NAME
SPROX_TclB_Exchange
DESCRIPTION
Perform a T=CL block exchange according to ISO 14443-B-4
INPUTS
BYTE fsci : FSCI parameter according to ISO 14443-B (set to 0xFF for default card value) BYTE cid : CID of the card (set to 0xFF if you don't use CIDs) BYTE nad : NAD of the card (set to 0xFF if you don't use NADs) const BYTE send_buffer[] : buffer to sens to the card WORD send_len : length of send_buffer (max 256) BYTE recv_buffer[] : buffer for card's answer WORD *recv_len : input : size of recv_buffer output : actual length of reply
RETURNS
MI_OK : success Other code if internal or communication error has occured.
NOTES
I-Block chaining is automatically performed by the reader according to the FSCI parameter. Wait Time eXtension S-Block coming from the card are also handled directly by the reader.
SEE ALSO
SPROX_TclB_Attrib SPROX_TclB_Deselect
NAME
SPROX_TclB_Halt
WARNING
This function is deprecated. Use SPROX_B_Halt instead.
NOTES
If card is already in T=CL mode, you must DESELECT the card instead of HALTing it.
SEE ALSO
SPROX_B_Halt SPROX_TclB_Deselect