comparison simtool/stktest.c @ 144:60411fd4b803

simtool code: cmd_get_response() factored out of stktest.c
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 25 Feb 2021 05:44:27 +0000
parents a1aa8ee2da85
children
comparison
equal deleted inserted replaced
143:be1a759453ef 144:60411fd4b803
77 if (rc < 0) 77 if (rc < 0)
78 return(rc); 78 return(rc);
79 printf("%04X\n", sim_resp_sw); 79 printf("%04X\n", sim_resp_sw);
80 return(0); 80 return(0);
81 } 81 }
82
83 cmd_get_response(argc, argv, outf)
84 char **argv;
85 FILE *outf;
86 {
87 u_char cmd[5];
88 int rc;
89 unsigned len;
90
91 len = strtoul(argv[1], 0, 0);
92 if (len < 1 || len > 256) {
93 fprintf(stderr, "error: length argument is out of range\n");
94 return(-1);
95 }
96 /* GET RESPONSE command APDU */
97 cmd[0] = 0xA0;
98 cmd[1] = 0xC0;
99 cmd[2] = 0;
100 cmd[3] = 0;
101 cmd[4] = len;
102 rc = apdu_exchange(cmd, 5);
103 if (rc < 0)
104 return(rc);
105 if (sim_resp_sw != 0x9000) {
106 fprintf(stderr, "bad SW resp to GET RESPONSE: %04X\n",
107 sim_resp_sw);
108 return(-1);
109 }
110 display_sim_resp_in_hex(outf);
111 return(0);
112 }