#include <usb.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <strings.h> #include <string.h> #include <errno.h> #include "translate.h" #include "../winsrc/prox.h" #include "proxmark3.h" #define HANDLE_ERROR if (error_occured) { \ error_occured = 0;\ break;\ } int main(int argc, char **argv) { if(argc != 3 && argc != 4) { printf("\n\tusage: cli <command 1> <command 2> [logfile (default cli.log)]\n"); printf("\n"); printf("\texample: cli hi14asnoop hi14alist h14a.log\n"); printf("\n"); return -1; } usb_init(); if (argc == 4) setlogfilename(argv[3]); else setlogfilename("cli.log"); return_on_error = 1; while(1) { while(!(devh=OpenProxmark(0))) { sleep(1); } while(1) { UsbCommand cmdbuf; int i; CommandReceived(argv[1]); HANDLE_ERROR ReceiveCommand(&cmdbuf); HANDLE_ERROR for (i=0; i<5; i++) { ReceiveCommandP(&cmdbuf); } HANDLE_ERROR CommandReceived(argv[2]); HANDLE_ERROR } } CloseProxmark(); return 0; }