FreeCalypso > hg > freecalypso-hwlab
comparison uicc/readcmd.c @ 133:f3bdefbeae38
fc-uicc-tool: readbin and readrec commands implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 04 Feb 2021 01:45:16 +0000 |
parents | |
children | 429a8f80426e |
comparison
equal
deleted
inserted
replaced
132:5af88fa11b54 | 133:f3bdefbeae38 |
---|---|
1 #include <sys/types.h> | |
2 #include <stdio.h> | |
3 #include <stdlib.h> | |
4 #include <pcsclite.h> | |
5 #include <winscard.h> | |
6 #include "globals.h" | |
7 | |
8 cmd_readbin(argc, argv) | |
9 char **argv; | |
10 { | |
11 unsigned offset, len; | |
12 int rc; | |
13 | |
14 offset = strtoul(argv[1], 0, 0); | |
15 if (offset > 0x7FFF) { | |
16 fprintf(stderr, "error: offset argument is out of range\n"); | |
17 return(-1); | |
18 } | |
19 len = strtoul(argv[2], 0, 0); | |
20 if (len < 1 || len > 256) { | |
21 fprintf(stderr, "error: length argument is out of range\n"); | |
22 return(-1); | |
23 } | |
24 rc = readbin_op(offset, len); | |
25 if (rc < 0) | |
26 return(rc); | |
27 display_sim_resp_in_hex(); | |
28 return(0); | |
29 } | |
30 | |
31 cmd_readrec(argc, argv) | |
32 char **argv; | |
33 { | |
34 unsigned recno, len; | |
35 int rc; | |
36 | |
37 recno = strtoul(argv[1], 0, 0); | |
38 if (recno < 1 || recno > 255) { | |
39 fprintf(stderr, | |
40 "error: record number argument is out of range\n"); | |
41 return(-1); | |
42 } | |
43 len = strtoul(argv[2], 0, 0); | |
44 if (len < 1 || len > 255) { | |
45 fprintf(stderr, "error: length argument is out of range\n"); | |
46 return(-1); | |
47 } | |
48 rc = readrec_op(recno, 0x04, len); | |
49 if (rc < 0) | |
50 return(rc); | |
51 display_sim_resp_in_hex(); | |
52 return(0); | |
53 } |