indent using "indent -br -ce --line-length120 -nut -i2 src/lsnfc.c".

This commit is contained in:
Romuald Conty 2010-03-18 11:08:53 +00:00
parent 50e79d3760
commit 82076d5a80

View File

@ -32,14 +32,16 @@ static byte_t abtFelica[5] = { 0x00, 0xff, 0xff, 0x00, 0x00 };
#define MAX_DEVICE_COUNT 16 #define MAX_DEVICE_COUNT 16
void print_hex(byte_t* pbtData, size_t szDate) void
print_hex (byte_t * pbtData, size_t szDate)
{ {
for (size_t i = 0; i < szDate; i++) { for (size_t i = 0; i < szDate; i++) {
printf ("%02x", pbtData[i]); printf ("%02x", pbtData[i]);
} }
} }
int main(int argc, const char* argv[]) int
main (int argc, const char *argv[])
{ {
nfc_target_info_t nti; nfc_target_info_t nti;
uint8_t tag_count = 0; uint8_t tag_count = 0;
@ -48,21 +50,18 @@ int main(int argc, const char* argv[])
size_t szFound; size_t szFound;
// Try to open the NFC device // Try to open the NFC device
if (!(pnddDevices = malloc (MAX_DEVICE_COUNT * sizeof (*pnddDevices)))) if (!(pnddDevices = malloc (MAX_DEVICE_COUNT * sizeof (*pnddDevices)))) {
{
fprintf (stderr, "malloc() failed\n"); fprintf (stderr, "malloc() failed\n");
return EXIT_FAILURE; return EXIT_FAILURE;
} }
nfc_list_devices (pnddDevices, MAX_DEVICE_COUNT, &szFound); nfc_list_devices (pnddDevices, MAX_DEVICE_COUNT, &szFound);
if (szFound == 0) if (szFound == 0) {
{
ERR ("%s", "No device found."); ERR ("%s", "No device found.");
} }
for (size_t i = 0; i < szFound; i++) for (size_t i = 0; i < szFound; i++) {
{
pnd = nfc_connect (&(pnddDevices[i])); pnd = nfc_connect (&(pnddDevices[i]));
if (pnd == NULL) { if (pnd == NULL) {
@ -87,8 +86,7 @@ int main(int argc, const char* argv[])
bool no_more_tag = false; bool no_more_tag = false;
printf ("device = %s\n", pnd->acName); printf ("device = %s\n", pnd->acName);
do { do {
if (nfc_initiator_select_tag(pnd,NM_ISO14443A_106,NULL,0,&nti)) if (nfc_initiator_select_tag (pnd, NM_ISO14443A_106, NULL, 0, &nti)) {
{
printf (" ISO14443A: "); printf (" ISO14443A: ");
/* /*
@ -112,38 +110,64 @@ Innovision R&T Jewel 0C 00
*/ */
if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x09)) { if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x09)) {
printf("NXP MIFARE Mini (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("NXP MIFARE Mini (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x08)) { } else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x08)) {
printf("NXP MIFARE Classic 1K (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("NXP MIFARE Classic 1K (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x02) && (nti.nai.btSak == 0x18)) { } else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x02) && (nti.nai.btSak == 0x18)) {
printf("NXP MIFARE Classic 4K (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("NXP MIFARE Classic 4K (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x02) && (nti.nai.btSak == 0x38)) { } else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x02) && (nti.nai.btSak == 0x38)) {
printf("Nokia MIFARE Classic 4K - emulated - (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("Nokia MIFARE Classic 4K - emulated - (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x44) && (nti.nai.btSak == 0x00)) { } else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x44) && (nti.nai.btSak == 0x00)) {
printf("NXP MIFARE Ultralight (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("NXP MIFARE Ultralight (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x03) && (nti.nai.abtAtqa[1] == 0x44) && (nti.nai.btSak == 0x20)) { } else if ((nti.nai.abtAtqa[0] == 0x03) && (nti.nai.abtAtqa[1] == 0x44) && (nti.nai.btSak == 0x20)) {
printf("NXP MIFARE DESFire (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("NXP MIFARE DESFire (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x03) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x28)) { } else if ((nti.nai.abtAtqa[0] == 0x03) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x28)) {
printf("NXP JCOP31 (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("NXP JCOP31 (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x48) && (nti.nai.btSak == 0x20)) { } else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x48) && (nti.nai.btSak == 0x20)) {
/* @todo handle ATS to be able to know which one is it. */ /* @todo handle ATS to be able to know which one is it. */
printf("NXP JCOP31 or JCOP41 (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("NXP JCOP31 or JCOP41 (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x28)) { } else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x28)) {
printf("NXP JCOP41 (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("NXP JCOP41 (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x88)) { } else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x04) && (nti.nai.btSak == 0x88)) {
printf("Infineon MIFARE Classic 1K (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("Infineon MIFARE Classic 1K (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x02) && (nti.nai.btSak == 0x98)) { } else if ((nti.nai.abtAtqa[0] == 0x00) && (nti.nai.abtAtqa[1] == 0x02) && (nti.nai.btSak == 0x98)) {
printf("Gemplus MPCOS (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("Gemplus MPCOS (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else if ((nti.nai.abtAtqa[0] == 0x0C) && (nti.nai.abtAtqa[1] == 0x00)) { } else if ((nti.nai.abtAtqa[0] == 0x0C) && (nti.nai.abtAtqa[1] == 0x00)) {
/* @note I'm not sure that Jewel can be detected using this modultation and I haven't Jewel tags to test. */ /* @note I'm not sure that Jewel can be detected using this modultation and I haven't Jewel tags to test. */
printf("Innovision R&T Jewel (UID="); print_hex(nti.nai.abtUid,nti.nai.szUidLen); printf(")\n"); printf ("Innovision R&T Jewel (UID=");
print_hex (nti.nai.abtUid, nti.nai.szUidLen);
printf (")\n");
} else { } else {
printf ("Unknown ISO14443A tag type: "); printf ("Unknown ISO14443A tag type: ");
printf("ATQA (SENS_RES): "); print_hex(nti.nai.abtAtqa,2); printf ("ATQA (SENS_RES): ");
printf(", UID (NFCID%c): ",(nti.nai.abtUid[0]==0x08?'3':'1')); print_hex(nti.nai.abtUid,nti.nai.szUidLen); print_hex (nti.nai.abtAtqa, 2);
printf(", SAK (SEL_RES): "); print_hex(&nti.nai.btSak,1); printf (", UID (NFCID%c): ", (nti.nai.abtUid[0] == 0x08 ? '3' : '1'));
if (nti.nai.szAtsLen) print_hex (nti.nai.abtUid, nti.nai.szUidLen);
{ printf (", SAK (SEL_RES): ");
print_hex (&nti.nai.btSak, 1);
if (nti.nai.szAtsLen) {
printf (", ATS (ATR): "); printf (", ATS (ATR): ");
print_hex (nti.nai.abtAts, nti.nai.szAtsLen); print_hex (nti.nai.abtAts, nti.nai.szAtsLen);
} }
@ -151,30 +175,33 @@ Innovision R&T Jewel 0C 00
} }
nfc_initiator_deselect_tag (pnd); nfc_initiator_deselect_tag (pnd);
tag_count++; tag_count++;
} else if (nfc_initiator_select_tag(pnd,NM_FELICA_212,abtFelica,5,&nti) || nfc_initiator_select_tag(pnd,NM_FELICA_424,abtFelica,5,&nti)) } else if (nfc_initiator_select_tag (pnd, NM_FELICA_212, abtFelica, 5, &nti)
{ || nfc_initiator_select_tag (pnd, NM_FELICA_424, abtFelica, 5, &nti)) {
printf (" Felica: "); printf (" Felica: ");
printf("ID (NFCID2): "); print_hex(nti.nfi.abtId,8); printf ("ID (NFCID2): ");
printf(", Parameter (PAD): "); print_hex(nti.nfi.abtPad,8); print_hex (nti.nfi.abtId, 8);
printf (", Parameter (PAD): ");
print_hex (nti.nfi.abtPad, 8);
printf ("\n"); printf ("\n");
nfc_initiator_deselect_tag (pnd); nfc_initiator_deselect_tag (pnd);
tag_count++; tag_count++;
} else if (nfc_initiator_select_tag(pnd,NM_ISO14443B_106,(byte_t*)"\x00",1,&nti)) } else if (nfc_initiator_select_tag (pnd, NM_ISO14443B_106, (byte_t *) "\x00", 1, &nti)) {
{
printf (" ISO14443B: "); printf (" ISO14443B: ");
printf("ATQB: "); print_hex(nti.nbi.abtAtqb,12); printf ("ATQB: ");
printf(", ID: "); print_hex(nti.nbi.abtId,4); print_hex (nti.nbi.abtAtqb, 12);
printf (", ID: ");
print_hex (nti.nbi.abtId, 4);
printf (", CID: %02x\n", nti.nbi.btCid); printf (", CID: %02x\n", nti.nbi.btCid);
if (nti.nbi.szInfLen>0) if (nti.nbi.szInfLen > 0) {
{ printf (", INF: ");
printf(", INF: "); print_hex(nti.nbi.abtInf,nti.nbi.szInfLen); print_hex (nti.nbi.abtInf, nti.nbi.szInfLen);
} }
printf(", PARAMS: %02x %02x %02x %02x\n",nti.nbi.btParam1,nti.nbi.btParam2,nti.nbi.btParam3,nti.nbi.btParam4); printf (", PARAMS: %02x %02x %02x %02x\n", nti.nbi.btParam1, nti.nbi.btParam2, nti.nbi.btParam3,
nti.nbi.btParam4);
printf ("\n"); printf ("\n");
nfc_initiator_deselect_tag (pnd); nfc_initiator_deselect_tag (pnd);
tag_count++; tag_count++;
} else if (nfc_initiator_select_tag(pnd,NM_JEWEL_106,NULL,0,&nti)) } else if (nfc_initiator_select_tag (pnd, NM_JEWEL_106, NULL, 0, &nti)) {
{
printf (" Jewel: No test results yet"); printf (" Jewel: No test results yet");
nfc_initiator_deselect_tag (pnd); nfc_initiator_deselect_tag (pnd);
tag_count++; tag_count++;