From bc57f4ea5afd29f2e0f0175d14cf1540b4408de8 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sun, 24 Jun 2018 16:41:58 +1000
Subject: [PATCH] Reformatting and add const qualifiers.

---
 Demos/Device/ClassDriver/CCID/CCID.c          | 22 +++---
 Demos/Device/ClassDriver/CCID/CCID.h          | 25 ++++---
 Demos/Device/ClassDriver/CCID/Lib/Iso7816.c   |  4 +-
 Demos/Device/ClassDriver/CCID/Lib/Iso7816.h   |  4 +-
 Demos/Device/LowLevel/CCID/CCID.c             | 14 ++--
 Demos/Device/LowLevel/CCID/CCID.h             | 17 +++--
 Demos/Device/LowLevel/CCID/Lib/Iso7816.c      |  3 +-
 Demos/Device/LowLevel/CCID/Lib/Iso7816.h      |  4 +-
 LUFA/Drivers/USB/Class/CCIDClass.h            |  9 ++-
 .../USB/Class/Common/CCIDClassCommon.h        |  3 +-
 .../USB/Class/Device/CCIDClassDevice.c        | 13 ++--
 .../USB/Class/Device/CCIDClassDevice.h        | 67 ++++++++++++-------
 12 files changed, 114 insertions(+), 71 deletions(-)

diff --git a/Demos/Device/ClassDriver/CCID/CCID.c b/Demos/Device/ClassDriver/CCID/CCID.c
index 916306505..9059ad40d 100644
--- a/Demos/Device/ClassDriver/CCID/CCID.c
+++ b/Demos/Device/ClassDriver/CCID/CCID.c
@@ -157,10 +157,11 @@ void EVENT_USB_Device_ControlRequest(void)
  *  whenever an application at the host wants to send a power off signal to a slot.
  *  THe slot must reply back with a recognizable ATR (answer to reset)
  */
