]> git.zerfleddert.de Git - proxmark3-svn/blob - client/cli.c
Client cleanup and restructuring. Stage 1...
[proxmark3-svn] / client / cli.c
1 #include <stdio.h>
2 #include "ui.h"
3 #include "proxusb.h"
4 #include "cmdmain.h"
5
6 #define HANDLE_ERROR if (error_occured) { \
7 error_occured = 0;\
8 break;\
9 }
10
11 int main(int argc, char **argv)
12 {
13 if (argc != 3 && argc != 4)
14 {
15 printf("\n\tusage: cli <command 1> <command 2> [logfile (default cli.log)]\n");
16 printf("\n");
17 printf("\texample: cli hi14asnoop hi14alist h14a.log\n");
18 printf("\n");
19 return -1;
20 }
21
22 usb_init();
23 if (argc == 4)
24 SetLogFilename(argv[3]);
25 else
26 SetLogFilename("cli.log");
27
28 return_on_error = 1;
29
30 while (1) {
31 while (!OpenProxmark(0)) { sleep(1); }
32 while (1) {
33 UsbCommand cmdbuf;
34 CommandReceived(argv[1]);
35 HANDLE_ERROR;
36 ReceiveCommand(&cmdbuf);
37 HANDLE_ERROR;
38 for (int i = 0; i < 5; ++i) {
39 ReceiveCommandPoll(&cmdbuf);
40 }
41 HANDLE_ERROR;
42 CommandReceived(argv[2]);
43 HANDLE_ERROR;
44 }
45 }
46
47 CloseProxmark();
48 return 0;
49 }
Impressum, Datenschutz