diff options
author | ploetz <ploetz@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2007-03-20 00:47:12 +0000 |
---|---|---|
committer | ploetz <ploetz@e0336214-984f-0b4b-a45f-81c69e1f0ede> | 2007-03-20 00:47:12 +0000 |
commit | 93ffaaefecb5b83a39e30d4126dbbbd78f901aa2 (patch) | |
tree | a91a15f44236ae433329b6a13c5784da2399011f /src/rfid_layer2_iso14443a.c | |
parent | 9a8dbae5c77a0277a8c52610ebb113bf3a151a1d (diff) |
Add RFID_OPT_14443A_WUPA to request WUPA instead of REQA (Rainer Keller <mail@rainerkeller.de>)
git-svn-id: https://svn.gnumonks.org/trunk/librfid@1985 e0336214-984f-0b4b-a45f-81c69e1f0ede
Diffstat (limited to 'src/rfid_layer2_iso14443a.c')
-rw-r--r-- | src/rfid_layer2_iso14443a.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/rfid_layer2_iso14443a.c b/src/rfid_layer2_iso14443a.c index 429577c..4716018 100644 --- a/src/rfid_layer2_iso14443a.c +++ b/src/rfid_layer2_iso14443a.c @@ -280,6 +280,13 @@ iso14443a_setopt(struct rfid_layer2_handle *handle, int optname, speed = *(unsigned int *)optval; ret = rdr->iso14443a.set_speed(handle->rh, 1, speed); break; + case RFID_OPT_14443A_WUPA: + if((unsigned int*)optval) + handle->flags |= RFID_OPT_LAYER2_WUP; + else + handle->flags &= ~RFID_OPT_LAYER2_WUP; + ret = 0; + break; }; return ret; @@ -287,17 +294,22 @@ iso14443a_setopt(struct rfid_layer2_handle *handle, int optname, static int iso14443a_getopt(struct rfid_layer2_handle *handle, int optname, - void *optval, unsigned int optlen) + void *optval, unsigned int *optlen) { int ret = -EINVAL; struct iso14443a_handle *h = &handle->priv.iso14443a; struct iso14443a_atqa *atqa = optval; + int *wupa = optval; switch (optname) { case RFID_OPT_14443A_ATQA: *atqa = h->atqa; ret = 0; break; + case RFID_OPT_14443A_WUPA: + *wupa = ((handle->flags & RFID_OPT_LAYER2_WUP) != 0); + ret = 0; + break; }; return ret; |