-#include <usb.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <strings.h>
-#include <string.h>
-#include <errno.h>
+//-----------------------------------------------------------------------------
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// Command line binary
+//-----------------------------------------------------------------------------
-#include "prox.h"
-#include "proxmark3.h"
+#include <stdio.h>
+#include "sleep.h"
+#include "ui.h"
+#include "proxusb.h"
+#include "cmdmain.h"
#define HANDLE_ERROR if (error_occured) { \
- error_occured = 0;\
- break;\
+ 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;
+ 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 (!OpenProxmark(0)) { sleep(1); }
+ while (1) {
+ UsbCommand cmdbuf;
+ CommandReceived(argv[1]);
+ HANDLE_ERROR;
+ ReceiveCommand(&cmdbuf);
+ HANDLE_ERROR;
+ for (int i = 0; i < 5; ++i) {
+ ReceiveCommandPoll(&cmdbuf);
+ }
+ HANDLE_ERROR;
+ CommandReceived(argv[2]);
+ HANDLE_ERROR;
+ }
+ }
+
+ CloseProxmark();
+ return 0;
}