Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MAD(3)			 BSD 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 gener-
     ated 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	pro-
     viding 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	writ-
     ing 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>

BSD				March 30, 2010				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mad&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help