/[pcsclite]/trunk/Drivers/ccid/src/ccid.h
ViewVC logotype

Contents of /trunk/Drivers/ccid/src/ccid.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 693 - (hide annotations) (download)
Thu Feb 12 16:08:45 2004 UTC (9 years, 4 months ago) by rousseau
File MIME type: text/plain
File size: 2344 byte(s)
add dwDefaultClock and dwMaxDataRate fields
1 rousseau 413 /*
2     ccid.h: CCID structures
3     Copyright (C) 2003 Ludovic Rousseau
4    
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9    
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13     GNU General Public License for more details.
14    
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18     */
19    
20     /*
21     * $Id$
22     */
23    
24     typedef struct
25     {
26     /*
27     * CCID Sequence number
28     */
29     unsigned char bSeq;
30    
31     /*
32     * VendorID << 16 + ProductID
33     */
34     int readerID;
35    
36     /*
37     * Maximum message length
38     */
39     int dwMaxCCIDMessageLength;
40    
41     /*
42 rousseau 672 * Maximum IFSD
43     */
44     int dwMaxIFSD;
45    
46     /*
47 rousseau 413 * Features supported by the reader (directly from class Descriptor)
48     */
49     int dwFeatures;
50    
51 rousseau 693 /*
52     * Default Clock
53     */
54     int dwDefaultClock;
55    
56     /*
57     * Max Data Rate
58     */
59     int dwMaxDataRate;
60    
61 rousseau 413 } _ccid_descriptor;
62    
63 rousseau 685 #define CCID_CLASS_AUTO_CONF_ATR 0x00000002
64 rousseau 413 #define CCID_CLASS_AUTO_VOLTAGE 0x00000008
65 rousseau 691 #define CCID_CLASS_AUTO_BAUD 0x00000020
66 rousseau 672 #define CCID_CLASS_AUTO_PPS_CUR 0x00000080
67 rousseau 691 #define CCID_CLASS_AUTO_IFSD 0x00000400
68 rousseau 413 #define CCID_CLASS_TPDU 0x00010000
69     #define CCID_CLASS_SHORT_APDU 0x00020000
70     #define CCID_CLASS_EXTENDED_APDU 0x00040000
71 rousseau 672 #define CCID_CLASS_EXCHANGE_MASK 0x00070000
72 rousseau 413
73     /* See CCID specs ch. 4.2.1 */
74     #define CCID_COMMAND_FAILED 0x40 /* 01 0000 00 */
75     #define CCID_TIME_EXTENSION 0x80 /* 10 0000 00 */
76    
77     /* Product identification for special treatments */
78     #define GEMPC433 0x08E64433
79     #define GEMPCKEY 0x08E63438
80     #define GEMPCTWIN 0x08E63437
81     #define CARDMAN3121 0x076B3021
82 rousseau 693 #define LTC31 0x07830003
83 rousseau 413
84     /* Escape sequence codes */
85     #define ESC_GEMPC_SET_ISO_MODE 1
86     #define ESC_GEMPC_SET_APDU_MODE 2
87    
88    
89     int ccid_open_hack(int lun);
90     void ccid_error(int error, char *file, int line);
91     _ccid_descriptor *get_ccid_descriptor(int lun);
92    
93     /* convert a 4 byte integer in USB format into an int */
94     #define dw2i(a, x) ((((((a[x+3] << 8) + a[x+2]) << 8) + a[x+1]) << 8) + a[x])
95    

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.5