-uint8_t CALLBACK_CCID_IccPowerOn(uint8_t slot,
-								 uint8_t* atr,
-								 uint8_t* attrSize,
-								 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 attrSize,
+								 uint8_t* const error)
 {
 	if (slot < CCID_Interface.Config.TotalSlots)
 	{
@@ -176,7 +177,9 @@ uint8_t CALLBACK_CCID_IccPowerOn(uint8_t slot,
 /** Event handler for the CCID_PC_to_RDR_IccPowerOff message. This message is sent to the device
  *  whenever an application at the host wants to send a power off signal to a slot.
  */
-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)
 {
 	if (slot < CCID_Interface.Config.TotalSlots)
 	{
@@ -194,7 +197,9 @@ uint8_t CALLBACK_CCID_IccPowerOff(uint8_t slot, uint8_t* error)
  *  whenever an application at the host wants to the get the current slot status
  *
  */
-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)
 {
 	if (slot < CCID_Interface.Config.TotalSlots)
 	{
@@ -208,9 +213,10 @@ uint8_t CALLBACK_CCID_GetSlotStatus(uint8_t slot, uint8_t* error)
 	}
 }
 
-uint8_t CALLBACK_CCID_Abort(uint8_t slot,
+uint8_t CALLBACK_CCID_Abort(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo,
+                            uint8_t slot,
 							uint8_t seq,
-							uint8_t* error)
+							uint8_t* const error)
 {
 	if (CCID_Interface.State.Aborted && slot == 0 && CCID_Interface.State.AbortedSeq == seq)
 	{
diff --git a/Demos/Device/ClassDriver/CCID/CCID.h b/Demos/Device/ClassDriver/CCID/CCID.h
index 608fb7801..f6dd4adf5 100644
--- a/Demos/Device/ClassDriver/CCID/CCID.h
+++ b/Demos/Device/ClassDriver/CCID/CCID.h
@@ -75,16 +75,21 @@
 		void EVENT_USB_Device_ConfigurationChanged(void);
 		void EVENT_USB_Device_ControlRequest(void);
 
-		uint8_t CALLBACK_CCID_IccPowerOn(uint8_t slot,
-										 uint8_t* atr,
-										 uint8_t* atrSize,
-										 uint8_t* error);
-		uint8_t CALLBACK_CCID_IccPowerOff(uint8_t slot, uint8_t* error);
-		uint8_t CALLBACK_CCID_GetSlotStatus(uint8_t slot, uint8_t* error);
-		uint8_t CALLBACK_CCID_Abort(uint8_t slot,
-                            uint8_t seq,
-                            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);
+		uint8_t CALLBACK_CCID_IccPowerOff(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo,
+		                                  uint8_t slot,
+		                                  uint8_t* const error);
+		uint8_t CALLBACK_CCID_GetSlotStatus(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo,
+		                                    uint8_t slot,
+		                                    uint8_t* const error);
+		uint8_t CALLBACK_CCID_Abort(USB_ClassInfo_CCID_Device_t* const CCIDInterfaceInfo,
+		                            uint8_t slot,
+		                            uint8_t seq,
+		                            uint8_t* const error);
 
 #endif
 
diff --git a/Demos/Device/ClassDriver/CCID/Lib/Iso7816.c b/Demos/Device/ClassDriver/CCID/Lib/Iso7816.c
index 1f9391d72..ec6e1f323 100644
--- a/Demos/Device/ClassDriver/CCID/Lib/Iso7816.c
+++ b/Demos/Device/ClassDriver/CCID/Lib/Iso7816.c
@@ -31,7 +31,9 @@
 
 #include "Iso7816.h"
 
-void Iso7816_CreateSimpleAtr(uint8_t* attr, uint8_t* attrLength)
+
+void Iso7816_CreateSimpleAtr(uint8_t* const attr,
+                             uint8_t* const attrLength)
 {
 	attr[0] = 0x3B; //TS: direct convention
 
diff --git a/Demos/Device/ClassDriver/CCID/Lib/Iso7816.h b/Demos/Device/ClassDriver/CCID/Lib/Iso7816.h
index f5fc1d70a..2a5570629 100644
--- a/Demos/Device/ClassDriver/CCID/Lib/Iso7816.h
+++ b/Demos/Device/ClassDriver/CCID/Lib/Iso7816.h
@@ -36,7 +36,9 @@
 		#include <avr/power.h>
 		#include <avr/interrupt.h>
 		#include <stdlib.h>
+		#include <string.h>
 
 	/* Function Prototypes: */
-		void Iso7816_CreateSimpleAtr(uint8_t* attr, uint8_t* attrLength);
+		void Iso7816_CreateSimpleAtr(uint8_t* const attr,
+		                             uint8_t* const attrLength);
 #endif
diff --git a/Demos/Device/LowLevel/CCID/CCID.c b/Demos/Device/LowLevel/CCID/CCID.c
index 8b46e89be..764392de0 100644
--- a/Demos/Device/LowLevel/CCID/CCID.c
+++ b/Demos/Device/LowLevel/CCID/CCID.c
@@ -197,9 +197,9 @@ void EVENT_USB_Device_ControlRequest(void)
  *  THe slot must reply back with a recognizable ATR (answer to reset)
  */
 uint8_t CCID_IccPowerOn(uint8_t slot,
-						uint8_t* atr,
-						uint8_t* atrLength,
-                        uint8_t* error)
+						uint8_t* const atr,
+						uint8_t* const atrLength,
+                        uint8_t* const error)
 {
 	if (slot == 0)
 	{
@@ -219,7 +219,7 @@ uint8_t CCID_IccPowerOn(uint8_t slot,
  *  whenever an application at the host wants to send a power off signal to a slot.
  */
 uint8_t CCID_IccPowerOff(uint8_t slot,
-                         uint8_t* error)
+                         uint8_t* const error)
 {
 	if (slot == 0)
 	{
@@ -238,7 +238,7 @@ uint8_t CCID_IccPowerOff(uint8_t slot,
  *  slot status.
  */
 uint8_t CCID_GetSlotStatus(uint8_t slot,
-                           uint8_t* error)
+                           uint8_t* const error)
 {
 	if (slot == 0)
 	{
@@ -258,7 +258,7 @@ uint8_t CCID_GetSlotStatus(uint8_t slot,
  */
 uint8_t CCID_Abort(uint8_t slot,
                    uint8_t seq,
-                   uint8_t* error)
+                   uint8_t* const error)
 {
 	if (Aborted && slot == 0 && AbortedSeq == seq)
 	{
@@ -283,7 +283,7 @@ uint8_t CCID_Abort(uint8_t slot,
 }
 
 /** Gets and status and verifies whether an error occurred. */
-bool CCID_CheckStatusNoError(int status)
+bool CCID_CheckStatusNoError(uint8_t status)
 {
 	return (status & 0xC0) == 0x0;
 }
diff --git a/Demos/Device/LowLevel/CCID/CCID.h b/Demos/Device/LowLevel/CCID/CCID.h
index 77bedcf0e..d4503597b 100644
--- a/Demos/Device/LowLevel/CCID/CCID.h
+++ b/Demos/Device/LowLevel/CCID/CCID.h
@@ -72,11 +72,18 @@
 		void	SetupHardware(void);
 		void	CCID_Task(void);
 
-		uint8_t CCID_IccPowerOn(uint8_t slot, uint8_t* attr, uint8_t* attrLength, uint8_t* error);
-		uint8_t CCID_IccPowerOff(uint8_t slot, uint8_t* error);
-		uint8_t	CCID_GetSlotStatus(uint8_t slot, uint8_t* error);
-		uint8_t CCID_Abort(uint8_t slot, uint8_t seq, uint8_t* error);
-		bool	CCID_CheckStatusNoError(int status);
+		uint8_t CCID_IccPowerOn(uint8_t slot,
+		                        uint8_t* const attr,
+		                        uint8_t* const attrLength,
+		                        uint8_t* const error);
+		uint8_t CCID_IccPowerOff(uint8_t slot,
+		                         uint8_t* const error);
+		uint8_t	CCID_GetSlotStatus(uint8_t slot,
+		                           uint8_t* const error);
+		uint8_t CCID_Abort(uint8_t slot,
+		                   uint8_t seq,
+		                   uint8_t* const error);
+		bool	CCID_CheckStatusNoError(uint8_t status);
 
 		void	EVENT_USB_Device_Connect(void);
 		void	EVENT_USB_Device_Disconnect(void);
diff --git a/Demos/Device/LowLevel/CCID/Lib/Iso7816.c b/Demos/Device/LowLevel/CCID/Lib/Iso7816.c
index 0c2e5e8b0..138c5b65f 100644
--- a/Demos/Device/LowLevel/CCID/Lib/Iso7816.c
+++ b/Demos/Device/LowLevel/CCID/Lib/Iso7816.c
@@ -31,7 +31,8 @@
 
 #include "Iso7816.h"
 
-void Iso7816_CreateSimpleAtr(uint8_t* atr, uint8_t* atrLength)
+void Iso7816_CreateSimpleAtr(uint8_t* const atr,
+                             uint8_t* const atrLength)
 {
 	atr[0] = 0x3B; // TS: direct convention
 
diff --git a/Demos/Device/LowLevel/CCID/Lib/Iso7816.h b/Demos/Device/LowLevel/CCID/Lib/Iso7816.h
index aa5f4ba83..f73309d90 100644
--- a/Demos/Device/LowLevel/CCID/Lib/Iso7816.h
+++ b/Demos/Device/LowLevel/CCID/Lib/Iso7816.h
@@ -38,8 +38,10 @@
 		#include <avr/power.h>
 		#include <avr/interrupt.h>
 		#include <stdlib.h>
+		#include <string.h>
 
 	/* Function Prototypes: */
-		void Iso7816_CreateSimpleAtr(uint8_t* atr, uint8_t* atrLength);
+		void Iso7816_CreateSimpleAtr(uint8_t* const atr,
+		                             uint8_t* const atrLength);
 
 #endif
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
-- 
GitLab