From 4a10d0f21bbcd2d6bc378b8b4c9094efe1e8ac56 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Mon, 10 Oct 2016 17:36:55 +0200 Subject: [PATCH] Cosmetics changes --- libnfc/drivers/libnfc_nci_support.h | 134 --------- libnfc/drivers/pn71xx.c | 427 ++++++++++++++++++---------- 2 files changed, 275 insertions(+), 286 deletions(-) delete mode 100644 libnfc/drivers/libnfc_nci_support.h diff --git a/libnfc/drivers/libnfc_nci_support.h b/libnfc/drivers/libnfc_nci_support.h deleted file mode 100644 index 9c57c46..0000000 --- a/libnfc/drivers/libnfc_nci_support.h +++ /dev/null @@ -1,134 +0,0 @@ - -#ifndef __NFC_DRIVER_LIBNFC_NCI_H__ -#define __NFC_DRIVER_LIBNFC_NCI_H__ - -#include "linux_nfc_api.h" - -#define LOG_CATEGORY "libnfc.driver.pn71xx" -#define LOG_GROUP NFC_LOG_GROUP_DRIVER - -static bool IsTechnology(nfc_tag_info_t *TagInfo, nfc_modulation_type nmt) -{ - switch (nmt) { - case NMT_ISO14443A: - if (TagInfo->technology == TARGET_TYPE_ISO14443_4 - || TagInfo->technology == TARGET_TYPE_ISO14443_3A - || TagInfo->technology == TARGET_TYPE_MIFARE_CLASSIC - || TagInfo->technology == TARGET_TYPE_MIFARE_UL) - return true; - break; - - case NMT_ISO14443B: - case NMT_ISO14443BI: - case NMT_ISO14443B2SR: - case NMT_ISO14443B2CT: - if (TagInfo->technology == TARGET_TYPE_ISO14443_3B) - return true; - break; - - case NMT_FELICA: - if (TagInfo->technology == TARGET_TYPE_FELICA) - return true; - break; - - case NMT_JEWEL: - if (TagInfo->technology == TARGET_TYPE_ISO14443_3A) - return true; - break; - - default: - return false; - } - return false; -} - -static void BufferPrintBytes(char* buffer, unsigned int buflen, unsigned char* data, unsigned int datalen) -{ - int cx = 0; - for(int i = 0x00; i < datalen; i++) { - cx += snprintf(buffer + cx, buflen - cx, "%02X ", data[i]); - } -} - -static void PrintTagInfo (nfc_tag_info_t *TagInfo) -{ - switch (TagInfo->technology) - { - case TARGET_TYPE_UNKNOWN: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type Unknown'"); - } break; - case TARGET_TYPE_ISO14443_3A: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A'"); - } break; - case TARGET_TYPE_ISO14443_3B: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type 4B'"); - } break; - case TARGET_TYPE_ISO14443_4: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type 4A'"); - } break; - case TARGET_TYPE_FELICA: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type F'"); - } break; - case TARGET_TYPE_ISO15693: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type V'"); - } break; - case TARGET_TYPE_NDEF: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type NDEF'"); - } break; - case TARGET_TYPE_NDEF_FORMATABLE: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type Formatable'"); - } break; - case TARGET_TYPE_MIFARE_CLASSIC: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A - Mifare Classic'"); - } break; - case TARGET_TYPE_MIFARE_UL: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A - Mifare Ul'"); - } break; - case TARGET_TYPE_KOVIO_BARCODE: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A - Kovio Barcode'"); - } break; - case TARGET_TYPE_ISO14443_3A_3B: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A/B'"); - } break; - default: - { - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type %d (Unknown or not supported)'\n", TagInfo->technology); - } break; - } - /*32 is max UID len (Kovio tags)*/ - if((0x00 != TagInfo->uid_length) && (32 >= TagInfo->uid_length)) - { - char buffer [100]; - int cx = 0; - - if(4 == TagInfo->uid_length || 7 == TagInfo->uid_length || 10 == TagInfo->uid_length) - { - cx += snprintf(buffer + cx, sizeof(buffer) - cx, "NFCID1 : \t'"); - } - else if(8 == TagInfo->uid_length) - { - cx += snprintf(buffer + cx, sizeof(buffer) - cx, "NFCID2 : \t'"); - } - else - { - cx += snprintf(buffer + cx, sizeof(buffer) - cx, "UID : \t'"); - } - - BufferPrintBytes(buffer + cx, sizeof(buffer) - cx, (unsigned char*) TagInfo->uid, TagInfo->uid_length); - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "%s'", buffer); - } -} - -#endif diff --git a/libnfc/drivers/pn71xx.c b/libnfc/drivers/pn71xx.c index 0f1efdb..8245908 100644 --- a/libnfc/drivers/pn71xx.c +++ b/libnfc/drivers/pn71xx.c @@ -22,7 +22,6 @@ #include "drivers.h" #include "nfc-internal.h" -#include "libnfc_nci_support.h" #include "linux_nfc_api.h" #define PN71XX_DRIVER_NAME "pn71xx" @@ -42,7 +41,212 @@ const nfc_baud_rate pn71xx_iso14443b_supported_baud_rates[] = { NBR_847, NBR_424 static nfcTagCallback_t TagCB; static nfc_tag_info_t *TagInfo = NULL; +static void onTagArrival(nfc_tag_info_t *pTagInfo); +static void onTagDeparture(void); +/** ------------------------------------------------------------------------ */ +/** ------------------------------------------------------------------------ */ +/** + * @brief Initialize libnfc_nci library to verify presence of PN71xx device. + * + * @param context NFC context. + * @param connstrings array of 'nfc_connstring' buffer (allocated by caller). It is used to store the + * connection info strings of devices found. + * @param connstrings_len length of the connstrings array. + * @return number of devices found. + */ +static size_t +pn71xx_scan(const nfc_context *context, nfc_connstring connstrings[], const size_t connstrings_len) +{ + size_t device_found = 0; + + if ((context == NULL) || (connstrings_len == 0)) return 0; + + if (nfcManager_doInitialize() == 0) { + nfc_connstring connstring = "pn71xx"; + memcpy(connstrings[device_found++], connstring, sizeof(nfc_connstring)); + } + + return device_found; +} + +/** + * @brief Close connection to PN71xx by stopping the discovery loop and deinitializing the libnfc_nci library. + * + * @param pnd pointer on the device to close. + */ +static void +pn71xx_close(nfc_device *pnd) +{ + nfcManager_disableDiscovery(); + nfcManager_deregisterTagCallback(); + nfcManager_doDeinitialize(); + nfc_device_free(pnd); + pnd = NULL; +} + +/** + * @brief Open a connection to PN71xx, starting the discovery loop for tag detection. + * + * @param context NFC context. + * @param connstring connection info to the device + * @return pointer to the device, or NULL in case of error. + */ +static nfc_device * +pn71xx_open(const nfc_context *context, const nfc_connstring connstring) +{ + nfc_device *pnd; + + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "open: %s", connstring); + + pnd = nfc_device_new(context, connstring); + if (!pnd) { + perror("malloc"); + return NULL; + } + + pnd->driver = &pn71xx_driver; + strcpy(pnd->name, "pn71xx-device"); + strcpy(pnd->connstring, connstring); + + TagCB.onTagArrival = onTagArrival; + TagCB.onTagDeparture = onTagDeparture; + nfcManager_registerTagCallback(&TagCB); + + nfcManager_enableDiscovery(DEFAULT_NFA_TECH_MASK, 1, 0, 0); + + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "wait 1 seconds for polling"); + sleep(1); + + return pnd; +} + +/** ------------------------------------------------------------------------ */ +/** ------------------------------------------------------------------------ */ +static bool IsTechnology(nfc_tag_info_t *TagInfo, nfc_modulation_type nmt) +{ + switch (nmt) { + case NMT_ISO14443A: + if (TagInfo->technology == TARGET_TYPE_ISO14443_4 + || TagInfo->technology == TARGET_TYPE_ISO14443_3A + || TagInfo->technology == TARGET_TYPE_MIFARE_CLASSIC + || TagInfo->technology == TARGET_TYPE_MIFARE_UL) + return true; + break; + + case NMT_ISO14443B: + case NMT_ISO14443BI: + case NMT_ISO14443B2SR: + case NMT_ISO14443B2CT: + if (TagInfo->technology == TARGET_TYPE_ISO14443_3B) + return true; + break; + + case NMT_FELICA: + if (TagInfo->technology == TARGET_TYPE_FELICA) + return true; + break; + + case NMT_JEWEL: + if (TagInfo->technology == TARGET_TYPE_ISO14443_3A + && TagInfo->protocol == NFA_PROTOCOL_T1T) + return true; + break; + + default: + return false; + } + return false; +} + +static void BufferPrintBytes(char* buffer, unsigned int buflen, const uint8_t *data, unsigned int datalen) +{ + int cx = 0; + for(unsigned int i = 0x00; i < datalen; i++) { + cx += snprintf(buffer + cx, buflen - cx, "%02X ", data[i]); + } +} + +static void PrintTagInfo (nfc_tag_info_t *TagInfo) +{ + switch (TagInfo->technology) + { + case TARGET_TYPE_UNKNOWN: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type Unknown'"); + } break; + case TARGET_TYPE_ISO14443_3A: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type 3A'"); + } break; + case TARGET_TYPE_ISO14443_3B: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type 3B'"); + } break; + case TARGET_TYPE_ISO14443_4: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type 4A'"); + } break; + case TARGET_TYPE_FELICA: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type F'"); + } break; + case TARGET_TYPE_ISO15693: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type V'"); + } break; + case TARGET_TYPE_NDEF: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type NDEF'"); + } break; + case TARGET_TYPE_NDEF_FORMATABLE: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type Formatable'"); + } break; + case TARGET_TYPE_MIFARE_CLASSIC: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A - Mifare Classic'"); + } break; + case TARGET_TYPE_MIFARE_UL: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A - Mifare Ul'"); + } break; + case TARGET_TYPE_KOVIO_BARCODE: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A - Kovio Barcode'"); + } break; + case TARGET_TYPE_ISO14443_3A_3B: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type A/B'"); + } break; + default: + { + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "'Type %d (Unknown or not supported)'\n", TagInfo->technology); + } break; + } + /*32 is max UID len (Kovio tags)*/ + if((0x00 != TagInfo->uid_length) && (32 >= TagInfo->uid_length)) + { + char buffer [100]; + int cx = 0; + + if(4 == TagInfo->uid_length || 7 == TagInfo->uid_length || 10 == TagInfo->uid_length) + { + cx += snprintf(buffer + cx, sizeof(buffer) - cx, "NFCID1 : \t'"); + } + else if(8 == TagInfo->uid_length) + { + cx += snprintf(buffer + cx, sizeof(buffer) - cx, "NFCID2 : \t'"); + } + else + { + cx += snprintf(buffer + cx, sizeof(buffer) - cx, "UID : \t'"); + } + + BufferPrintBytes(buffer + cx, sizeof(buffer) - cx, (unsigned char*) TagInfo->uid, TagInfo->uid_length); + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "%s'", buffer); + } +} /** ------------------------------------------------------------------------ */ /** ------------------------------------------------------------------------ */ @@ -65,94 +269,10 @@ static void onTagDeparture(void) TagInfo = NULL; } -/** ------------------------------------------------------------------------ */ -/** ------------------------------------------------------------------------ */ - - -/** - * @brief Scan all available I2C buses to find PN532 devices. - * - * @param context NFC context. - * @param connstrings array of 'nfc_connstring' buffer (allocated by caller). It is used to store the - * connection info strings of all I2C PN532 devices found. - * @param connstrings_len length of the connstrings array. - * @return number of PN532 devices found on all I2C buses. - */ -static size_t -pn71xx_scan(const nfc_context *context, nfc_connstring connstrings[], const size_t connstrings_len) -{ - size_t device_found = 0; - - if (nfcManager_doInitialize() == 0) { - nfc_connstring connstring = "pn71xx"; - memcpy(connstrings[device_found++], connstring, sizeof(nfc_connstring)); - } - - return device_found; -} - -/** - * @brief Close I2C connection to the PN532 device. - * - * @param pnd pointer on the device to close. - */ -static void -pn71xx_close(nfc_device *pnd) -{ - nfcManager_disableDiscovery(); - nfcManager_deregisterTagCallback(); - nfcManager_doDeinitialize(); - - nfc_device_free(pnd); -} - -/** - * @brief Open an I2C connection to the PN532 device. - * - * @param context NFC context. - * @param connstring connection info to the device - * @return pointer to the device, or NULL in case of error. - */ -static nfc_device * -pn71xx_open(const nfc_context *context, const nfc_connstring connstring) -{ - nfc_device *pnd; - - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "open: %s", connstring); - - pnd = nfc_device_new(context, connstring); - if (!pnd) { - perror("malloc"); - return NULL; - } - - pnd->driver = &pn71xx_driver; - strcpy(pnd->name, "pn71xx-device"); - strcpy(pnd->connstring, connstring); - - - TagCB.onTagArrival = onTagArrival; - TagCB.onTagDeparture = onTagDeparture; - nfcManager_registerTagCallback(&TagCB); - - nfcManager_enableDiscovery(DEFAULT_NFA_TECH_MASK, 1, 0, 0); - - - log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "wait 2 seconds for polling"); - sleep(2); - - return pnd; -} - - - -/** ------------------------------------------------------------------------ */ -/** ------------------------------------------------------------------------ */ - - static int pn71xx_initiator_init(struct nfc_device *pnd) { + if (pnd == NULL) return NFC_EIO; return NFC_SUCCESS; } @@ -162,6 +282,8 @@ pn71xx_initiator_select_passive_target(struct nfc_device *pnd, const uint8_t *pbtInitData, const size_t szInitData, nfc_target *pnt) { + if (pnd == NULL) return NFC_EIO; + log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "select_passive_target"); if (TagInfo) { @@ -171,7 +293,7 @@ pn71xx_initiator_select_passive_target(struct nfc_device *pnd, nttmp.nm = nm; void* uidPtr = NULL; - int maxLen = 0; + unsigned int maxLen = 0; switch (nm.nmt) { case NMT_ISO14443A: @@ -257,6 +379,7 @@ pn71xx_initiator_select_passive_target(struct nfc_device *pnd, static int pn71xx_initiator_deselect_target(struct nfc_device *pnd) { + if (pnd == NULL) return NFC_EIO; log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "deselect_passive_target"); return NFC_SUCCESS; } @@ -266,16 +389,16 @@ static int pn71xx_initiator_transceive_bytes(struct nfc_device *pnd, const uint8_t *pbtTx, const size_t szTx, uint8_t *pbtRx, const size_t szRx, int timeout) { + if (pnd == NULL) return NFC_EIO; log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "transceive_bytes timeout=%d", timeout); - if (!TagInfo) - return NFC_EINVARG; + if (!TagInfo) return NFC_EINVARG; char buffer[500]; BufferPrintBytes(buffer, sizeof(buffer), pbtTx, szTx); log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "===> %s", buffer); - int received = nfcTag_transceive(TagInfo->handle, pbtTx, szTx, pbtRx, szRx, 500); + int received = nfcTag_transceive(TagInfo->handle, (uint8_t *) pbtTx, szTx, pbtRx, szRx, 500); if (received <= 0) return NFC_EIO; @@ -294,12 +417,12 @@ pn71xx_initiator_poll_target(struct nfc_device *pnd, static int periodFactor = 150000; int period = uiPeriod * periodFactor; + if (pnd == NULL) return 0; + for (int j = 0; j < uiPollNr; j++) { - for (int i = 0; i < szModulations; i++) { + for (unsigned int i = 0; i < szModulations; i++) { const nfc_modulation nm = pnmModulations[i]; - //log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "check %s", str_nfc_modulation_type(nm.nmt)); - nfc_target nt; int res = pn71xx_initiator_select_passive_target(pnd, nm, 0, 0, &nt); if (res > 0 && pnt) { @@ -316,32 +439,27 @@ pn71xx_initiator_poll_target(struct nfc_device *pnd, static int pn71xx_initiator_target_is_present(struct nfc_device *pnd, const nfc_target *pnt) { - if (pnt) { - - } - - // 0 = true + if ((pnd == NULL) || (pnt == NULL)) return 1; return !TagInfo; } /** ------------------------------------------------------------------------ */ /** ------------------------------------------------------------------------ */ - - static int pn71xx_get_supported_modulation(nfc_device *pnd, const nfc_mode mode, const nfc_modulation_type **const supported_mt) { - //log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "get_supported_modulation mode=%d", mode); - switch (mode) { - case N_TARGET: - *supported_mt = (nfc_modulation_type *)pn71xx_supported_modulation_as_target; - break; - case N_INITIATOR: - *supported_mt = (nfc_modulation_type *)pn71xx_supported_modulation_as_initiator; - break; - default: - return NFC_EINVARG; + if (pnd == NULL) return NFC_EIO; + + switch (mode) { + case N_TARGET: + *supported_mt = (nfc_modulation_type *)pn71xx_supported_modulation_as_target; + break; + case N_INITIATOR: + *supported_mt = (nfc_modulation_type *)pn71xx_supported_modulation_as_initiator; + break; + default: + return NFC_EINVARG; } return NFC_SUCCESS; } @@ -349,29 +467,32 @@ pn71xx_get_supported_modulation(nfc_device *pnd, const nfc_mode mode, const nfc_ static int pn71xx_get_supported_baud_rate(nfc_device *pnd, const nfc_mode mode, const nfc_modulation_type nmt, const nfc_baud_rate **const supported_br) { - switch (nmt) { - case NMT_FELICA: - *supported_br = (nfc_baud_rate *)pn71xx_felica_supported_baud_rates; - break; - case NMT_ISO14443A: - *supported_br = (nfc_baud_rate *)pn71xx_iso14443a_supported_baud_rates; - break; - case NMT_ISO14443B: - case NMT_ISO14443BI: - case NMT_ISO14443B2SR: - case NMT_ISO14443B2CT: - *supported_br = (nfc_baud_rate *)pn71xx_iso14443b_supported_baud_rates; - break; - case NMT_JEWEL: - *supported_br = (nfc_baud_rate *)pn71xx_jewel_supported_baud_rates; - break; - case NMT_DEP: - *supported_br = (nfc_baud_rate *)pn71xx_dep_supported_baud_rates; - break; - default: - return NFC_EINVARG; - } - return NFC_SUCCESS; + if (pnd == NULL) return NFC_EIO; + if (mode) {} + + switch (nmt) { + case NMT_FELICA: + *supported_br = (nfc_baud_rate *)pn71xx_felica_supported_baud_rates; + break; + case NMT_ISO14443A: + *supported_br = (nfc_baud_rate *)pn71xx_iso14443a_supported_baud_rates; + break; + case NMT_ISO14443B: + case NMT_ISO14443BI: + case NMT_ISO14443B2SR: + case NMT_ISO14443B2CT: + *supported_br = (nfc_baud_rate *)pn71xx_iso14443b_supported_baud_rates; + break; + case NMT_JEWEL: + *supported_br = (nfc_baud_rate *)pn71xx_jewel_supported_baud_rates; + break; + case NMT_DEP: + *supported_br = (nfc_baud_rate *)pn71xx_dep_supported_baud_rates; + break; + default: + return NFC_EINVARG; + } + return NFC_SUCCESS; } /** ------------------------------------------------------------------------ */ @@ -380,14 +501,14 @@ pn71xx_get_supported_baud_rate(nfc_device *pnd, const nfc_mode mode, const nfc_m static int pn71xx_set_property_bool(struct nfc_device *pnd, const nfc_property property, const bool bEnable) { - //log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "set_property_bool"); + if (pnd == NULL) return NFC_EIO; return NFC_SUCCESS; } static int pn71xx_set_property_int(struct nfc_device *pnd, const nfc_property property, const int value) { - //log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "set_property_int"); + if (pnd == NULL) return NFC_EIO; return NFC_SUCCESS; } @@ -396,6 +517,8 @@ pn71xx_get_information_about(nfc_device *pnd, char **pbuf) { static const char* info = "PN71XX nfc driver using libnfc-nci userspace library"; size_t buflen = strlen(info) + 1; + + if (pnd == NULL) return NFC_EIO; *pbuf = malloc(buflen); memcpy(*pbuf, info, buflen); @@ -411,32 +534,32 @@ pn71xx_get_information_about(nfc_device *pnd, char **pbuf) static int pn71xx_abort_command(nfc_device *pnd) { + if (pnd == NULL) return NFC_EIO; log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "abort_command"); - return NFC_SUCCESS; + return NFC_SUCCESS; } static int pn71xx_idle(struct nfc_device *pnd) { + if (pnd == NULL) return NFC_EIO; log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "idle"); - return NFC_SUCCESS; + return NFC_SUCCESS; } static int pn71xx_PowerDown(struct nfc_device *pnd) { + if (pnd == NULL) return NFC_EIO; log_put(LOG_GROUP, LOG_CATEGORY, NFC_LOG_PRIORITY_DEBUG, "PowerDown"); - return NFC_SUCCESS; + return NFC_SUCCESS; } /** ------------------------------------------------------------------------ */ /** ------------------------------------------------------------------------ */ - - - const struct nfc_driver pn71xx_driver = { .name = PN71XX_DRIVER_NAME, - .scan_type = INTRUSIVE, + .scan_type = NOT_INTRUSIVE, .scan = pn71xx_scan, .open = pn71xx_open, .close = pn71xx_close, @@ -454,17 +577,17 @@ const struct nfc_driver pn71xx_driver = { .initiator_transceive_bits_timed = NULL, .initiator_target_is_present = pn71xx_initiator_target_is_present, - .target_init = NULL, - .target_send_bytes = NULL, - .target_receive_bytes = NULL, - .target_send_bits = NULL, - .target_receive_bits = NULL, + .target_init = NULL, + .target_send_bytes = NULL, + .target_receive_bytes = NULL, + .target_send_bits = NULL, + .target_receive_bits = NULL, - .device_set_property_bool = pn71xx_set_property_bool, - .device_set_property_int = pn71xx_set_property_int, - .get_supported_modulation = pn71xx_get_supported_modulation, - .get_supported_baud_rate = pn71xx_get_supported_baud_rate, - .device_get_information_about = pn71xx_get_information_about, + .device_set_property_bool = pn71xx_set_property_bool, + .device_set_property_int = pn71xx_set_property_int, + .get_supported_modulation = pn71xx_get_supported_modulation, + .get_supported_baud_rate = pn71xx_get_supported_baud_rate, + .device_get_information_about = pn71xx_get_information_about, .abort_command = pn71xx_abort_command, .idle = pn71xx_idle,