]> www.average.org Git - pam_pcsc_cr.git/blobdiff - pcsc_cr.c
add convenience defines
[pam_pcsc_cr.git] / pcsc_cr.c
index 50d67f12a306c0bc399dcbcfbd5672aeb4d08dbe..b457cd85025a852e70a89448ac1b7283f6fec022 100644 (file)
--- a/pcsc_cr.c
+++ b/pcsc_cr.c
@@ -1,3 +1,6 @@
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
 #include <stdio.h>
 #include <string.h>
 #include <alloca.h>
 #include <stdio.h>
 #include <string.h>
 #include <alloca.h>
@@ -78,17 +81,26 @@ long pcsc_cr(unsigned char *chal, int csize, unsigned char *resp, int *rsize)
                        if (rc == 0) break;
                }
                if (rc) goto disconnect;
                        if (rc == 0) break;
                }
                if (rc) goto disconnect;
-               rc = type->prologue(hCard, NULL);
+               rc = type->prologue(hCard);
                if (rc == 0) break;
        disconnect:
                (void)SCardDisconnect(hCard, SCARD_LEAVE_CARD);
        }
        if (rc) goto free_out;
                if (rc == 0) break;
        disconnect:
                (void)SCardDisconnect(hCard, SCARD_LEAVE_CARD);
        }
        if (rc) goto free_out;
+#if 0
+       char serial[16];
+       memset(serial, 'z', sizeof(serial));
+       serial[sizeof(serial) - 1] - '\0';
+       lrsize = sizeof(serial);
+       rc = type->getserial(hCard, &serial, &lrsize);
+       if (rc) goto disc_free_out;
+       printf("Serial is %s\n", serial);
+#endif
        lrsize = *rsize;
        lrsize = *rsize;
-       rc = type->trancieve(hCard, NULL, chal, csize, resp, &lrsize);
+       rc = type->trancieve(hCard, chal, csize, resp, &lrsize);
        if (rc) goto disc_free_out;
        *rsize = lrsize;
        if (rc) goto disc_free_out;
        *rsize = lrsize;
-       rc = type->epilogue(hCard, NULL);
+       rc = type->epilogue(hCard);
 disc_free_out:
        (void)SCardDisconnect(hCard, SCARD_EJECT_CARD);
 free_out:
 disc_free_out:
        (void)SCardDisconnect(hCard, SCARD_EJECT_CARD);
 free_out: