38 #endif // HAVE_CONFIG_H
42 # include <sys/param.h>
57 #define MAX_DEVICE_COUNT 16
58 #define MAX_TARGET_COUNT 16
63 main (
int argc,
const char *argv[])
65 const char *acLibnfcVersion;
74 printf (
"%s use libnfc %s\n", argv[0], acLibnfcVersion);
76 pnddDevices = parse_args (argc, argv, &szDeviceFound, &verbose);
92 ndd.
pcPort =
"/dev/ttyUSB0";
101 strcpy(ndd.
acDevice,
"SCM Micro / SCL3711-NFC&RW");
105 if (szDeviceFound == 0) {
106 if (!(pnddDevices = malloc (MAX_DEVICE_COUNT *
sizeof (*pnddDevices)))) {
107 fprintf (stderr,
"malloc() failed\n");
114 if (szDeviceFound == 0) {
115 printf (
"No NFC device found.\n");
118 for (i = 0; i < szDeviceFound; i++) {
123 ERR (
"%s",
"Unable to connect to NFC device.");
128 printf (
"Connected to NFC device: %s\n", pnd->
acName);
132 .nmt = NMT_ISO14443A,
137 if (verbose || (szTargetFound > 0)) {
138 printf (
"%d ISO14443A passive target(s) was found%s\n", (
int) szTargetFound, (szTargetFound == 0) ?
".\n" :
":");
140 for (n = 0; n < szTargetFound; n++) {
141 print_nfc_iso14443a_info (ant[n].nti.nai, verbose);
151 if (verbose || (szTargetFound > 0)) {
152 printf (
"%d Felica (212 kbps) passive target(s) was found%s\n", (
int) szTargetFound,
153 (szTargetFound == 0) ?
".\n" :
":");
155 for (n = 0; n < szTargetFound; n++) {
156 print_nfc_felica_info (ant[n].nti.nfi, verbose);
164 if (verbose || (szTargetFound > 0)) {
165 printf (
"%d Felica (424 kbps) passive target(s) was found%s\n", (
int) szTargetFound,
166 (szTargetFound == 0) ?
".\n" :
":");
168 for (n = 0; n < szTargetFound; n++) {
169 print_nfc_felica_info (ant[n].nti.nfi, verbose);
174 nm.nmt = NMT_ISO14443B;
179 if (verbose || (szTargetFound > 0)) {
180 printf (
"%d ISO14443B passive target(s) was found%s\n", (
int) szTargetFound, (szTargetFound == 0) ?
".\n" :
":");
182 for (n = 0; n < szTargetFound; n++) {
183 print_nfc_iso14443b_info (ant[n].nti.nbi, verbose);
193 if (verbose || (szTargetFound > 0)) {
194 printf(
"%d Jewel passive target(s) was found%s\n", (
int)szTargetFound, (szTargetFound==0)?
".\n":
":");
196 for(n=0; n<szTargetFound; n++) {
197 print_nfc_jewel_info (ant[n].nti.nji, verbose);