Add RFID_OPT_14443A_WUPA to request WUPA instead of REQA (Rainer Keller <mail@rainerk...
[librfid] / include / librfid / rfid_layer2.h
index 3dd54a2..dcd05e4 100644 (file)
@@ -14,6 +14,14 @@ enum rfid_layer2_id {
        RFID_LAYER2_ISO15693,
 };
 
+/* 0...0xffff = global options, 0x10000...0x1ffff = private options */
+#define RFID_OPT_L2_PRIV               0x00010000
+enum rfid_layer2_opt {
+       RFID_OPT_LAYER2_UID             = 0x0001,
+       RFID_OPT_LAYER2_PROTO_SUPP      = 0x0002,
+       RFID_OPT_LAYER2_WUP             = 0x0003,
+};
+
 struct rfid_layer2_handle *rfid_layer2_init(struct rfid_reader_handle *rh,
                                            unsigned int id);
 int rfid_layer2_open(struct rfid_layer2_handle *l2h);
@@ -28,7 +36,7 @@ int rfid_layer2_getopt(struct rfid_layer2_handle *ph, int optname,
                        void *optval, unsigned int *optlen);
 int rfid_layer2_setopt(struct rfid_layer2_handle *ph, int optname,
                        const void *optval, unsigned int optlen);
-
+char *rfid_layer2_name(struct rfid_layer2_handle *l2h);
 #ifdef __LIBRFID__
 
 #include <librfid/rfid_layer2_iso14443a.h>
@@ -56,13 +64,14 @@ struct rfid_layer2 {
                              int optname, const void *optval,
                              unsigned int optlen);
        } fn;
-       struct rfid_layer2 *next;
 };
 
 struct rfid_layer2_handle {
        struct rfid_reader_handle *rh;
        unsigned char uid[10];  /* triple size 14443a id is 10 bytes */
        unsigned int uid_len;
+       unsigned int proto_supported;
+       unsigned int flags;
        union {
                struct iso14443a_handle iso14443a;
                struct iso14443b_handle iso14443b;