aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2018-06-24 16:41:58 +1000
committerDean Camera <dean@fourwalledcubicle.com>2018-06-24 16:41:58 +1000
commitbc57f4ea5afd29f2e0f0175d14cf1540b4408de8 (patch)
tree1d393db9904884112e42b80017a04a777449b80f /LUFA
parent8e590e6cb3013ab3e317e219031b326df16fb6dc (diff)
downloadlufa-bc57f4ea5afd29f2e0f0175d14cf1540b4408de8.tar.gz
lufa-bc57f4ea5afd29f2e0f0175d14cf1540b4408de8.tar.bz2
lufa-bc57f4ea5afd29f2e0f0175d14cf1540b4408de8.zip
Reformatting and add const qualifiers.
Diffstat (limited to 'LUFA')
-rw-r--r--LUFA/Drivers/USB/Class/CCIDClass.h9
-rw-r--r--LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h3
-rw-r--r--LUFA/Drivers/USB/Class/Device/CCIDClassDevice.c13
-rw-r--r--LUFA/Drivers/USB/Class/Device/CCIDClassDevice.h67
4 files changed, 55 insertions, 37 deletions
diff --git a/LUFA/Drivers/USB/Class/CCIDClass.h b/LUFA/Drivers/USB/Class/CCIDClass.h
index 681326f65..2e61571bc 100644
--- a/LUFA/Drivers/USB/Class/CCIDClass.h
+++ b/LUFA/Drivers/USB/Class/CCIDClass.h
@@ -45,15 +45,14 @@
* \section Sec_USBClassCCID_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module:
* - LUFA/Drivers/USB/Class/Device/CCIDClassDevice.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
- * - LUFA/Drivers/USB/Class/Host/CCIDClassHost.c <i>(Makefile source module name: LUFA_SRC_USBCLASS)</i>
*
* \section Sec_USBClassCCID_ModDescription Module Description
- * CCID Class Driver module. This module contains an internal implementation of the USB CCID Class, for both Device
- * and Host USB modes. User applications can use this class driver instead of implementing the CCID class manually
- * via the low-level LUFA APIs.
+ * CCID Class Driver module. This module contains an internal implementation of the USB CCID Class, for Device USB
+ * mode. User applications can use this class driver instead of implementing the CCID class manually via the low-level
+ * LUFA APIs.
*
* This module is designed to simplify the user code by exposing only the required interface needed to interface with
- * Hosts or Devices using the USB CCID Class.
+ * Devices using the USB CCID Class.
*
* \warning
* LUFA is not a secure USB stack, and has not undergone, not is it expected to pass, any form of security audit. The
diff --git a/LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h b/LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h
index 61239ec8a..6cedcad36 100644
--- a/LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h
+++ b/LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h
@@ -233,7 +233,8 @@
uint8_t Status;
uint8_t Error;
uint8_t ProtocolNum;
- union {
+ union
+ {
USB_CCID_ProtocolData_T0_t T0;
USB_CCID_ProtocolData_T1_t T1;
} ProtocolData;
diff --git a/LUFA/Drivers/USB/Class/Device/CCIDClassDevice.c b/LUFA/Drivers/USB/Class/Device/CCIDClassDevice.c
index 11c20f0b3..0595e0715 100644
--- a/LUFA/Drivers/USB/Class/Device/CCIDClassDevice.c
+++ b/LUFA/Drivers/USB/Class/Device/CCIDClassDevice.c
@@ -39,7 +39,7 @@
#include "CCIDClassDevice.h"
-bool CCID_CheckStatusNoError(int status)
+bool CCID_CheckStatusNoError(uint8_t status)
{
return (status & 0xC0) == 0x0;
}
@@ -84,6 +84,7 @@ void CCID_Device_ProcessControlRequest(USB_ClassInfo_CCID_Device_t* const CCIDIn
break;
}
+
case CCID_GET_CLOCK_FREQUENCIES:
{
if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
@@ -95,6 +96,7 @@ void CCID_Device_ProcessControlRequest(USB_ClassInfo_CCID_Device_t* const CCIDIn
}
break;
}
+
case CCID_GET_DATA_RATES:
{
if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
@@ -154,7 +156,7 @@ void CCID_Device_USBTask(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo)
ResponseATR->CCIDHeader.Seq = CCIDHeader.Seq;
ResponseATR->ChainParam = 0;
- Status = CALLBACK_CCID_IccPowerOn(ResponseATR->CCIDHeader.Slot, (uint8_t*)ResponseATR->Data, &AtrLength, &Error);
+ Status = CALLBACK_CCID_IccPowerOn(CCIDInterfaceInfo, ResponseATR->CCIDHeader.Slot, (uint8_t*)ResponseATR->Data, &AtrLength, &Error);
if (CCID_CheckStatusNoError(Status) && !CCIDInterfaceInfo->State.Aborted)
{
@@ -192,7 +194,7 @@ void CCID_Device_USBTask(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo)
ResponsePowerOff->ClockStatus = 0;
- Status = CALLBACK_CCID_IccPowerOff(CCIDHeader.Slot, &Error);
+ Status = CALLBACK_CCID_IccPowerOff(CCIDInterfaceInfo, CCIDHeader.Slot, &Error);
ResponsePowerOff->Status = Status;
ResponsePowerOff->Error = Error;
@@ -215,7 +217,7 @@ void CCID_Device_USBTask(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo)
ResponseSlotStatus->ClockStatus = 0;
- Status = CALLBACK_CCID_GetSlotStatus(CCIDHeader.Slot, &Error);
+ Status = CALLBACK_CCID_GetSlotStatus(CCIDInterfaceInfo, CCIDHeader.Slot, &Error);
ResponseSlotStatus->Status = Status;
ResponseSlotStatus->Error = Error;
@@ -238,7 +240,7 @@ void CCID_Device_USBTask(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo)
ResponseAbort->ClockStatus = 0;
- Status = CALLBACK_CCID_Abort(CCIDHeader.Slot, CCIDHeader.Seq, &Error);
+ Status = CALLBACK_CCID_Abort(CCIDInterfaceInfo, CCIDHeader.Slot, CCIDHeader.Seq, &Error);
ResponseAbort->Status = Status;
ResponseAbort->Error = Error;
@@ -250,6 +252,7 @@ void CCID_Device_USBTask(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo)
Endpoint_ClearIN();
break;
}
+
default:
{
memset(BlockBuffer, 0x00, sizeof(BlockBuffer));
diff --git a/LUFA/Drivers/USB/Class/Device/CCIDClassDevice.h b/LUFA/Drivers/USB/Class/Device/CCIDClassDevice.h
index 5acc33af5..245e12665 100644
--- a/LUFA/Drivers/USB/Class/Device/CCIDClassDevice.h
+++ b/LUFA/Drivers/USB/Class/Device/CCIDClassDevice.h
@@ -115,46 +115,61 @@
* 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)
*
- * \param[in] slot The slot currently being powered on
- * \param[in, out] atr Pointer to an array where the ATR being sent to the device when the Icc is powered on is.
- * \param[out] atrSize The size of the ATR being sent. Maximum size is 15
- * \param[out] error The result of the operation, or error
+ * \param[in,out] CCIDInterfaceInfo Pointer to a structure containing a CCID Class configuration and state.
+ * \param[in] slot The slot ID currently being powered on.
+ * \param[in,out] atr Pointer to an array containing the Power On ATR being sent to the device.
+ * \param[out] atrSize The size of the ATR being sent (up to 15 bytes maximum).
+ * \param[out] error The result of the operation, or error.
*
- * \return uint8_t The command result
+ * \return The command result code.
*/
- uint8_t CALLBACK_CCID_IccPowerOn(uint8_t slot, uint8_t* atr, uint8_t* atrSize, uint8_t* error);
+ uint8_t CALLBACK_CCID_IccPowerOn(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo,
+ uint8_t slot,
+ uint8_t* const atr,
+ uint8_t* const atrSize,
+ uint8_t* const error) ATTR_NON_NULL_PTR_ARG(1);
/** CCID class driver callback for PC_TO_RDR_IccPowerOff CCID message
* Turns off the ICC
- *
- * \param[in] slot The slot currently being powered off
- * \param[out] error The result of the operation, or error
- *
- * \return uint8_t The command result
+ *
+ * \param[in,out] CCIDInterfaceInfo Pointer to a structure containing a CCID Class configuration and state.
+ * \param[in] slot The slot ID currently being powered off.
+ * \param[out] error The result of the operation, or error.
+ *
+ * \return The command result code.
*/
- uint8_t CALLBACK_CCID_IccPowerOff(uint8_t slot, uint8_t* error);
+ uint8_t CALLBACK_CCID_IccPowerOff(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo,
+ uint8_t slot,
+ uint8_t* const error) ATTR_NON_NULL_PTR_ARG(1);
/** CCID class driver callback for PC_TO_RDR_GetSlotStatus CCID message
* Retrieves the current status of a given slot
- *
- * \param[in] slot The slot from which we want to retrieve the status
- * \param[out] error The result of the operation, or error
- *
- * \return uint8_t The command result
+ *
+ * \param[in,out] CCIDInterfaceInfo Pointer to a structure containing a CCID Class configuration and state.
+ * \param[in] slot The slot ID from which we want to retrieve the status.
+ * \param[out] error The result of the operation, or error.
+ *
+ * \return The command result code.
*/
- uint8_t CALLBACK_CCID_GetSlotStatus(uint8_t slot, uint8_t* error);
+ uint8_t CALLBACK_CCID_GetSlotStatus(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo,
+ uint8_t slot,
+ uint8_t* const error) ATTR_NON_NULL_PTR_ARG(1);
/** CCID class driver callback for CCID_PC_to_RDR_Abort CCID message
* Aborts a BULK out message previously sent to a slot
- *
- * \param[in] slot The slot to where the message being aborted was sent to
- * \param[in] seq The current sequence number for this message. Must be checked against to the current
- * abort massage being sent at the control pipe
- * \param[out] error The result of the operation, or error
- *
- * \return uint8_t The command result
+ *
+ * \param[in,out] CCIDInterfaceInfo Pointer to a structure containing a CCID Class configuration and state.
+ * \param[in] slot The slot ID to where the message being aborted was sent to.
+ * \param[in] seq The current sequence number for this message. Must be checked against
+ * the current abort message being sent at the control pipe.
+ * \param[out] error The result of the operation, or error.
+ *
+ * \return The command result code.
*/
- uint8_t CALLBACK_CCID_Abort(uint8_t slot, uint8_t seq, uint8_t* error);
+ uint8_t CALLBACK_CCID_Abort(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo,
+ uint8_t slot,
+ uint8_t seq,
+ uint8_t* const error) ATTR_NON_NULL_PTR_ARG(1);
#endif