mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-22 14:13:42 -07:00
simplified
This commit is contained in:
parent
bd3008d113
commit
19e0a384ea
2 changed files with 24 additions and 23 deletions
|
@ -15,9 +15,10 @@
|
||||||
#define arg_param_begin arg_lit0("hH", "help", "print this help and exit")
|
#define arg_param_begin arg_lit0("hH", "help", "print this help and exit")
|
||||||
#define arg_param_end arg_end(20)
|
#define arg_param_end arg_end(20)
|
||||||
|
|
||||||
#define arg_get_lit(n)(((struct arg_lit*)argtable[n]))
|
#define arg_getsize(a) (sizeof(a) / sizeof(a[0]))
|
||||||
#define arg_get_str(n)(((struct arg_str*)argtable[n]))
|
#define arg_get_lit(n)(((struct arg_lit*)argtable[n])->count)
|
||||||
#define arg_get_int(n)(((struct arg_int*)argtable[n]))
|
#define arg_get_int(n)(((struct arg_int*)argtable[n])->ival[0])
|
||||||
|
#define arg_get_str(n)((struct arg_str*)argtable[n])
|
||||||
|
|
||||||
extern int CLIParserInit(char *vprogramName, char *vprogramHint, char *vprogramHelp);
|
extern int CLIParserInit(char *vprogramName, char *vprogramHint, char *vprogramHelp);
|
||||||
extern int CLIParserParseString(const char* str, void* argtable[], size_t vargtableLen, bool allowEmptyExec);
|
extern int CLIParserParseString(const char* str, void* argtable[], size_t vargtableLen, bool allowEmptyExec);
|
||||||
|
|
|
@ -143,16 +143,16 @@ int CmdHF14AReader(const char *Cmd) {
|
||||||
arg_lit0("3", NULL, "ISO14443-3 select only (skip RATS)"),
|
arg_lit0("3", NULL, "ISO14443-3 select only (skip RATS)"),
|
||||||
arg_param_end
|
arg_param_end
|
||||||
};
|
};
|
||||||
if (CLIParserParseString(Cmd, argtable, sizeof(argtable) / sizeof(argtable[0]), true)){
|
if (CLIParserParseString(Cmd, argtable, arg_getsize(argtable), true)){
|
||||||
CLIParserFree();
|
CLIParserFree();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
leaveSignalON = arg_get_lit(1)->count;
|
leaveSignalON = arg_get_lit(1);
|
||||||
if (arg_get_lit(2)->count) {
|
if (arg_get_lit(2)) {
|
||||||
cm = cm - ISO14A_CONNECT;
|
cm = cm - ISO14A_CONNECT;
|
||||||
}
|
}
|
||||||
if (arg_get_lit(3)->count) {
|
if (arg_get_lit(3)) {
|
||||||
cm |= ISO14A_NO_RATS;
|
cm |= ISO14A_NO_RATS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -738,15 +738,15 @@ int CmdHF14AAPDU(const char *cmd) {
|
||||||
arg_str1(NULL, NULL, "<APDU (hex)>", NULL),
|
arg_str1(NULL, NULL, "<APDU (hex)>", NULL),
|
||||||
arg_param_end
|
arg_param_end
|
||||||
};
|
};
|
||||||
if (CLIParserParseString(cmd, argtable, sizeof(argtable) / sizeof(argtable[0]), false)){
|
if (CLIParserParseString(cmd, argtable, arg_getsize(argtable), false)){
|
||||||
CLIParserFree();
|
CLIParserFree();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
activateField = arg_get_lit(1)->count;
|
activateField = arg_get_lit(1);
|
||||||
leaveSignalON = arg_get_lit(2)->count;
|
leaveSignalON = arg_get_lit(2);
|
||||||
decodeTLV = arg_get_lit(3)->count;
|
decodeTLV = arg_get_lit(3);
|
||||||
// len = data + PCB(1b) + CRC(2b)
|
// len = data + PCB(1b) + CRC(2b)
|
||||||
if (CLIParamHexToBuf(arg_get_str(4), data, sizeof(data) - 1 -2, &datalen)) {
|
if (CLIParamHexToBuf(arg_get_str(4), data, sizeof(data) - 1 -2, &datalen)) {
|
||||||
CLIParserFree();
|
CLIParserFree();
|
||||||
|
@ -811,24 +811,24 @@ int CmdHF14ACmdRaw(const char *cmd) {
|
||||||
arg_param_end
|
arg_param_end
|
||||||
};
|
};
|
||||||
// defaults
|
// defaults
|
||||||
arg_get_int(6)->ival[0] = 0;
|
arg_get_int(6) = 0;
|
||||||
arg_get_int(7)->ival[0] = 0;
|
arg_get_int(7) = 0;
|
||||||
|
|
||||||
if (CLIParserParseString(cmd, argtable, sizeof(argtable) / sizeof(argtable[0]), false)){
|
if (CLIParserParseString(cmd, argtable, arg_getsize(argtable), false)){
|
||||||
CLIParserFree();
|
CLIParserFree();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
reply = !arg_get_lit(1)->count;
|
reply = !arg_get_lit(1);
|
||||||
crc = arg_get_lit(2)->count;
|
crc = arg_get_lit(2);
|
||||||
power = arg_get_lit(3)->count;
|
power = arg_get_lit(3);
|
||||||
active = arg_get_lit(4)->count;
|
active = arg_get_lit(4);
|
||||||
active_select = arg_get_lit(5)->count;
|
active_select = arg_get_lit(5);
|
||||||
numbits = arg_get_int(6)->ival[0] & 0xFFFF;
|
numbits = arg_get_int(6) & 0xFFFF;
|
||||||
timeout = arg_get_int(7)->ival[0];
|
timeout = arg_get_int(7);
|
||||||
bTimeout = (timeout > 0);
|
bTimeout = (timeout > 0);
|
||||||
topazmode = arg_get_lit(8)->count;
|
topazmode = arg_get_lit(8);
|
||||||
no_rats = arg_get_lit(9)->count;
|
no_rats = arg_get_lit(9);
|
||||||
// len = data + CRC(2b)
|
// len = data + CRC(2b)
|
||||||
if (CLIParamHexToBuf(arg_get_str(10), data, sizeof(data) -2, &datalen)) {
|
if (CLIParamHexToBuf(arg_get_str(10), data, sizeof(data) -2, &datalen)) {
|
||||||
CLIParserFree();
|
CLIParserFree();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue