C API for BALTECH SDK

§ brp_I4CE_ExchangeInverseAPDU()

brp_errcode brp_I4CE_ExchangeInverseAPDU ( brp_protocol  protocol,
brp_buf  Rsp,
size_t  Rsp_len,
unsigned  Timeout,
brp_buf Cmd,
size_t *  Cmd_len,
brp_mempool mempool 
)

This command is marked as deprecated as it is not supported by Baltech's SDK. There is currently no alternative for this command.

Send an APDU response to the APDU request received during the last call of I4CE.ExchangeInverseAPDU or I4CE.StartEmu, and receive the next PCD APDU request.

The Timeout parameter specifies the maximum time in ms to wait for the next APDU. If no request could be received from the PCD, I4CE.ExchangeInverseAPDU returns the I4CE.ErrTimeout status code.

In case the received APDU does not fit into the internal buffer of the emulated PICC, the part of the frame which could be processed is returned together with an I4CE.ErrOverflow status code. The buffer size is firmware dependent and can be retrieved via the Sys.GetBufferSize command.

The command returns the I4CE.ErrIso144State status code if the PICC is not in the proper state to exchange ISO14443-4 APDUs. This is the case if I4CE.StartEmu has not previously been successfully executed, or if the PCD has terminated the communication by e.g. executing the Iso14L4.Deselect command.

Parameters
[in]protocolused to execute the command
[in]RspAPDU which shall be sent to the PCD as a response to the last command.
[in]Rsp_len
[in]TimeoutMaximum time (in ms) to wait for the next ISO14443-4 APDU request. A value of 0xFFFF corresponds to an infinite timeout.
[out]CmdNext ISO14443-4 APDU request received from the PCD.
[out]Cmd_len
[in]mempoolis used to store response data. Maybe NULL to use an internal mempool, in this case the data is only available until another command uses the internal mempool
Deprecated:
This command may be removed in future!