Make librfid-tool print out the ATS in case of success with a T=CL card
authorHenryk Ploetz <ploetz@informatik.hu-berlin.de>
Sat, 2 Feb 2008 17:13:59 +0000 (17:13 +0000)
committerHenryk Ploetz <ploetz@informatik.hu-berlin.de>
Sat, 2 Feb 2008 17:13:59 +0000 (17:13 +0000)
git-svn-id: https://svn.gnumonks.org/trunk/librfid@2065 e0336214-984f-0b4b-a45f-81c69e1f0ede

utils/librfid-tool.c

index 449cb4c..eae9025 100644 (file)
@@ -42,6 +42,7 @@
 #include <librfid/rfid_protocol_mifare_ul.h>
 #include <librfid/rfid_protocol_tagit.h>
 #include <librfid/rfid_protocol_icode.h>
+#include <librfid/rfid_protocol_tcl.h>
 
 #include "librfid-tool.h"
 
@@ -332,6 +333,8 @@ static int do_scan(int first)
        int rc;
        unsigned int size;
        unsigned int size_len = sizeof(size);
+       char *data;
+       unsigned int data_len;
 
        if (first) {
                unsigned int opt;
@@ -363,6 +366,20 @@ static int do_scan(int first)
                if (rfid_protocol_getopt(ph, RFID_OPT_PROTO_SIZE, 
                                         &size, &size_len) == 0)
                        printf("Size: %u bytes\n", size);
+               size_len = sizeof(size);
+               size = 0;
+               if (rfid_protocol_getopt(ph, RFID_OPT_P_TCL_ATS_LEN,
+                                        &size, &size_len) == 0) {
+                       data_len = size + 1;
+                       data = malloc(data_len);
+                       if (data) {
+                               if (rfid_protocol_getopt(ph, RFID_OPT_P_TCL_ATS,
+                                                        data, &data_len) == 0) {
+                                       printf("Got ATS of %u bytes: %s\n", size,
+                                              hexdump(data, data_len));
+                               }
+                       }
+               }
        }
 
        return rc;