FreeCalypso > hg > fc-pcsc-tools
annotate uicc/main.c @ 175:eb660497f888
scripts/grcard2-read-all added to collection
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 02 Mar 2021 04:46:21 +0000 | 
| parents | acf343dace04 | 
| children | 
| rev | line source | 
|---|---|
| 22 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 #include <sys/types.h> | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 #include <stdio.h> | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 #include <stdlib.h> | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 #include <pcsclite.h> | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 #include <winscard.h> | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 #include "cardif.h" | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 main(argc, argv) | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 char **argv; | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 { | 
| 37 
acf343dace04
-p reader selection implemented in fc-uicc-tool
 Mychaela Falconia <falcon@freecalypso.org> parents: 
33diff
changeset | 11 extern int optind; | 
| 22 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 char command[512]; | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 int rc; | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | 
| 37 
acf343dace04
-p reader selection implemented in fc-uicc-tool
 Mychaela Falconia <falcon@freecalypso.org> parents: 
33diff
changeset | 15 parse_global_options(argc, argv); | 
| 22 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 setup_pcsc_context(); | 
| 30 
84d1c31d0fad
first round of refactoring for selection among multiple readers
 Mychaela Falconia <falcon@freecalypso.org> parents: 
28diff
changeset | 17 get_reader_list(); | 
| 33 
8a4f3d00d997
more refactoring of (select reader by number) logic
 Mychaela Falconia <falcon@freecalypso.org> parents: 
30diff
changeset | 18 select_reader_by_num(); | 
| 37 
acf343dace04
-p reader selection implemented in fc-uicc-tool
 Mychaela Falconia <falcon@freecalypso.org> parents: 
33diff
changeset | 19 if (argc <= optind) | 
| 30 
84d1c31d0fad
first round of refactoring for selection among multiple readers
 Mychaela Falconia <falcon@freecalypso.org> parents: 
28diff
changeset | 20 printf("Card reader name: %s\n", selected_reader); | 
| 22 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 connect_to_card(); | 
| 37 
acf343dace04
-p reader selection implemented in fc-uicc-tool
 Mychaela Falconia <falcon@freecalypso.org> parents: 
33diff
changeset | 22 if (argc > optind) { | 
| 
acf343dace04
-p reader selection implemented in fc-uicc-tool
 Mychaela Falconia <falcon@freecalypso.org> parents: 
33diff
changeset | 23 rc = dispatch_ready_argv(argc - optind, argv + optind); | 
| 22 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 if (rc) | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 error_exit(); | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 else | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 good_exit(); | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 } | 
| 28 
78f93e3c9ebf
fc-simtool & fc-uicc-tool: show card reader name and
 Mychaela Falconia <falcon@freecalypso.org> parents: 
22diff
changeset | 29 retrieve_atr(); | 
| 22 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 for (;;) { | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 if (isatty(0)) { | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 fputs("uicc> ", stdout); | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 fflush(stdout); | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 } | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 if (!fgets(command, sizeof command, stdin)) | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 good_exit(); | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 simtool_dispatch_cmd(command, 0); | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 } | 
| 
1b1468869ccf
new trimmed fc-uicc-tool is here
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 } | 
