remove autogenerated file
[librfid] / src / rfid_layer2_iso14443a.c
index 281f709..98722f5 100644 (file)
@@ -170,6 +170,7 @@ cascade:
        iso14443a_code_nvb_bits(&acf.nvb, 16);
 
        ret = iso14443a_transceive_acf(handle, &acf, &bit_of_col);
+       DEBUGP("tran_acf->%d boc: %d\n",ret,bit_of_col);
        if (ret < 0)
                return ret;
        
@@ -198,6 +199,7 @@ cascade:
                switch (acf.sel_code) {
                case ISO14443A_AC_SEL_CODE_CL1:
                        /* cascading from CL1 to CL2 */
+                       DEBUGP("cascading from CL1 to CL2\n");
                        if (acf.uid_bits[0] != 0x88) {
                                DEBUGP("Cascade bit set, but UID0 != 0x88\n");
                                return -1;
@@ -208,6 +210,7 @@ cascade:
                        break;
                case ISO14443A_AC_SEL_CODE_CL2:
                        /* cascading from CL2 to CL3 */
+                       DEBUGP("cascading from CL2 to CL3\n");
                        memcpy(&handle->uid[3], &acf.uid_bits[1], 3);
                        acf.sel_code = ISO14443A_AC_SEL_CODE_CL3;
                        h->level = ISO14443A_LEVEL_CL3;
@@ -250,6 +253,7 @@ cascade:
 
        h->level = ISO14443A_LEVEL_NONE;
        h->state = ISO14443A_STATE_SELECTED;
+       h->sak = sak[0];
 
        if (sak[0] & 0x20) {
                DEBUGP("we have a T=CL compliant PICC\n");
@@ -323,15 +327,22 @@ iso14443a_getopt(struct rfid_layer2_handle *handle, int optname,
        int ret = -EINVAL;
        struct iso14443a_handle *h = &handle->priv.iso14443a;
        struct iso14443a_atqa *atqa = optval;
+       u_int8_t *opt_u8 = optval;
        int *wupa = optval;
 
        switch (optname) {
+       case RFID_OPT_14443A_SAK:
+               *opt_u8 = h->sak;
+               *optlen = sizeof(*opt_u8);
+               break;
        case RFID_OPT_14443A_ATQA:
                *atqa = h->atqa;
+               *optlen = sizeof(*atqa);
                ret = 0;
                break;
        case RFID_OPT_14443A_WUPA:
                *wupa = ((handle->flags & RFID_OPT_LAYER2_WUP) != 0);
+               *optlen = sizeof(*wupa);
                ret = 0;
                break;
        };