CCID config, init, run

Switching to config 1 and 2 works, but to 3 and 4 usb_enum.py is
hanging for some reason. Switching the USB config from Sniffer to
CCID reader was not tested yet.
This commit is contained in:
Christina Quast
2015-03-03 12:34:36 +01:00
parent 4ba4d2230b
commit db7b1abd17
6 changed files with 1859 additions and 7 deletions

View File

@@ -15,15 +15,38 @@ typedef struct ring_buffer
enum confNum {
CFG_NUM_SNIFF = 1, CFG_NUM_PHONE, CFG_NUM_MITM, NUM_CONF
CFG_NUM_SNIFF = 1, CFG_NUM_CCID, CFG_NUM_PHONE, CFG_NUM_MITM, NUM_CONF
};
/// CCIDDriverConfiguration Descriptors
/// List of descriptors that make up the configuration descriptors of a
/// device using the CCID driver.
typedef struct {
/// Configuration descriptor
USBConfigurationDescriptor configuration;
/// Interface descriptor
USBInterfaceDescriptor interface;
/// CCID descriptor
CCIDDescriptor ccid;
/// Bulk OUT endpoint descriptor
USBEndpointDescriptor bulkOut;
/// Bulk IN endpoint descriptor
USBEndpointDescriptor bulkIn;
/// Interrupt OUT endpoint descriptor
USBEndpointDescriptor interruptIn;
} __attribute__ ((packed)) CCIDDriverConfigurationDescriptors;
/* Helper functions */
USBConfigurationDescriptor *getConfigDesc(uint8_t idx);
// FIXME: static function definitions
extern uint32_t _ISO7816_GetChar( uint8_t *pCharToReceive );
extern uint32_t _ISO7816_SendChar( uint8_t CharToSend );
/* Init functions */
extern void Phone_Master_Init( void );
extern void CCID_init( void );
extern void Sniffer_Init( void );
extern void MITM_init( void );
@@ -32,7 +55,7 @@ extern void _ISO7816_Init( void );
/* Run functions */
extern void Sniffer_run( void );
// extern void CCID_run( void );
extern void CCID_run( void );
extern void Phone_run( void );
extern void MITM_run( void );