Merge pull request #50 from pi3rrot/master
Add support for Mifare Mini 0.3k
This commit is contained in:
commit
d7c1aa6f72
5 changed files with 26 additions and 2 deletions
|
@ -19,7 +19,7 @@ If you are new to _libfreefare_ or the _nfc-tools_, you should collect useful in
|
|||
| MIFARE DESFire 4k | Supported |
|
||||
| MIFARE DESFire 8k | Supported |
|
||||
| MIFARE DESFire EV1 | Supported |
|
||||
| MIFARE Mini | Not supported |
|
||||
| MIFARE Mini | Supported |
|
||||
| MIFARE Plus S 2k | Not supported |
|
||||
| MIFARE Plus S 4k | Not supported |
|
||||
| MIFARE Plus X 2k | Not supported |
|
||||
|
|
|
@ -51,6 +51,7 @@ Mifare card manipulation library (libfreefare, \-lfreefare)
|
|||
.Bd -literal
|
||||
enum freefare_tag_type {
|
||||
FELICA,
|
||||
MIFARE_MINI
|
||||
MIFARE_CLASSIC_1K,
|
||||
MIFARE_CLASSIC_4K,
|
||||
MIFARE_DESFIRE,
|
||||
|
|
|
@ -38,6 +38,8 @@ freefare_tag_new (nfc_device *device, nfc_target target)
|
|||
|
||||
if (felica_taste (device, target)) {
|
||||
tag = felica_tag_new (device, target);
|
||||
} else if (mifare_mini_taste (device, target)) {
|
||||
tag = mifare_mini_tag_new (device, target);
|
||||
} else if (mifare_classic1k_taste (device, target)) {
|
||||
tag = mifare_classic1k_tag_new (device, target);
|
||||
} else if (mifare_classic4k_taste (device, target)) {
|
||||
|
@ -155,6 +157,8 @@ freefare_get_tag_friendly_name (FreefareTag tag)
|
|||
switch (tag->type) {
|
||||
case FELICA:
|
||||
return "FeliCA";
|
||||
case MIFARE_MINI:
|
||||
return "Mifare Mini 0.3k";
|
||||
case MIFARE_CLASSIC_1K:
|
||||
return "Mifare Classic 1k";
|
||||
case MIFARE_CLASSIC_4K:
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
enum freefare_tag_type {
|
||||
FELICA,
|
||||
// MIFARE_MINI,
|
||||
MIFARE_MINI,
|
||||
MIFARE_CLASSIC_1K,
|
||||
MIFARE_CLASSIC_4K,
|
||||
MIFARE_DESFIRE,
|
||||
|
@ -104,8 +104,10 @@ bool is_mifare_ultralightc_on_reader (nfc_device *device, nfc_iso14443a_info n
|
|||
|
||||
|
||||
|
||||
bool mifare_mini_taste (nfc_device *device, nfc_target target);
|
||||
bool mifare_classic1k_taste (nfc_device *device, nfc_target target);
|
||||
bool mifare_classic4k_taste (nfc_device *device, nfc_target target);
|
||||
FreefareTag mifare_mini_tag_new (nfc_device *device, nfc_target target);
|
||||
FreefareTag mifare_classic1k_tag_new (nfc_device *device, nfc_target target);
|
||||
FreefareTag mifare_classic4k_tag_new (nfc_device *device, nfc_target target);
|
||||
void mifare_classic_tag_free (FreefareTag tag);
|
||||
|
|
|
@ -193,6 +193,16 @@ int get_block_access_bits (FreefareTag tag, const MifareClassicBlockNumber blo
|
|||
* Memory management functions.
|
||||
*/
|
||||
|
||||
bool
|
||||
mifare_mini_taste (nfc_device *device, nfc_target target)
|
||||
{
|
||||
(void) device;
|
||||
return target.nm.nmt == NMT_ISO14443A &&
|
||||
(
|
||||
target.nti.nai.btSak == 0x09
|
||||
);
|
||||
}
|
||||
|
||||
bool
|
||||
mifare_classic1k_taste (nfc_device *device, nfc_target target)
|
||||
{
|
||||
|
@ -237,6 +247,13 @@ _mifare_classic_tag_new (nfc_device *device, nfc_target target, int tag_type)
|
|||
return tag;
|
||||
}
|
||||
|
||||
|
||||
FreefareTag
|
||||
mifare_mini_tag_new (nfc_device *device, nfc_target target)
|
||||
{
|
||||
return _mifare_classic_tag_new (device, target, MIFARE_MINI);
|
||||
}
|
||||
|
||||
FreefareTag
|
||||
mifare_classic1k_tag_new (nfc_device *device, nfc_target target)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue