40 lines
		
	
	
		
			787 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			787 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-or-later */
 | |
| /*
 | |
|  *  Copyright (c) 2018  Vincent Pelletier
 | |
|  */
 | |
| /*
 | |
|  */
 | |
| #ifndef __CCID_H
 | |
| #define __CCID_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| 
 | |
| #define USB_INTERFACE_CLASS_CCID 0x0b
 | |
| 
 | |
| struct ccid_descriptor {
 | |
| 	__u8  bLength;
 | |
| 	__u8  bDescriptorType;
 | |
| 	__le16 bcdCCID;
 | |
| 	__u8  bMaxSlotIndex;
 | |
| 	__u8  bVoltageSupport;
 | |
| 	__le32 dwProtocols;
 | |
| 	__le32 dwDefaultClock;
 | |
| 	__le32 dwMaximumClock;
 | |
| 	__u8  bNumClockSupported;
 | |
| 	__le32 dwDataRate;
 | |
| 	__le32 dwMaxDataRate;
 | |
| 	__u8  bNumDataRatesSupported;
 | |
| 	__le32 dwMaxIFSD;
 | |
| 	__le32 dwSynchProtocols;
 | |
| 	__le32 dwMechanical;
 | |
| 	__le32 dwFeatures;
 | |
| 	__le32 dwMaxCCIDMessageLength;
 | |
| 	__u8  bClassGetResponse;
 | |
| 	__u8  bClassEnvelope;
 | |
| 	__le16 wLcdLayout;
 | |
| 	__u8  bPINSupport;
 | |
| 	__u8  bMaxCCIDBusySlots;
 | |
| } __attribute__ ((packed));
 | |
| 
 | |
| #endif /* __CCID_H */
 |