aboutsummaryrefslogtreecommitdiffstats
path: root/src/sim/sniffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim/sniffer.c')
-rw-r--r--src/sim/sniffer.c298
1 files changed, 149 insertions, 149 deletions
diff --git a/src/sim/sniffer.c b/src/sim/sniffer.c
index 34a2e4c..89684aa 100644
--- a/src/sim/sniffer.c
+++ b/src/sim/sniffer.c
@@ -22,7 +22,7 @@
#include <stdio.h>
#include <string.h>
#include <stdint.h>
-#include "../libdebug/debug.h"
+#include "../liblogging/logging.h"
#include "sim.h"
#include "sniffer.h"
@@ -37,7 +37,7 @@ static void rx_icl_sdu(uint8_t *data, int length)
int i;
if (length < 3) {
- PDEBUG(DSIM7, DEBUG_NOTICE, "Message too short\n");
+ LOGP(DSIM7, LOGL_NOTICE, "Message too short\n");
return;
}
@@ -47,146 +47,146 @@ static void rx_icl_sdu(uint8_t *data, int length)
dlng = *data++;
length -= 3;
- PDEBUG(DSIM7, DEBUG_INFO, "Layer 7:\n");
+ LOGP(DSIM7, LOGL_INFO, "Layer 7:\n");
if (I == 0) {
- PDEBUG(DSIM7, DEBUG_INFO, " I = Command\n");
- PDEBUG(DSIM7, DEBUG_INFO, " CLA = 0x%02x\n", cla_ccrc);
+ LOGP(DSIM7, LOGL_INFO, " I = Command\n");
+ LOGP(DSIM7, LOGL_INFO, " CLA = 0x%02x\n", cla_ccrc);
switch (cla_ccrc) {
case CLA_CNTR:
- PDEBUG(DSIM7, DEBUG_INFO, " -> CNTR (Control Class)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> CNTR (Control Class)\n");
break;
case CLA_STAT:
- PDEBUG(DSIM7, DEBUG_INFO, " -> STAT (Status Class)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> STAT (Status Class)\n");
break;
case CLA_WRTE:
- PDEBUG(DSIM7, DEBUG_INFO, " -> WRTE (Write Class)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> WRTE (Write Class)\n");
break;
case CLA_READ:
- PDEBUG(DSIM7, DEBUG_INFO, " -> READ (Read Class)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> READ (Read Class)\n");
break;
case CLA_EXEC:
- PDEBUG(DSIM7, DEBUG_INFO, " -> EXEC (Execute Class)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> EXEC (Execute Class)\n");
break;
case CLA_AUTO:
- PDEBUG(DSIM7, DEBUG_INFO, " -> AUTO (Authentication Class)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> AUTO (Authentication Class)\n");
break;
default:
- PDEBUG(DSIM7, DEBUG_INFO, " -> unknown class\n");
+ LOGP(DSIM7, LOGL_INFO, " -> unknown class\n");
break;
}
- PDEBUG(DSIM7, DEBUG_INFO, " INS = 0x%02x\n", ins_aprc);
+ LOGP(DSIM7, LOGL_INFO, " INS = 0x%02x\n", ins_aprc);
switch (cla_ccrc) {
case CLA_CNTR:
switch (ins_aprc) {
case SL_APPL:
- PDEBUG(DSIM7, DEBUG_INFO, " -> SL-APPL (Select Application)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> SL-APPL (Select Application)\n");
break;
case CL_APPL:
- PDEBUG(DSIM7, DEBUG_INFO, " -> CL-APPL (Close Application)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> CL-APPL (Close Application)\n");
break;
case SH_APPL:
- PDEBUG(DSIM7, DEBUG_INFO, " -> SH-APPL (Show Application)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> SH-APPL (Show Application)\n");
break;
}
break;
case CLA_STAT:
switch (ins_aprc) {
case CHK_KON:
- PDEBUG(DSIM7, DEBUG_INFO, " -> CHK-KCON (Consistency Check)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> CHK-KCON (Consistency Check)\n");
break;
}
break;
case CLA_WRTE:
switch (ins_aprc) {
case WT_RUFN:
- PDEBUG(DSIM7, DEBUG_INFO, " -> WR-RUFN (Write Rufnummernsatz)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> WR-RUFN (Write Rufnummernsatz)\n");
break;
}
break;
case CLA_READ:
switch (ins_aprc) {
case RD_EBDT:
- PDEBUG(DSIM7, DEBUG_INFO, " -> RD-EBDT (Read Einbuchdaten)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> RD-EBDT (Read Einbuchdaten)\n");
break;
case RD_RUFN:
- PDEBUG(DSIM7, DEBUG_INFO, " -> RD-RUFN (Read Rufnummernsatz)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> RD-RUFN (Read Rufnummernsatz)\n");
break;
case RD_GEBZ:
- PDEBUG(DSIM7, DEBUG_INFO, " -> RD-GEBZ (Read Gebuehrenzaehler)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> RD-GEBZ (Read Gebuehrenzaehler)\n");
break;
}
break;
case CLA_EXEC:
switch (ins_aprc) {
case CHK_PIN:
- PDEBUG(DSIM7, DEBUG_INFO, " -> CHK-PIN (Check PIN)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> CHK-PIN (Check PIN)\n");
break;
case SET_PIN:
- PDEBUG(DSIM7, DEBUG_INFO, " -> SET-PIN (Set PIN)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> SET-PIN (Set PIN)\n");
break;
case EH_GEBZ:
- PDEBUG(DSIM7, DEBUG_INFO, " -> EH-GEBZ (Increment Gebuehrenzaehler)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> EH-GEBZ (Increment Gebuehrenzaehler)\n");
break;
case CL_GEBZ:
- PDEBUG(DSIM7, DEBUG_INFO, " -> CL-GEBZ (Clear Gebuehrenzaehler)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> CL-GEBZ (Clear Gebuehrenzaehler)\n");
break;
}
break;
case CLA_AUTO:
switch (ins_aprc) {
case AUT_1:
- PDEBUG(DSIM7, DEBUG_INFO, " -> AUTO-1 (Authorization)\n");
+ LOGP(DSIM7, LOGL_INFO, " -> AUTO-1 (Authorization)\n");
break;
}
break;
}
} else {
- PDEBUG(DSIM7, DEBUG_INFO, " I = Response\n");
- PDEBUG(DSIM7, DEBUG_INFO, " CCRC = 0x%02x\n", cla_ccrc);
+ LOGP(DSIM7, LOGL_INFO, " I = Response\n");
+ LOGP(DSIM7, LOGL_INFO, " CCRC = 0x%02x\n", cla_ccrc);
if (cla_ccrc & CCRC_PIN_NOK)
- PDEBUG(DSIM7, DEBUG_INFO, " -> PIN-NOT-OK\n");
+ LOGP(DSIM7, LOGL_INFO, " -> PIN-NOT-OK\n");
if (cla_ccrc & CCRC_AFBZ_NULL)
- PDEBUG(DSIM7, DEBUG_INFO, " -> AFBZ = NULL\n");
+ LOGP(DSIM7, LOGL_INFO, " -> AFBZ = NULL\n");
if (cla_ccrc & CCRC_APRC_VALID)
- PDEBUG(DSIM7, DEBUG_INFO, " -> APRC valid\n");
+ LOGP(DSIM7, LOGL_INFO, " -> APRC valid\n");
if (cla_ccrc & 0x08)
- PDEBUG(DSIM7, DEBUG_INFO, " -> reserved\n");
+ LOGP(DSIM7, LOGL_INFO, " -> reserved\n");
if (cla_ccrc & 0x10)
- PDEBUG(DSIM7, DEBUG_INFO, " -> reserved\n");
+ LOGP(DSIM7, LOGL_INFO, " -> reserved\n");
if (cla_ccrc & 0x20)
- PDEBUG(DSIM7, DEBUG_INFO, " -> reserved\n");
+ LOGP(DSIM7, LOGL_INFO, " -> reserved\n");
if (cla_ccrc & CCRC_ERROR)
- PDEBUG(DSIM7, DEBUG_INFO, " -> GENERAL ERROR\n");
- PDEBUG(DSIM7, DEBUG_INFO, " APRC = 0x%02x\n", ins_aprc);
+ LOGP(DSIM7, LOGL_INFO, " -> GENERAL ERROR\n");
+ LOGP(DSIM7, LOGL_INFO, " APRC = 0x%02x\n", ins_aprc);
if (ins_aprc & APRC_PIN_REQ)
- PDEBUG(DSIM7, DEBUG_INFO, " -> Bit 2 = 1:PIN-Check required\n");
+ LOGP(DSIM7, LOGL_INFO, " -> Bit 2 = 1:PIN-Check required\n");
else
- PDEBUG(DSIM7, DEBUG_INFO, " -> Bit 2 = 0:PIN-Check not required\n");
+ LOGP(DSIM7, LOGL_INFO, " -> Bit 2 = 0:PIN-Check not required\n");
if (ins_aprc & APRC_APP_LOCKED)
- PDEBUG(DSIM7, DEBUG_INFO, " -> Bit 3 = 1:Application locked\n");
+ LOGP(DSIM7, LOGL_INFO, " -> Bit 3 = 1:Application locked\n");
else
- PDEBUG(DSIM7, DEBUG_INFO, " -> Bit 3 = 0:Application unlocked\n");
+ LOGP(DSIM7, LOGL_INFO, " -> Bit 3 = 0:Application unlocked\n");
if (ins_aprc & APRC_GEBZ_LOCK)
- PDEBUG(DSIM7, DEBUG_INFO, " -> Bit 5 = 1:GEBZ/RUFN locked\n");
+ LOGP(DSIM7, LOGL_INFO, " -> Bit 5 = 1:GEBZ/RUFN locked\n");
else
- PDEBUG(DSIM7, DEBUG_INFO, " -> Bit 5 = 0:GEBZ/RUFN unlocked\n");
+ LOGP(DSIM7, LOGL_INFO, " -> Bit 5 = 0:GEBZ/RUFN unlocked\n");
if (ins_aprc & APRC_GEBZ_FULL)
- PDEBUG(DSIM7, DEBUG_INFO, " -> Bit 6 = 1:GEBZ full\n");
+ LOGP(DSIM7, LOGL_INFO, " -> Bit 6 = 1:GEBZ full\n");
else
- PDEBUG(DSIM7, DEBUG_INFO, " -> Bit 6 = 0:GEBZ not full\n");
+ LOGP(DSIM7, LOGL_INFO, " -> Bit 6 = 0:GEBZ not full\n");
}
if (dlng == 255) {
- PDEBUG(DSIM7, DEBUG_NOTICE, " Unsupported length 255!\n");
+ LOGP(DSIM7, LOGL_NOTICE, " Unsupported length 255!\n");
return;
}
- PDEBUG(DSIM7, DEBUG_INFO, " DLNG = %d\n", dlng);
+ LOGP(DSIM7, LOGL_INFO, " DLNG = %d\n", dlng);
if (dlng != length) {
- PDEBUG(DSIM7, DEBUG_NOTICE, " DLNG does not match message body!\n");
+ LOGP(DSIM7, LOGL_NOTICE, " DLNG does not match message body!\n");
return;
}
for (i = 0; i < length; i++) {
- PDEBUG(DSIM7, DEBUG_INFO, " DATA(%d) = 0x%02x '%c' %d\n", i, data[i], (data[i] >= 32 && data[i] <= 126) ? data[i] : '.', data[i]);
+ LOGP(DSIM7, LOGL_INFO, " DATA(%d) = 0x%02x '%c' %d\n", i, data[i], (data[i] >= 32 && data[i] <= 126) ? data[i] : '.', data[i]);
}
}
@@ -198,43 +198,43 @@ static void rx_icl_pdu(uint8_t *data, int length)
if (ext) {
if (length < 1) {
- PDEBUG(DSIMI, DEBUG_NOTICE, "Message too short\n");
+ LOGP(DSIMI, LOGL_NOTICE, "Message too short\n");
return;
}
- PDEBUG(DSIMI, DEBUG_INFO, "Interface control layer ICB1:\n");
+ LOGP(DSIMI, LOGL_INFO, "Interface control layer ICB1:\n");
if (*data & ICB1_ONLINE)
- PDEBUG(DSIMI, DEBUG_INFO, " ON-LINE-BIT: 1 = On-line data\n");
+ LOGP(DSIMI, LOGL_INFO, " ON-LINE-BIT: 1 = On-line data\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " ON-LINE-BIT: 0 = Off-line data\n");
+ LOGP(DSIMI, LOGL_INFO, " ON-LINE-BIT: 0 = Off-line data\n");
if (*data & ICB1_CONFIRM)
- PDEBUG(DSIMI, DEBUG_INFO, " CONFIRM-BIT: 1 = Confirmation\n");
+ LOGP(DSIMI, LOGL_INFO, " CONFIRM-BIT: 1 = Confirmation\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " CONFIRM-BIT: 0 = No meaning\n");
+ LOGP(DSIMI, LOGL_INFO, " CONFIRM-BIT: 0 = No meaning\n");
if (*data & ICB1_MASTER)
- PDEBUG(DSIMI, DEBUG_INFO, " MASTER/SLAVE-BIT: 1 = Sender is master\n");
+ LOGP(DSIMI, LOGL_INFO, " MASTER/SLAVE-BIT: 1 = Sender is master\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " MASTER/SLAVE-BIT: 0 = Sender is slave\n");
+ LOGP(DSIMI, LOGL_INFO, " MASTER/SLAVE-BIT: 0 = Sender is slave\n");
if (*data & ICB1_WT_EXT)
- PDEBUG(DSIMI, DEBUG_INFO, " WT-EXTENSION-BIT: 1 = Request for WT-Extension\n");
+ LOGP(DSIMI, LOGL_INFO, " WT-EXTENSION-BIT: 1 = Request for WT-Extension\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " WT-EXTENSION-BIT: 0 = No request for WT-Extension\n");
+ LOGP(DSIMI, LOGL_INFO, " WT-EXTENSION-BIT: 0 = No request for WT-Extension\n");
if (*data & ICB1_ABORT)
- PDEBUG(DSIMI, DEBUG_INFO, " ABORT/TERMINATE-BIT: 1 = Abort/Terminate request\n");
+ LOGP(DSIMI, LOGL_INFO, " ABORT/TERMINATE-BIT: 1 = Abort/Terminate request\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " ABORT/TERMINATE-BIT: 0 = No meaning\n");
+ LOGP(DSIMI, LOGL_INFO, " ABORT/TERMINATE-BIT: 0 = No meaning\n");
if (*data & ICB1_ERROR)
- PDEBUG(DSIMI, DEBUG_INFO, " ERROR-BIT: 1 = Error\n");
+ LOGP(DSIMI, LOGL_INFO, " ERROR-BIT: 1 = Error\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " ERROR-BIT: 0 = No meaning\n");
+ LOGP(DSIMI, LOGL_INFO, " ERROR-BIT: 0 = No meaning\n");
if (*data & ICB1_CHAINING)
- PDEBUG(DSIMI, DEBUG_INFO, " CHAINING-BIT: 1 = More ICL data follows\n");
+ LOGP(DSIMI, LOGL_INFO, " CHAINING-BIT: 1 = More ICL data follows\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " CHAINING-BIT: 0 = No more ICL data follows\n");
+ LOGP(DSIMI, LOGL_INFO, " CHAINING-BIT: 0 = No more ICL data follows\n");
if (*data & ICB_EXT)
- PDEBUG(DSIMI, DEBUG_INFO, " ICB-EXTENSION-BIT: 1 = ICB2 follows\n");
+ LOGP(DSIMI, LOGL_INFO, " ICB-EXTENSION-BIT: 1 = ICB2 follows\n");
else {
- PDEBUG(DSIMI, DEBUG_INFO, " ICB-EXTENSION-BIT: 0 = no ICB follows\n");
+ LOGP(DSIMI, LOGL_INFO, " ICB-EXTENSION-BIT: 0 = no ICB follows\n");
ext = 0;
}
data++;
@@ -243,27 +243,27 @@ static void rx_icl_pdu(uint8_t *data, int length)
if (ext) {
if (length < 1) {
- PDEBUG(DSIMI, DEBUG_NOTICE, "Message too short\n");
+ LOGP(DSIMI, LOGL_NOTICE, "Message too short\n");
return;
}
- PDEBUG(DSIMI, DEBUG_INFO, "Interface control layer ICB2:\n");
+ LOGP(DSIMI, LOGL_INFO, "Interface control layer ICB2:\n");
if (*data & ICB2_DYNAMIC)
- PDEBUG(DSIMI, DEBUG_INFO, " DYN-BUFFER-SIZE-BIT: 1 = Buffer size %d\n", (*data & ICB2_BUFFER) * 8);
+ LOGP(DSIMI, LOGL_INFO, " DYN-BUFFER-SIZE-BIT: 1 = Buffer size %d\n", (*data & ICB2_BUFFER) * 8);
else
- PDEBUG(DSIMI, DEBUG_INFO, " DYN-BUFFER-SIZE-BIT: 0 = No meaning\n");
+ LOGP(DSIMI, LOGL_INFO, " DYN-BUFFER-SIZE-BIT: 0 = No meaning\n");
if (*data & ICB2_ISO_L2)
- PDEBUG(DSIMI, DEBUG_INFO, " ISO-7816-BLOCK-BIT: 1 = Compatible\n");
+ LOGP(DSIMI, LOGL_INFO, " ISO-7816-BLOCK-BIT: 1 = Compatible\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " ISO-7816-BLOCK-BIT: 0 = Incompatible\n");
+ LOGP(DSIMI, LOGL_INFO, " ISO-7816-BLOCK-BIT: 0 = Incompatible\n");
if (*data & ICB2_PRIVATE)
- PDEBUG(DSIMI, DEBUG_INFO, " PRIVATE-USE-BIT: 1 = Private use layer 7 protocol\n");
+ LOGP(DSIMI, LOGL_INFO, " PRIVATE-USE-BIT: 1 = Private use layer 7 protocol\n");
else
- PDEBUG(DSIMI, DEBUG_INFO, " PRIVATE-USE-BIT: 0 = No meaning\n");
+ LOGP(DSIMI, LOGL_INFO, " PRIVATE-USE-BIT: 0 = No meaning\n");
if (*data & ICB_EXT)
- PDEBUG(DSIMI, DEBUG_INFO, " ICB-EXTENSION-BIT: 1 = ICB3 follows\n");
+ LOGP(DSIMI, LOGL_INFO, " ICB-EXTENSION-BIT: 1 = ICB3 follows\n");
else {
- PDEBUG(DSIMI, DEBUG_INFO, " ICB-EXTENSION-BIT: 0 = no ICB follows\n");
+ LOGP(DSIMI, LOGL_INFO, " ICB-EXTENSION-BIT: 0 = no ICB follows\n");
ext = 0;
}
data++;
@@ -273,12 +273,12 @@ static void rx_icl_pdu(uint8_t *data, int length)
icb_count = 2;
while (ext) {
if (length < 1) {
- PDEBUG(DSIMI, DEBUG_NOTICE, "Message too short\n");
+ LOGP(DSIMI, LOGL_NOTICE, "Message too short\n");
return;
}
- PDEBUG(DSIMI, DEBUG_INFO, "Interface control layer ICB%d:\n", ++icb_count);
- PDEBUG(DSIMI, DEBUG_INFO, " Value: 0x%02x\n", *data);
+ LOGP(DSIMI, LOGL_INFO, "Interface control layer ICB%d:\n", ++icb_count);
+ LOGP(DSIMI, LOGL_INFO, " Value: 0x%02x\n", *data);
if (!(*data & 0x80))
ext = 0;
data++;
@@ -301,7 +301,7 @@ static uint8_t flip(uint8_t c)
void sniffer_reset(sim_sniffer_t *sim)
{
- PDEBUG(DSIM1, DEBUG_INFO, "Resetting sniffer\n");
+ LOGP(DSIM1, LOGL_INFO, "Resetting sniffer\n");
memset(sim, 0, sizeof(*sim));
}
@@ -380,47 +380,47 @@ static void decode_ta1(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, in
}
if (fi > 0)
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d Fi = %d, f(max.) = %.1f MHz\n", count, fi, fmax);
+ LOGP(DSIM2, LOGL_INFO, " TA%d Fi = %d, f(max.) = %.1f MHz\n", count, fi, fmax);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d Fi = RFU\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d Fi = RFU\n", count);
if (di > 0)
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d Di = %d\n", count, di);
+ LOGP(DSIM2, LOGL_INFO, " TA%d Di = %d\n", count, di);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d Di = RFU\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d Di = RFU\n", count);
}
static void decode_ta2(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, int count)
{
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d T = %d\n", count, c & 0xf);
+ LOGP(DSIM2, LOGL_INFO, " TA%d T = %d\n", count, c & 0xf);
if (!(c & 0x10))
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d : Fi and Di by TA1 shall apply.\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d : Fi and Di by TA1 shall apply.\n", count);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d : Implicit values (and not Di / Di by TA1) sall apply.\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d : Implicit values (and not Di / Di by TA1) sall apply.\n", count);
if (!(c & 0x80))
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d : Capable to change negotiable/specific mode.\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d : Capable to change negotiable/specific mode.\n", count);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d : Unable to change negotiable/specific mode.\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d : Unable to change negotiable/specific mode.\n", count);
}
static void decode_tai(sim_sniffer_t *sim, uint8_t c, int count)
{
if ((sim->atr_td & 0xf) != 14) {
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d Value = 0x%02x\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TA%d Value = 0x%02x\n", count, c);
return;
}
if (count == 3) {
switch (c & 0xf) {
case 0:
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d fsmin = Default\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d fsmin = Default\n", count);
break;
case 1:
case 2:
case 3:
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d fsmin = %d MHz\n", count, c & 0xf);
+ LOGP(DSIM2, LOGL_INFO, " TA%d fsmin = %d MHz\n", count, c & 0xf);
break;
default:
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d fsmin = reserved\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d fsmin = reserved\n", count);
break;
}
@@ -429,110 +429,110 @@ static void decode_tai(sim_sniffer_t *sim, uint8_t c, int count)
case 1:
case 2:
case 3:
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d fsmax = reserved\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d fsmax = reserved\n", count);
break;
case 5:
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d fsmax = 5 MHz (Default)\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TA%d fsmax = 5 MHz (Default)\n", count);
break;
default:
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d fsmax = %d MHz\n", count, c >> 4);
+ LOGP(DSIM2, LOGL_INFO, " TA%d fsmax = %d MHz\n", count, c >> 4);
break;
}
} else {
- PDEBUG(DSIM2, DEBUG_INFO, " TA%d Block Waiting Time = %d\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TA%d Block Waiting Time = %d\n", count, c);
}
}
static void decode_tb1(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, int count)
{
if ((c & 0x1f) == 0)
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d PI1=0: VPP not connected\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d PI1=0: VPP not connected\n", count);
else if ((c & 0x1f) == 5)
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d PI1=5: VPP is 5 Volts (default)\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d PI1=5: VPP is 5 Volts (default)\n", count);
else if ((c & 0x1f) >= 6 && (c & 0x1f) <= 25)
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d PI1=%d: VPP is %d Volts\n", count, c & 0x1f, (c & 0x1f) - 1);
+ LOGP(DSIM2, LOGL_INFO, " TB%d PI1=%d: VPP is %d Volts\n", count, c & 0x1f, (c & 0x1f) - 1);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d PI1=%d: not defined\n", count, c & 0x1f);
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d II = %d\n", count, (c >> 5) & 0x3);
+ LOGP(DSIM2, LOGL_INFO, " TB%d PI1=%d: not defined\n", count, c & 0x1f);
+ LOGP(DSIM2, LOGL_INFO, " TB%d II = %d\n", count, (c >> 5) & 0x3);
}
static void decode_tb2(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, int count)
{
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d Value = 0x%02x\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TB%d Value = 0x%02x\n", count, c);
}
static void decode_tbi(sim_sniffer_t *sim, uint8_t c, int count)
{
if ((sim->atr_td & 0xf) != 14) {
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d Value = 0x%02x\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TB%d Value = 0x%02x\n", count, c);
return;
}
if (count == 3) {
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d Maximum block size = %d\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TB%d Maximum block size = %d\n", count, c);
} else {
if (!(c & 0x01))
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d XOR Checksum\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d XOR Checksum\n", count);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d CRC Checksum\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d CRC Checksum\n", count);
if (!(c & 0x02))
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d 12-etu frame\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d 12-etu frame\n", count);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d 11-etu frame\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d 11-etu frame\n", count);
if (!(c & 0x04))
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d No Chaining in ICL-Layer-Protocol\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d No Chaining in ICL-Layer-Protocol\n", count);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d Chaining in ICL-Layer-Protocol\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d Chaining in ICL-Layer-Protocol\n", count);
if (!(c & 0x08))
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d Incompatible to ISO 7816 (Character Protocol)\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d Incompatible to ISO 7816 (Character Protocol)\n", count);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d Compatible to ISO 7816 (Character Protocol)\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d Compatible to ISO 7816 (Character Protocol)\n", count);
if (!(c & 0x10))
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d No private in ICL-Layer-Protocol\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d No private in ICL-Layer-Protocol\n", count);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d Private in ICL-Layer-Protocol\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d Private in ICL-Layer-Protocol\n", count);
if (!(c & 0x20))
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d No ICB-Extension in ICL-Layer-Protocol\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d No ICB-Extension in ICL-Layer-Protocol\n", count);
else
- PDEBUG(DSIM2, DEBUG_INFO, " TB%d ICB-Extension in ICL-Layer-Protocol\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TB%d ICB-Extension in ICL-Layer-Protocol\n", count);
}
}
static void decode_tc1(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, int count)
{
- PDEBUG(DSIM2, DEBUG_INFO, " TC%d N = %d\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TC%d N = %d\n", count, c);
}
static void decode_tc2(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, int count)
{
- PDEBUG(DSIM2, DEBUG_INFO, " TC%d Value = 0x%02x\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TC%d Value = 0x%02x\n", count, c);
}
static void decode_tci(sim_sniffer_t *sim, uint8_t c, int count)
{
if ((sim->atr_td & 0xf) != 14) {
- PDEBUG(DSIM2, DEBUG_INFO, " TC%d Value = 0x%02x\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TC%d Value = 0x%02x\n", count, c);
return;
}
- PDEBUG(DSIM2, DEBUG_INFO, " TC%d Character Waiting Time = %d\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " TC%d Character Waiting Time = %d\n", count, c);
}
static void decode_td(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, int count)
{
switch (c & 0xf) {
case 0:
- PDEBUG(DSIM2, DEBUG_INFO, " TD%d T=1: Half-duplex transmission of characters (ISO 7816).\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TD%d T=1: Half-duplex transmission of characters (ISO 7816).\n", count);
break;
case 1:
- PDEBUG(DSIM2, DEBUG_INFO, " TD%d T=1: Half-duplex transmission of blocks (ISO 7816).\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TD%d T=1: Half-duplex transmission of blocks (ISO 7816).\n", count);
break;
case 2:
case 3:
- PDEBUG(DSIM2, DEBUG_INFO, " TD%d T=%d: Reserved for future full-duplex operations.\n", count, c & 0xf);
+ LOGP(DSIM2, LOGL_INFO, " TD%d T=%d: Reserved for future full-duplex operations.\n", count, c & 0xf);
break;
case 4:
- PDEBUG(DSIM2, DEBUG_INFO, " TD%d T=4: Reserved for an enhanced half-duplex transmission of characters.\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TD%d T=4: Reserved for an enhanced half-duplex transmission of characters.\n", count);
break;
case 5:
case 6:
@@ -543,13 +543,13 @@ static void decode_td(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, int
case 11:
case 12:
case 13:
- PDEBUG(DSIM2, DEBUG_INFO, " TD%d T=%d: Reserved for future use by ISO/IEC JTC 1/SC 17.\n", count, c & 0xf);
+ LOGP(DSIM2, LOGL_INFO, " TD%d T=%d: Reserved for future use by ISO/IEC JTC 1/SC 17.\n", count, c & 0xf);
break;
case 14:
- PDEBUG(DSIM2, DEBUG_INFO, " TD%d T=14: Refers to transmission protocols not standardized by ISO/IEC JTC 1/SC 17.\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TD%d T=14: Refers to transmission protocols not standardized by ISO/IEC JTC 1/SC 17.\n", count);
break;
case 15:
- PDEBUG(DSIM2, DEBUG_INFO, " TD%d T=15: Does not refer to a transmission protocol, but only qualifies global interface bytes.\n", count);
+ LOGP(DSIM2, LOGL_INFO, " TD%d T=15: Does not refer to a transmission protocol, but only qualifies global interface bytes.\n", count);
break;
}
}
@@ -589,26 +589,26 @@ static void decode_if(sim_sniffer_t *sim, int count)
}
if ((sim->atr_td >> 4))
- PDEBUG(DSIM2, DEBUG_INFO, "----------------------------------------\n");
+ LOGP(DSIM2, LOGL_INFO, "----------------------------------------\n");
}
static void decode_hist(sim_sniffer_t __attribute__((unused)) *sim, uint8_t c, int count)
{
- PDEBUG(DSIM2, DEBUG_INFO, " History byte #%d: 0x%02x\n", count, c);
+ LOGP(DSIM2, LOGL_INFO, " History byte #%d: 0x%02x\n", count, c);
}
static void rx_atr(sim_sniffer_t *sim, uint8_t c)
{
/* TS */
if (sim->atr_count == 0) {
- PDEBUG(DSIM1, DEBUG_INFO, "----------------------------------------\n");
+ LOGP(DSIM1, LOGL_INFO, "----------------------------------------\n");
switch (c) {
case 0x3f:
- PDEBUG(DSIM2, DEBUG_INFO, "Reading ATR inverse bit order:\n");
+ LOGP(DSIM2, LOGL_INFO, "Reading ATR inverse bit order:\n");
sim->inverse_order = 1;
break;
case 0x3b:
- PDEBUG(DSIM2, DEBUG_INFO, "Reading ATR normal bit order:\n");
+ LOGP(DSIM2, LOGL_INFO, "Reading ATR normal bit order:\n");
sim->inverse_order = 0;
break;
default:
@@ -689,14 +689,14 @@ static void rx_atr(sim_sniffer_t *sim, uint8_t c)
}
if (sim->atr_tck == 0)
- PDEBUG(DSIM2, DEBUG_INFO, " Checksum 0x%02x ok.\n", c);
+ LOGP(DSIM2, LOGL_INFO, " Checksum 0x%02x ok.\n", c);
else
- PDEBUG(DSIM2, DEBUG_NOTICE, " Checksum 0x%02x error!\n", c);
+ LOGP(DSIM2, LOGL_NOTICE, " Checksum 0x%02x error!\n", c);
sim->l1_state = L1_STATE_RECEIVE;
sim->block_state = BLOCK_STATE_ADDRESS;
- PDEBUG(DSIM2, DEBUG_INFO, "ATR done!\n");
+ LOGP(DSIM2, LOGL_INFO, "ATR done!\n");
}
static void rx_char(sim_sniffer_t *sim, uint8_t c)
@@ -714,7 +714,7 @@ static void rx_char(sim_sniffer_t *sim, uint8_t c)
sniffer_rx(sim, c);
return;
}
- PDEBUG(DSIM1, DEBUG_INFO, "----------------------------------------\n");
+ LOGP(DSIM1, LOGL_INFO, "----------------------------------------\n");
sim->block_address = c;
sim->block_state = BLOCK_STATE_CONTROL;
sim->block_checksum = c;
@@ -733,17 +733,17 @@ static void rx_char(sim_sniffer_t *sim, uint8_t c)
sim->block_data[sim->block_count++] = c;
return;
}
- PDEBUG(DSIM2, DEBUG_INFO, "Layer 2:\n");
- PDEBUG(DSIM2, DEBUG_INFO, " source %d -> to %d\n", sim->block_address >> 4, sim->block_address & 0xf);
+ LOGP(DSIM2, LOGL_INFO, "Layer 2:\n");
+ LOGP(DSIM2, LOGL_INFO, " source %d -> to %d\n", sim->block_address >> 4, sim->block_address & 0xf);
if ((sim->block_control & 0x11) == 0x00)
- PDEBUG(DSIM2, DEBUG_INFO, " control I: N(S)=%d N(R)=%d\n", (sim->block_control >> 1) & 7, sim->block_control >> 5);
+ LOGP(DSIM2, LOGL_INFO, " control I: N(S)=%d N(R)=%d\n", (sim->block_control >> 1) & 7, sim->block_control >> 5);
else if ((sim->block_control & 0x1f) == 0x09)
- PDEBUG(DSIM2, DEBUG_INFO, " control REJ: N(R)=%d\n", sim->block_control >> 5);
+ LOGP(DSIM2, LOGL_INFO, " control REJ: N(R)=%d\n", sim->block_control >> 5);
else if (sim->block_control == 0xef)
- PDEBUG(DSIM2, DEBUG_INFO, " control RES\n");
+ LOGP(DSIM2, LOGL_INFO, " control RES\n");
else
- PDEBUG(DSIM2, DEBUG_INFO, " control unknown 0x%02x\n", sim->block_control);
- PDEBUG(DSIM2, DEBUG_INFO, " length %d\n", sim->block_length);
+ LOGP(DSIM2, LOGL_INFO, " control unknown 0x%02x\n", sim->block_control);
+ LOGP(DSIM2, LOGL_INFO, " length %d\n", sim->block_length);
if (sim->block_checksum == 0) {
FILE *fp;
if (write_pdu_file && (fp = fopen(write_pdu_file, "a"))) {
@@ -756,7 +756,7 @@ static void rx_char(sim_sniffer_t *sim, uint8_t c)
}
rx_icl_pdu(sim->block_data, sim->block_length);
} else
- PDEBUG(DSIM2, DEBUG_NOTICE, "Received message with checksum error!\n");
+ LOGP(DSIM2, LOGL_NOTICE, "Received message with checksum error!\n");
sim->block_state = BLOCK_STATE_ADDRESS;
}
}
@@ -764,12 +764,12 @@ static void rx_char(sim_sniffer_t *sim, uint8_t c)
void sniffer_rx(sim_sniffer_t *sim, uint8_t c)
{
- PDEBUG(DSIM1, DEBUG_DEBUG, "Serial RX '0x%02x'\n", c);
+ LOGP(DSIM1, LOGL_DEBUG, "Serial RX '0x%02x'\n", c);
switch (sim->l1_state) {
case L1_STATE_RESET:
if (c != 0x3f && c != 0x3b) {
- PDEBUG(DSIM1, DEBUG_INFO, "Received garbage '0x%02x' while waiting for ATR\n", c);
+ LOGP(DSIM1, LOGL_INFO, "Received garbage '0x%02x' while waiting for ATR\n", c);
break;
}
sim->l1_state = L1_STATE_ATR;
@@ -792,13 +792,13 @@ void sniffer_timeout(sim_sniffer_t *sim)
case L1_STATE_RESET:
case L1_STATE_ATR:
if (sim->l1_state == L1_STATE_ATR && sim->atr_count)
- PDEBUG(DSIM1, DEBUG_NOTICE, "Timeout while receiving ATR!\n");
+ LOGP(DSIM1, LOGL_NOTICE, "Timeout while receiving ATR!\n");
sim->l1_state = L1_STATE_ATR;
sim->atr_count = 0;
break;
case L1_STATE_RECEIVE:
if (sim->block_state != BLOCK_STATE_ADDRESS)
- PDEBUG(DSIM1, DEBUG_NOTICE, "Timeout while receiving message!\n");
+ LOGP(DSIM1, LOGL_NOTICE, "Timeout while receiving message!\n");
sim->block_state = BLOCK_STATE_ADDRESS;
break;
default: