Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  *  Copyright (c) 2018  Vincent Pelletier
0004  */
0005 /*
0006  */
0007 #ifndef __CCID_H
0008 #define __CCID_H
0009 
0010 #include <linux/types.h>
0011 
0012 #define USB_INTERFACE_CLASS_CCID 0x0b
0013 
0014 struct ccid_descriptor {
0015     __u8  bLength;
0016     __u8  bDescriptorType;
0017     __le16 bcdCCID;
0018     __u8  bMaxSlotIndex;
0019     __u8  bVoltageSupport;
0020     __le32 dwProtocols;
0021     __le32 dwDefaultClock;
0022     __le32 dwMaximumClock;
0023     __u8  bNumClockSupported;
0024     __le32 dwDataRate;
0025     __le32 dwMaxDataRate;
0026     __u8  bNumDataRatesSupported;
0027     __le32 dwMaxIFSD;
0028     __le32 dwSynchProtocols;
0029     __le32 dwMechanical;
0030     __le32 dwFeatures;
0031     __le32 dwMaxCCIDMessageLength;
0032     __u8  bClassGetResponse;
0033     __u8  bClassEnvelope;
0034     __le16 wLcdLayout;
0035     __u8  bPINSupport;
0036     __u8  bMaxCCIDBusySlots;
0037 } __attribute__ ((packed));
0038 
0039 #endif /* __CCID_H */