FreeCalypso > hg > fc-sim-tools
view serial/main.c @ 45:9eb5460f51a6
main tools: support both pcsc and serial back ends
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 21 Mar 2021 01:56:49 +0000 |
parents | be27d1c85861 |
children | fbedb67d234f |
line wrap: on
line source
/* * This module implements the main() function for fcsim-serial-be. */ #include <stdio.h> #include <stdlib.h> extern unsigned baud_base, baud_spenh; main(argc, argv) char **argv; { char inbuf[576]; u_char cmd[260]; int rc; if (argc != 3) { fprintf(stderr, "usage: %s ttyport baud\n", argv[0]); exit(1); } open_serial_port(argv[1]); parse_baud_spenh_arg(argv[2]); set_serial_params(baud_base); set_serial_nonblock(0); serial_card_reset(); rc = collect_atr(); if (rc < 0) exit(1); print_atr("A"); if (baud_spenh) spenh_logic(); putchar('\n'); fflush(stdout); for (; fgets(inbuf, sizeof inbuf, stdin); fflush(stdout)) { rc = parse_hex_input(inbuf, cmd); if (rc < 0) continue; if (rc < 5) { printf("error: command APDU is too short\n"); continue; } apdu_exchange(cmd, rc); } exit(0); }