FreeCalypso > hg > fc-sim-tools
annotate uicc/main.c @ 21:f6c5aade6559
LICENSE added (public domain)
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 14 Mar 2021 08:07:26 +0000 | 
| parents | b70d35f5476f | 
| children | e2ef4b8e4136 | 
| rev | line source | 
|---|---|
| 15 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 #include <stdio.h> | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 #include <stdlib.h> | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 #include <unistd.h> | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 extern char be_reader_name[]; | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 extern char be_atr_string[]; | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 main(argc, argv) | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 char **argv; | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 { | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 extern int optind; | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 char command[512]; | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 int rc; | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 parse_global_options(argc, argv); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 launch_backend(); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 collect_backend_init_strings(); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 if (argc > optind) { | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 rc = dispatch_ready_argv(argc - optind, argv + optind); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 if (rc) | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 exit(1); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 else | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 good_exit(); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 } | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 if (be_reader_name[0]) | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 printf("Card reader name: %s\n", be_reader_name); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 if (be_atr_string[0]) | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 printf("ATR: %s\n", be_atr_string); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 for (;;) { | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 if (isatty(0)) { | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 fputs("uicc> ", stdout); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 fflush(stdout); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 } | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 if (!fgets(command, sizeof command, stdin)) | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 good_exit(); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 simtool_dispatch_cmd(command, 0); | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 } | 
| 
b70d35f5476f
fc-uicc-tool ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 } | 
