1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (c) 2018 Vincent Pelletier
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
14struct 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 /* __CCID_H */
40

source code of linux/include/linux/usb/ccid.h