FreeCalypso > hg > freecalypso-hwlab
comparison uicc/readcmd.c @ 160:19b96c52348f
fc-uicc-tool: readef command ported over
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 07 Feb 2021 04:15:59 +0000 |
parents | 429a8f80426e |
children |
comparison
equal
deleted
inserted
replaced
159:a5e2b6e3bdf7 | 160:19b96c52348f |
---|---|
59 if (rc < 0) | 59 if (rc < 0) |
60 return(rc); | 60 return(rc); |
61 display_sim_resp_in_hex(); | 61 display_sim_resp_in_hex(); |
62 return(0); | 62 return(0); |
63 } | 63 } |
64 | |
65 cmd_readef(argc, argv) | |
66 char **argv; | |
67 { | |
68 int file_id, rc; | |
69 unsigned file_len, readlen; | |
70 | |
71 if (isxdigit(argv[1][0]) && isxdigit(argv[1][1]) && | |
72 isxdigit(argv[1][2]) && isxdigit(argv[1][3]) && !argv[1][4]) | |
73 file_id = strtoul(argv[1], 0, 16); | |
74 else | |
75 file_id = find_symbolic_file_name(argv[1]); | |
76 if (file_id < 0) { | |
77 fprintf(stderr, | |
78 "error: file ID argument is not a hex value or a recognized symbolic name\n"); | |
79 return(-1); | |
80 } | |
81 rc = select_op(file_id); | |
82 if (rc < 0) | |
83 return(rc); | |
84 rc = select_resp_get_transparent(&file_len); | |
85 if (rc < 0) | |
86 return(rc); | |
87 printf("Transparent EF of %u byte(s)\n", file_len); | |
88 if (!file_len) | |
89 return(0); | |
90 readlen = file_len; | |
91 if (readlen > 256) | |
92 readlen = 256; | |
93 rc = readbin_op(0, readlen); | |
94 if (rc < 0) | |
95 return(rc); | |
96 display_sim_resp_in_hex(); | |
97 return(0); | |
98 } |