summaryrefslogtreecommitdiff
path: root/easytool
diff options
context:
space:
mode:
Diffstat (limited to 'easytool')
-rw-r--r--easytool/easytool.c33
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;
}
personal git repositories of Harald Welte. Your mileage may vary