|
uint8_t | CALLBACK_CCID_Abort (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo, const uint8_t Slot, const uint8_t Seq, uint8_t *const Error) ATTR_NON_NULL_PTR_ARG(1) |
|
uint8_t | CALLBACK_CCID_GetParameters_T0 (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo, const uint8_t Slot, uint8_t *const Error, uint8_t *const ProtocolNum, USB_CCID_ProtocolData_T0_t *const T0) ATTR_NON_NULL_PTR_ARG(1) |
|
uint8_t | CALLBACK_CCID_GetSlotStatus (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo, const uint8_t Slot, uint8_t *const Error) ATTR_NON_NULL_PTR_ARG(1) |
|
uint8_t | CALLBACK_CCID_IccPowerOff (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo, const uint8_t Slot, uint8_t *const Error) ATTR_NON_NULL_PTR_ARG(1) |
|
uint8_t | CALLBACK_CCID_IccPowerOn (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo, const uint8_t Slot, uint8_t *const Atr, uint8_t *const AtrSize, uint8_t *const Error) ATTR_NON_NULL_PTR_ARG(1) |
|
uint8_t | CALLBACK_CCID_SetParameters_T0 (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo, const uint8_t Slot, uint8_t *const Error, USB_CCID_ProtocolData_T0_t *const T0) ATTR_NON_NULL_PTR_ARG(1) |
|
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) ATTR_NON_NULL_PTR_ARG(1) |
|
bool | CCID_Device_ConfigureEndpoints (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) |
|
void | CCID_Device_ProcessControlRequest (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) |
|
void | CCID_Device_USBTask (USB_ClassInfo_CCID_Device_t *const CCIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) |
|
Module Source Dependencies
The following files must be built with any user project that uses this module:
- LUFA/Drivers/USB/Class/Device/CCIDClassDevice.c (Makefile source module name: LUFA_SRC_USBCLASS)
Module Description
Device Mode USB Class driver framework interface, for the CCID USB Class driver.
◆ CALLBACK_CCID_Abort()
uint8_t CALLBACK_CCID_Abort |
( |
USB_ClassInfo_CCID_Device_t *const |
CCIDInterfaceInfo, |
|
|
const uint8_t |
Slot, |
|
|
const uint8_t |
Seq, |
|
|
uint8_t *const |
Error |
|
) |
| |
CCID class driver callback for CCID_PC_to_RDR_Abort CCID message Aborts a BULK out message previously sent to a slot
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration and state. |
[in] | Slot | The slot ID to where the message being aborted was sent to. |
[in] | Seq | The current sequence number for this message. Must be checked against the current abort message being sent at the control pipe. |
[out] | Error | The result of the operation, or error. |
- Returns
- The command result code.
◆ CALLBACK_CCID_GetParameters_T0()
CCID class driver callback for PC_TO_RDR_SetParameters CCID message for T=0 Retrieves the current parameters of a given slot
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration, state and protocol data. |
[in] | Slot | The slot ID from which we want to retrieve the status. |
[out] | Error | The result of the operation, or error. |
[out] | ProtocolNum | The CCID protocol ID of the parameter being retrieved. |
[out] | T0 | Pointer to a buffer where the parameters will be returned |
- Returns
- The command result code.
◆ CALLBACK_CCID_GetSlotStatus()
CCID class driver callback for PC_TO_RDR_GetSlotStatus CCID message Retrieves the current status of a given slot
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration and state. |
[in] | Slot | The slot ID from which we want to retrieve the status. |
[out] | Error | The result of the operation, or error. |
- Returns
- The command result code.
◆ CALLBACK_CCID_IccPowerOff()
CCID class driver callback for PC_TO_RDR_IccPowerOff CCID message Turns off the ICC
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration and state. |
[in] | Slot | The slot ID currently being powered off. |
[out] | Error | The result of the operation, or error. |
- Returns
- The command result code.
◆ CALLBACK_CCID_IccPowerOn()
uint8_t CALLBACK_CCID_IccPowerOn |
( |
USB_ClassInfo_CCID_Device_t *const |
CCIDInterfaceInfo, |
|
|
const uint8_t |
Slot, |
|
|
uint8_t *const |
Atr, |
|
|
uint8_t *const |
AtrSize, |
|
|
uint8_t *const |
Error |
|
) |
| |
CCID class driver callback for PC_TO_RDR_IccPowerOn CCID message When the ICC is inserted into a slot of a CCID, the CCID can activate the ICC, and the ICC will respond with an ATR (answer to reset)
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration and state. |
[in] | Slot | The slot ID currently being powered on. |
[in,out] | Atr | Pointer to an array containing the Power On ATR being sent to the device. |
[out] | AtrSize | The size of the ATR being sent (up to 15 bytes maximum). |
[out] | Error | The result of the operation, or error. |
- Returns
- The command result code.
◆ CALLBACK_CCID_SetParameters_T0()
CCID class driver callback for PC_TO_RDR_SetParameters CCID message for T=0 Sets the current parameters of a given slot
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration, state and protocol data. |
[in] | Slot | The slot ID from which we want to retrieve the status. |
[out] | Error | The result of the operation, or error. |
[out] | T0 | Pointer to a buffer containing the new parameters |
- Returns
- The command result code.
◆ CALLBACK_CCID_XfrBlock()
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 |
|
) |
| |
CCID class driver callback for PC_TO_RDR_XfrBlock CCID message Send a block of bytes from the host to a slot in the device and also received a block of bytes as a response
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration and state. |
[in] | Slot | The slot ID from which we want to retrieve the status. |
[in] | ReceivedBuffer | Pointer to an array holding the received block of bytes |
[in] | ReceivedBufferSize | The size of the received block of bytes |
[out] | SendBuffer | Pointer to a buffer which will hold the bytes being sent back to the host |
[out] | SentBufferSize | The size of the block of bytes being sent back to the host |
[out] | Error | The result of the operation, or error. |
- Returns
- The command result code.
◆ CCID_Device_ConfigureEndpoints()
Configures the endpoints of a given CCID interface, ready for use. This should be linked to the library EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the given CCID interface is selected.
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration. |
- Returns
- Boolean
true
if the endpoints were successfully configured, false
otherwise.
◆ CCID_Device_ProcessControlRequest()
Processes incoming control requests from the host, that are directed to the given CCID class interface. This should be linked to the library EVENT_USB_Device_ControlRequest() event.
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration and state. |
◆ CCID_Device_USBTask()
General management task for a given CCID class interface, required for the correct operation of the interface. This should be called frequently in the main program loop, before the master USB management task USB_USBTask().
- Parameters
-
[in,out] | CCIDInterfaceInfo | Pointer to a structure containing a CCID Class configuration and state. |