Man page - mad(3)
Packages contains this manual
- mad_new(3)
- freefare_perror(3)
- mifare_desfire_debit_ex(3)
- mifare_desfire_create_linear_record_file(3)
- mifare_desfire_write_data_ex(3)
- mad_get_aid(3)
- mifare_desfire_3des_key_new_with_version(3)
- mifare_desfire_debit(3)
- mifare_desfire_3k3des_key_new_with_version(3)
- mifare_desfire(3)
- mifare_desfire_create_cyclic_record_file(3)
- mifare_classic_authenticate(3)
- mifare_desfire_write_record(3)
- mifare_desfire_get_application_ids(3)
- mifare_desfire_credit(3)
- mad(3)
- mifare_desfire_delete_application(3)
- mifare_classic_increment(3)
- mifare_desfire_abort_transaction(3)
- freefare(3)
- mifare_classic_get_data_block_permission(3)
- mifare_desfire_read_records(3)
- freefare_get_tags(3)
- mifare_desfire_get_file_settings(3)
- mifare_ultralight(3)
- mifare_desfire_create_value_file(3)
- mifare_desfire_des_key_new(3)
- mifare_classic_trailer_block(3)
- tlv_decode(3)
- mifare_desfire_limited_credit_ex(3)
- mifare_desfire_aid_get_aid(3)
- mad_set_aid(3)
- mifare_desfire_disconnect(3)
- mifare_desfire_last_pcd_error(3)
- freefare_strerror_r(3)
- mifare_desfire_delete_file(3)
- freefare_error(3)
- mifare_classic_get_uid(3)
- mifare_desfire_write_data(3)
- mad_get_version(3)
- mifare_desfire_set_ats(3)
- mifare_ultralight_write(3)
- mifare_desfire_aid_new(3)
- mifare_classic_decrement(3)
- mad_set_card_publisher_sector(3)
- tlv(3)
- mifare_desfire_credit_ex(3)
- mifare_ultralight_connect(3)
- mifare_desfire_set_default_key(3)
- mifare_ultralight_disconnect(3)
- mifare_classic_get_trailer_block_permission(3)
- mifare_desfire_3k3des_key_new(3)
- mifare_classic_transfer(3)
- mifare_desfire_connect(3)
- mifare_desfire_last_picc_error(3)
- mifare_desfire_change_key_settings(3)
- mifare_classic_connect(3)
- mifare_desfire_aid_new_with_mad_aid(3)
- mifare_desfire_free_application_ids(3)
- mifare_desfire_create_backup_data_file(3)
- freefare_get_tag_uid(3)
- mifare_classic_init_value(3)
- mifare_desfire_get_file_ids(3)
- mifare_desfire_key_get_version(3)
- tlv_encode(3)
- mifare_desfire_get_card_uid(3)
- mifare_desfire_free_mem(3)
- mifare_desfire_key_free(3)
- mifare_desfire_des_key_new_with_version(3)
- mifare_desfire_set_configuration(3)
- mifare_application_find(3)
- freefare_get_tag_type(3)
- mifare_classic_read(3)
- mifare_application(3)
- mifare_desfire_authenticate(3)
- mifare_desfire_aid(3)
- freefare_strerror(3)
- freefare_free_tags(3)
- mifare_classic_write(3)
- mifare_desfire_select_application(3)
- mifare_desfire_read_data_ex(3)
- mifare_desfire_key_set_version(3)
- mifare_ultralightc_authenticate(3)
- mifare_desfire_limited_credit(3)
- mifare_desfire_authenticate_iso(3)
- mifare_desfire_get_value_ex(3)
- mifare_desfire_aes_key_new(3)
- mifare_desfire_write_record_ex(3)
- mifare_desfire_change_key(3)
- mifare_classic_read_value(3)
- mifare_classic(3)
- mifare_application_read(3)
- mifare_desfire_create_std_data_file(3)
- mifare_desfire_authenticate_aes(3)
- mifare_application_write(3)
- mifare_desfire_clear_record_file(3)
- mad_write(3)
- mifare_ultralight_read(3)
- mifare_application_free(3)
- mifare_desfire_get_value(3)
- mad_set_version(3)
- mifare_desfire_get_key_version(3)
- mifare_desfire_create_application(3)
- mad_get_card_publisher_sector(3)
- mifare_application_alloc(3)
- mifare_desfire_get_key_settings(3)
- mad_free(3)
- mifare_classic_format_sector(3)
- mifare_ultralight_get_uid(3)
- mifare_desfire_key(3)
- mad_read(3)
- mifare_desfire_format_picc(3)
- mifare_desfire_read_records_ex(3)
- mifare_desfire_3des_key_new(3)
- mifare_desfire_aes_key_new_with_version(3)
- mifare_desfire_change_file_settings(3)
- freefare_get_tag_friendly_name(3)
- mifare_desfire_read_data(3)
- mifare_desfire_get_version(3)
- mifare_desfire_commit_transaction(3)
- mifare_classic_restore(3)
- mifare_classic_disconnect(3)
apt-get install libfreefare-doc
Manual
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
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)