diff options
Diffstat (limited to 'easytool')
-rw-r--r-- | easytool/easytool.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/easytool/easytool.c b/easytool/easytool.c index 75cec83..2e7ada3 100644 --- a/easytool/easytool.c +++ b/easytool/easytool.c @@ -42,16 +42,24 @@ /* Easycard specific includes */ #include "easycard.h" -#define VERSION "0.03" +#define VERSION "0.04" #define COPYRIGHT \ "EasyTool "VERSION" (C) 2010 by Harald Welte <laforge@gnumonks.org>\n" \ "This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY\n\n" \ "Use of this software is authorized for RESEARCH PURPOSE ONLY!\n\n" +enum mode { + MODE_DUMP_MFACC, + MODE_DUMP, + MODE_RECHARGE, + MODE_PURCHASE, +}; + struct { int fd; unsigned long size; mifare_tag *mft; + enum mode mode; } global; static void dump_acc_bits(const struct acc_bits_parsed *abp) @@ -126,19 +134,14 @@ static void print_help(void) { } -enum mode { - MODE_DUMP_MFACC, - MODE_DUMP, - MODE_RECHARGE, - MODE_PURCHASE, -}; - int main(int argc, char **argv) { - enum mode mode = MODE_DUMP; + struct stat st; int delta = 0; int option_index = 0; - struct stat st; + int rc; + + global.mode = MODE_DUMP; printf(COPYRIGHT); @@ -159,14 +162,14 @@ int main(int argc, char **argv) switch (c) { case 'a': - mode = MODE_DUMP_MFACC; + global.mode = MODE_DUMP_MFACC; break; case 'r': - mode = MODE_RECHARGE; + global.mode = MODE_RECHARGE; delta = atoi(optarg); break; case 'p': - mode = MODE_PURCHASE; + global.mode = MODE_PURCHASE; delta = atoi(optarg); break; case 'h': @@ -200,7 +203,7 @@ int main(int argc, char **argv) exit(1); } - switch (mode) { + switch (global.mode) { case MODE_DUMP_MFACC: dump_mfcl(global.mft); break; @@ -208,8 +211,10 @@ int main(int argc, char **argv) dump_easycard(global.mft); break; case MODE_RECHARGE: + rc = easy_alter_last_recharge(global.mft, delta); break; case MODE_PURCHASE: + rc = easy_alter_last_purchase(global.mft, delta); break; } |