LUFA Library  210130
CCIDClassCommon.h File Reference

Common definitions and declarations for the library USB CCID Class driver. More...

Data Structures

struct  USB_CCID_BulkMessage_Header_t
 
struct  USB_CCID_Descriptor_t
 
struct  USB_CCID_ProtocolData_T0_t
 
struct  USB_CCID_ProtocolData_T1_t
 
struct  USB_CCID_RDR_to_PC_DataBlock_t
 
struct  USB_CCID_RDR_to_PC_DataRateAndClockFrequency_t
 
struct  USB_CCID_RDR_to_PC_Escape_t
 
struct  USB_CCID_RDR_to_PC_Parameters_t
 
struct  USB_CCID_RDR_to_PC_SlotStatus_t
 

Macros

#define CCID_COMMANDSTATUS_ERROR   1
 
#define CCID_COMMANDSTATUS_FAILED   (1 << 6)
 
#define CCID_COMMANDSTATUS_PROCESSEDWITHOUTERROR   0
 
#define CCID_COMMANDSTATUS_RFU   (3 << 6)
 
#define CCID_COMMANDSTATUS_TIMEEXTENSIONREQUESTED   (2 << 6)
 
#define CCID_CURRENT_SPEC_RELEASE_NUMBER   0x0110
 
#define CCID_DESCRIPTOR_CLOCK_KHZ(khz)   (khz)
 
#define CCID_DESCRIPTOR_CLOCK_MHZ(mhz)   ((mhz) * 1000)
 
#define CCID_ERROR_CMD_ABORTED   0xFF
 
#define CCID_ERROR_CMD_NOT_ABORTED   0xFF
 
#define CCID_ERROR_NO_ERROR   0x80
 
#define CCID_ERROR_NOT_SUPPORTED   0
 
#define CCID_ERROR_PARAMETERS_PROTOCOL_NOT_SUPPORTED   0x7
 
#define CCID_ERROR_RFU_START   0x80
 
#define CCID_ERROR_SLOT_NOT_FOUND   5
 
#define CCID_ICCSTATUS_NOICCPRESENT   (1 << 1)
 
#define CCID_ICCSTATUS_PRESENTANDACTIVE   0
 
#define CCID_ICCSTATUS_PRESENTANDINACTIVE   (1 << 0)
 
#define CCID_PROTOCOLNUM_T0   0
 
#define CCID_PROTOCOLNUM_T1   (1 << 0)
 
#define CCID_PROTOCOLS_T0   (1 << 0)
 
#define CCID_PROTOCOLS_T1   (1 << 1)
 
#define CCID_VOLTAGESUPPORT_1V8   (1 << 1)
 
#define CCID_VOLTAGESUPPORT_3V   (1 << 0)
 
#define CCID_VOLTAGESUPPORT_5V   0
 

Enumerations

enum  CCID_BulkOutMessages_t {
  CCID_PC_to_RDR_IccPowerOn = 0x62 ,
  CCID_PC_to_RDR_IccPowerOff = 0x63 ,
  CCID_PC_to_RDR_GetSlotStatus = 0x65 ,
  CCID_PC_to_RDR_XfrBlock = 0x6f ,
  CCID_PC_to_RDR_GetParameters = 0x6c ,
  CCID_PC_to_RDR_ResetParameters = 0x6d ,
  CCID_PC_to_RDR_SetParameters = 0x61 ,
  CCID_PC_to_RDR_Escape = 0x6b ,
  CCID_PC_to_RDR_IccClock = 0x6e ,
  CCID_PC_to_RDR_T0APDU = 0x6a ,
  CCID_PC_to_RDR_Secure = 0x69 ,
  CCID_PC_to_RDR_Mechanical = 0x71 ,
  CCID_PC_to_RDR_Abort = 0x72 ,
  CCID_PC_to_RDR_SetDataRateAndClockFrequency = 0x73 ,
  CCID_RDR_to_PC_DataBlock = 0x80 ,
  CCID_RDR_to_PC_SlotStatus = 0x81 ,
  CCID_RDR_to_PC_Parameters = 0x82 ,
  CCID_RDR_to_PC_Escape = 0x83 ,
  CCID_RDR_to_PC_DataRateAndClockFrequency = 0x84
}
 
enum  CCID_ClassRequests_t {
  CCID_ABORT = 0x1 ,
  CCID_GET_CLOCK_FREQUENCIES = 0x2 ,
  CCID_GET_DATA_RATES = 0x3
}
 
enum  CCID_Descriptor_ClassSubclassProtocol_t {
  CCID_CSCP_CCIDClass = 0x0b ,
  CCID_CSCP_NoSpecificSubclass = 0x00 ,
  CCID_CSCP_NoSpecificProtocol = 0x00
}
 
enum  CCID_DescriptorTypes_t { CCID_DTYPE_Functional = 0x21 }
 
enum  CCID_Features_Auto_t {
  CCID_Features_Auto_None = 0x0 ,
  CCID_Features_Auto_ParameterConfiguration = 0x2 ,
  CCID_Features_Auto_ICCActivation = 0x4 ,
  CCID_Features_Auto_VoltageSelection = 0x8 ,
  CCID_Features_Auto_ICCClockFrequencyChange = 0x10 ,
  CCID_Features_Auto_ICCBaudRateChange = 0x20 ,
  CCID_Features_Auto_ParameterNegotiation = 0x40 ,
  CCID_Features_Auto_PPS = 0x80
}
 
enum  CCID_Features_ExchangeLevel_t {
  CCID_Features_ExchangeLevel_TPDU = 0x00010000 ,
  CCID_Features_ExchangeLevel_ShortAPDU = 0x00020000 ,
  CCID_Features_ExchangeLevel_ShortExtendedAPDU = 0x00040000
}
 

Detailed Description

Common definitions and declarations for the library USB CCID Class driver.

Note
This file should not be included directly. It is automatically included as needed by the USB module driver dispatch header located in LUFA/Drivers/USB.h.