Provided by: libfreefare-doc_0.4.0-2.3build2_all bug

NAME

       mad_new,    mad_read,   mad_write,   mad_get_version,   mad_set_version,   mad_get_card_publisher_sector,
       mad_set_card_publisher_sector, mad_get_aid, mad_set_aid, mad_free, — Mifare Application  Directory  (MAD)
       Manipulation Functions

LIBRARY

       Mifare card manipulation library (libfreefare, -lfreefare)

SYNOPSIS

       #include <freefare.h>

       Mad
       mad_new(uint8_t version);

       Mad
       mad_read(MifareTag tag);

       int
       mad_write(MifareTag tag, Mad mad, MifareClassicKey key_b_sector_00, MifareClassicKey key_b_sector_10);

       int
       mad_get_version(Mad mad);

       void
       mad_set_version(Mad mad, uint8_t version);

       MifareClassicSectorNumber
       mad_get_card_publisher_sector(Mad mad);

       int
       mad_set_card_publisher_sector(Mad mad, MifareClassicSectorNumber cps);

       int
       mad_get_aid(Mad mad, MifareClassicSectorNumber sector, MadAid *aid);

       int
       mad_set_aid(Mad mad, MifareClassicSectorNumber sector, MadAid aid);

       void
       mad_free(Mad mad);

DESCRIPTION

       Mifare Application Directories (MAD) can be easily manipulated using the mad_*() set of functions.

       A  mad can be loaded form a Mifare Classic tag using mad_read() or generated from scratch using mad_new()
       and providing the version of the mad to generate. After using a mad, the memory can  be  reclaimed  using
       mad_free().

       A  mad  can  be  written  to a Mifare Classic tag using mad_write() and providing the B keys required for
       writing to sectors 0, key_b_sector_00, and the one required for writing to sectors  10,  key_b_sector_10.
       When writing a MAD version 1 mad, the key_b_sector_10.

       The version of a MAD mad can be read using mad_get_version() and changed using mad_set_version().

       The  card  publisher  sector number cps can be read read using mad_get_card_publisher_sector() and writen
       using mad_set_card_publisher_sector().

       Sectors allocation in the mad is  handled  by  the  mad_get_aid()  and  mad_set_aid()  functions.   These
       functions fill-in or read the Application Identifier, aid for the given sector.

RETURN VALUES

       The  mad_new() function return NULL on failure and allocates memory that has to be freed using mad_free()
       on success.  Unless stated otherwise, all other functions return a value greater than or equal  to  0  on
       success or -1 on failure.

SEE ALSO

       freefare(3), mifare_application(3), mifare_classic(3)

AUTHORS

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

Debian                                           March 30, 2010                                           MAD(3)