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 }