/[pcsclite]/trunk/IFDTest/testA.c
ViewVC logotype

Contents of /trunk/IFDTest/testA.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 108 - (show annotations) (download)
Thu Jun 27 16:52:50 2002 UTC (10 years, 11 months ago) by corcoran
File MIME type: text/plain
File size: 2264 byte(s)
Initial revision
1 #include <stdio.h>
2 #include <winscard.h>
3 #include <configfile.h>
4 #include <stdlib.h>
5 #include "commands.h"
6 testA(int argc,char** argv ) {
7 int i;
8 myprintf("=============================\n");
9 myprintf("Part A: Checking card monitor\n");
10 myprintf("=============================\n");
11 (rgReaderStates[0])->dwCurrentState = SCARD_STATE_UNAWARE;
12 rv =SCardGetStatusChange( hContext, INFINITE, rgReaderStates[0], 1 );
13 if( (rgReaderStates[0])->dwEventState & SCARD_STATE_PRESENT ) {
14 myprintf("<< Please remove smart card \n");
15 (rgReaderStates[0])->dwCurrentState = SCARD_STATE_PRESENT;
16 rv =SCardGetStatusChange( hContext, INFINITE, rgReaderStates[0], 1 );
17 }
18 printit("1.Please insert smart card");
19 (rgReaderStates[0])->dwCurrentState = SCARD_STATE_EMPTY;
20 rv =SCardGetStatusChange( hContext, INFINITE, rgReaderStates[0], 1 );
21 myprintf("Passed\n");
22 printit("2. IOCTL_SMARTCARD_IS_PRESENT");
23 myprintf("Passed\n");
24 printit("3. Please remove smart card ");
25 (rgReaderStates[0])->dwCurrentState = SCARD_STATE_PRESENT;
26 rv =SCardGetStatusChange( hContext, INFINITE, rgReaderStates[0], 1 );
27 if( rv != SCARD_S_SUCCESS )
28 return -1;
29 if( (rgReaderStates[0])->dwEventState & SCARD_STATE_EMPTY) myprintf("Passed\n");
30 else
31 myprintf("Failed \n");
32 printit("4. IOCTL_SMARTCARD_IS_ABSENT");
33 myprintf("Passed\n");
34 printit("5. Insert and remove a smart card repeatedly");
35 (rgReaderStates[0])->dwCurrentState = SCARD_STATE_EMPTY;
36 for(i=0;i<10;i++) {
37 rv =SCardGetStatusChange( hContext, INFINITE, rgReaderStates[0], 1 );
38 (rgReaderStates[0])->dwCurrentState = (rgReaderStates[0])->dwEventState;
39 }
40 myprintf("Passed \n");
41 if( more_details ) {
42 rv = SCardConnect(hContext, readerName,
43 SCARD_SHARE_SHARED, SCARD_PROTOCOL_T0| SCARD_PROTOCOL_T1,
44 &hCard, &dwPref);
45 if ( rv != SCARD_S_SUCCESS ) {
46 SCardReleaseContext( hContext );
47 return 0;
48 }
49 readerlen=100;
50 rv = SCardStatus(hCard,readerName,&readerlen,&readerstate,&protocol,r,&atrlen);
51 if( rv != SCARD_S_SUCCESS ) {
52 return -1;
53 }
54 myprintf("ATR :");
55 for(i=0;i<atrlen;i++) {
56 myprintf("%0x ",r[i]);
57 }
58 myprintf("\n");
59 myprintf("Powered up successfully \n");
60 }
61 return 0;
62 }

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5