/* Event handler for the CCID_PC_to_RDR_XfrBlock. This message is sent to the device whenever an application at the host wants to send a block of bytes to the device THe device reply back with an array of bytes  */
uint8_t CALLBACK_CCID_XfrBlock(USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo, const uint8_t Slot, const uint8_t *ReceivedBuffer, const uint8_t ReceivedBufferSize, uint8_t *const SendBuffer, uint8_t *const SentBufferSize, uint8_t *const Error)
/* Event handler for the CCID_PC_to_RDR_XfrBlock. This message is sent to the device whenever an application at the host wants to send a block of bytes to the device THe device reply back with an array of bytes  */
uint8_t CALLBACK_CCID_XfrBlock(USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo, const uint8_t Slot, const uint8_t *ReceivedBuffer, const uint8_t ReceivedBufferSize, uint8_t *const SendBuffer, uint8_t *const SentBufferSize, uint8_t *const Error)
{
	if (Slot < CCID_Interface.Config.TotalSlots)
	{
		uint8_t OkResponse[2] = {0x90, 0x00};
		memcpy(SendBuffer, OkResponse, sizeof(OkResponse));
		*SentBufferSize = sizeof(OkResponse);
		*Error = CCID_ERROR_NO_ERROR;
		return CCID_COMMANDSTATUS_PROCESSEDWITHOUTERROR | CCID_ICCSTATUS_NOICCPRESENT;
	}
	else
	{
		 *Error = CCID_ERROR_SLOT_NOT_FOUND;
         return CCID_COMMANDSTATUS_FAILED | CCID_ICCSTATUS_NOICCPRESENT;
	}
}