1 
   2 
   3 
   4 
   5 
   6 
   7 #ifndef __CCID_H
   8 #define __CCID_H
   9 
  10 #include <linux/types.h>
  11 
  12 #define USB_INTERFACE_CLASS_CCID 0x0b
  13 
  14 struct ccid_descriptor {
  15         __u8  bLength;
  16         __u8  bDescriptorType;
  17         __le16 bcdCCID;
  18         __u8  bMaxSlotIndex;
  19         __u8  bVoltageSupport;
  20         __le32 dwProtocols;
  21         __le32 dwDefaultClock;
  22         __le32 dwMaximumClock;
  23         __u8  bNumClockSupported;
  24         __le32 dwDataRate;
  25         __le32 dwMaxDataRate;
  26         __u8  bNumDataRatesSupported;
  27         __le32 dwMaxIFSD;
  28         __le32 dwSynchProtocols;
  29         __le32 dwMechanical;
  30         __le32 dwFeatures;
  31         __le32 dwMaxCCIDMessageLength;
  32         __u8  bClassGetResponse;
  33         __u8  bClassEnvelope;
  34         __le16 wLcdLayout;
  35         __u8  bPINSupport;
  36         __u8  bMaxCCIDBusySlots;
  37 } __attribute__ ((packed));
  38 
  39 #endif