table of contents
| MAD(3) | Library Functions Manual | MAD(3) |
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¶
AUTHORS¶
Romain Tartiere
⟨romain@blogreen.org⟩
Romuald Conty ⟨romuald@libnfc.org⟩
| March 30, 2010 | Linux 6.14.1-1-default |