pcsc-lite 1.7.2
atrhandler.h
Go to the documentation of this file.
00001 /*
00002  * MUSCLE SmartCard Development ( http://www.linuxnet.com )
00003  *
00004  * Copyright (C) 1999-2002
00005  *  David Corcoran <corcoran@linuxnet.com>
00006  * Copyright (C) 2002-2009
00007  *  Ludovic Rousseau <ludovic.rousseau@free.fr>
00008  *
00009  * $Id: atrhandler.h 5434 2010-12-08 14:13:21Z rousseau $
00010  */
00011 
00018 #ifndef __atrhandler_h__
00019 #define __atrhandler_h__
00020 
00021 #define SCARD_CONVENTION_DIRECT  0x0001
00022 #define SCARD_CONVENTION_INVERSE 0x0002
00023 
00024     typedef struct
00025     {
00026 
00027         struct
00028         {
00029             int Length;
00030             int HistoryLength;
00031             UCHAR Value[MAX_ATR_SIZE];
00032             UCHAR HistoryValue[MAX_ATR_SIZE];
00033         }
00034         ATR;
00035 
00036         struct
00037         {
00038             UCHAR AvailableProtocols;
00039             UCHAR CurrentProtocol;
00040             UCHAR Convention;
00041         }
00042         CardCapabilities;
00043     }
00044     SMARTCARD_EXTENSION;
00045 
00046     /*
00047      * Decodes the ATR and fills the structure
00048      */
00049 
00050     short ATRDecodeAtr(/*@out@*/ SMARTCARD_EXTENSION *psExtension,
00051         PUCHAR pucAtr, DWORD dwLength);
00052 
00053 #endif                          /* __atrhandler_h__ */