FreeCalypso > hg > fc-pcsc-tools
annotate libcommon/alpha_decode.c @ 68:105aa3d1a494
fc-simtool write-iccid command implemented
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 15 Feb 2021 00:36:56 +0000 | 
| parents | d4dc86195382 | 
| children | 
| rev | line source | 
|---|---|
| 0 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * This module contains functions for decoding and displaying alpha fields | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * that exist in various SIM files. | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 */ | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 #include <sys/types.h> | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 #include <stdio.h> | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 static void | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 print_alpha_field_hex(data, nbytes, outf) | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 u_char *data; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 unsigned nbytes; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 FILE *outf; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 { | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 u_char *dp, *endp; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 fputs("HEX ", outf); | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 dp = data; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 endp = data + nbytes; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 while (dp < endp) | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 fprintf(outf, "%02X", *dp++); | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 } | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 void | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 print_alpha_field(data, nbytes, outf) | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 u_char *data; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 unsigned nbytes; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 FILE *outf; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 { | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 if (!nbytes) { | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 fputs("\"\"", outf); | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 return; | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 } | 
| 21 
d4dc86195382
GSM7 quoted string output factored out, uses new escapes
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 34 if (data[0] & 0x80) | 
| 0 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 print_alpha_field_hex(data, nbytes, outf); | 
| 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 else | 
| 21 
d4dc86195382
GSM7 quoted string output factored out, uses new escapes
 Mychaela Falconia <falcon@freecalypso.org> parents: 
0diff
changeset | 37 print_gsm7_string_to_file(data, nbytes, outf); | 
| 0 
f7145c77b7fb
starting libcommon: factored out of fc-simtool
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 } | 
