Provided by: libfreefare-doc_0.4.0-2_all bug

NAME

     freefare_get_tags, freefare_get_tag_type, freefare_get_tag_friendly_name,
     freefare_get_tag_uid, freefare_free_tag, freefare_free_tags — Generic target manipulation
     functions

LIBRARY

     Mifare card manipulation library (libfreefare, -lfreefare)

SYNOPSIS

     #include <freefare.h>

     MifareTag *
     freefare_get_tags(nfc_device_t *device);

     enum mifare_tag_type {
         ULTRALIGHT,
         CLASSIC_1K,
         CLASSIC_4K
     };

     enum mifare_tag_type
     freefare_get_tag_type(MifareTag tag);

     const char *
     freefare_get_tag_friendly_name(MifareTag tag);

     char *
     freefare_get_tag_uid(MifareTag tag);

     void
     freefare_free_tag(MifareTag tags);

     void
     freefare_free_tags(MifareTag *tags);

DESCRIPTION

     The freefare_*() family of functions allow agnostic access to the MifareTag present on a
     given NFC device.

     freefare_get_tags() returns a NULL-terminated list of MifareTag present on device.  This
     list has to be freed after usage by either:

     -   calling the freefare_free_tags() function.  All tags in the list are automatically
         freed;

     -   calling the freefare_free_tag() function to free each tag in the list individually, and
         freeing the list itself using the free() function.

     Because of the nature of the target detection process, any previously detected target will
     be in an inconsistent state after a call to freefare_get_tags().  It is the programmer's
     responsibility to free these targets before calling the freefare_get_tags() function.

     Information about a given MifareTag can be gathered using the freefare_get_tag_type(),
     freefare_get_tag_uid() and freefare_get_tag_friendly_name() functions.

RETURN VALUES

     Unless stated otherwise, all functions return a value greater than or equal to 0 on success
     or -1 on failure.

SEE ALSO

     free(3), mifare_classic(3), mifare_ultralight(3)

AUTHORS

     Romain Tartiere <romain@blogreen.org>
     Romuald Conty <romuald@libnfc.org>