/* 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 */