|
libnfc 1.8.0
|
NFC library implementation. More...
#include <fcntl.h>#include <stdio.h>#include <stdlib.h>#include <stddef.h>#include <string.h>#include <assert.h>#include <nfc/nfc.h>#include "nfc-internal.h"#include "target-subr.h"#include "drivers.h"Go to the source code of this file.
Functions | |
| static int | nfc_device_validate_modulation (nfc_device *pnd, const nfc_mode mode, const nfc_modulation *nm) |
| Validate combination of modulation and baud rate on the currently used device. | |
| int | nfc_register_driver (const struct nfc_driver *ndr) |
| Register an NFC device driver with libnfc. This function registers a driver with libnfc, the caller is responsible of managing the lifetime of the driver and make sure that any resources associated with the driver are available after registration. | |
| void | nfc_init (nfc_context **context) |
| Initialize libnfc. This function must be called before calling any other libnfc function. | |
| void | nfc_exit (nfc_context *context) |
| Deinitialize libnfc. Should be called after closing all open devices and before your application terminates. | |
| nfc_device * | nfc_open (nfc_context *context, const nfc_connstring connstring) |
| Open a NFC device. | |
| void | nfc_close (nfc_device *pnd) |
| Close from a NFC device. | |
| size_t | nfc_list_devices (nfc_context *context, nfc_connstring connstrings[], const size_t connstrings_len) |
| Scan for discoverable supported devices (ie. only available for some drivers). | |
| int | nfc_device_set_property_int (nfc_device *pnd, const nfc_property property, const int value) |
| Set a device's integer-property value. | |
| int | nfc_device_set_property_bool (nfc_device *pnd, const nfc_property property, const bool bEnable) |
| Set a device's boolean-property value. | |
| int | nfc_initiator_init (nfc_device *pnd) |
| Initialize NFC device as initiator (reader). | |
| int | nfc_initiator_init_secure_element (nfc_device *pnd) |
| Initialize NFC device as initiator with its secure element as target (reader). | |
| int | nfc_initiator_select_passive_target (nfc_device *pnd, const nfc_modulation nm, const uint8_t *pbtInitData, const size_t szInitData, nfc_target *pnt) |
| Select a passive or emulated tag. | |
| int | nfc_initiator_list_passive_targets (nfc_device *pnd, const nfc_modulation nm, nfc_target ant[], const size_t szTargets) |
| List passive or emulated tags. | |
| int | nfc_initiator_poll_target (nfc_device *pnd, const nfc_modulation *pnmModulations, const size_t szModulations, const uint8_t uiPollNr, const uint8_t uiPeriod, nfc_target *pnt) |
| Polling for NFC targets. | |
| int | nfc_initiator_select_dep_target (nfc_device *pnd, const nfc_dep_mode ndm, const nfc_baud_rate nbr, const nfc_dep_info *pndiInitiator, nfc_target *pnt, const int timeout) |
| Select a target and request active or passive mode for D.E.P. (Data Exchange Protocol). | |
| int | nfc_initiator_poll_dep_target (struct nfc_device *pnd, const nfc_dep_mode ndm, const nfc_baud_rate nbr, const nfc_dep_info *pndiInitiator, nfc_target *pnt, const int timeout) |
| Poll a target and request active or passive mode for D.E.P. (Data Exchange Protocol). | |
| int | nfc_initiator_deselect_target (nfc_device *pnd) |
| Deselect a selected passive or emulated tag. | |
| int | nfc_initiator_transceive_bytes (nfc_device *pnd, const uint8_t *pbtTx, const size_t szTx, uint8_t *pbtRx, const size_t szRx, int timeout) |
| Send data to target then retrieve data from target. | |
| int | nfc_initiator_transceive_bits (nfc_device *pnd, const uint8_t *pbtTx, const size_t szTxBits, const uint8_t *pbtTxPar, uint8_t *pbtRx, const size_t szRx, uint8_t *pbtRxPar) |
| Transceive raw bit-frames to a target. | |
| int | nfc_initiator_transceive_bytes_timed (nfc_device *pnd, const uint8_t *pbtTx, const size_t szTx, uint8_t *pbtRx, const size_t szRx, uint32_t *cycles) |
| Send data to target then retrieve data from target. | |
| int | nfc_initiator_target_is_present (nfc_device *pnd, const nfc_target *pnt) |
| Check target presence. | |
| int | nfc_initiator_transceive_bits_timed (nfc_device *pnd, const uint8_t *pbtTx, const size_t szTxBits, const uint8_t *pbtTxPar, uint8_t *pbtRx, const size_t szRx, uint8_t *pbtRxPar, uint32_t *cycles) |
| Transceive raw bit-frames to a target. | |
| int | nfc_target_init (nfc_device *pnd, nfc_target *pnt, uint8_t *pbtRx, const size_t szRx, int timeout) |
| Initialize NFC device as an emulated tag. | |
| int | nfc_idle (nfc_device *pnd) |
| Turn NFC device in idle mode. | |
| int | nfc_abort_command (nfc_device *pnd) |
| Abort current running command. | |
| int | nfc_target_send_bytes (nfc_device *pnd, const uint8_t *pbtTx, const size_t szTx, int timeout) |
| Send bytes and APDU frames. | |
| int | nfc_target_receive_bytes (nfc_device *pnd, uint8_t *pbtRx, const size_t szRx, int timeout) |
| Receive bytes and APDU frames. | |
| int | nfc_target_send_bits (nfc_device *pnd, const uint8_t *pbtTx, const size_t szTxBits, const uint8_t *pbtTxPar) |
| Send raw bit-frames. | |
| int | nfc_target_receive_bits (nfc_device *pnd, uint8_t *pbtRx, const size_t szRx, uint8_t *pbtRxPar) |
| Receive bit-frames. | |
| const char * | nfc_strerror (const nfc_device *pnd) |
| Return the last error string. | |
| int | nfc_strerror_r (const nfc_device *pnd, char *pcStrErrBuf, size_t szBufLen) |
| Renders the last error in pcStrErrBuf for a maximum size of szBufLen chars. | |
| void | nfc_perror (const nfc_device *pnd, const char *pcString) |
| Display the last error occured on a nfc_device. | |
| int | nfc_device_get_last_error (const nfc_device *pnd) |
| Returns last error occured on a nfc_device. | |
| const char * | nfc_device_get_name (nfc_device *pnd) |
| Returns the device name. | |
| const char * | nfc_device_get_connstring (nfc_device *pnd) |
| Returns the device connection string. | |
| int | nfc_device_get_supported_modulation (nfc_device *pnd, const nfc_mode mode, const nfc_modulation_type **const supported_mt) |
| Get supported modulations. | |
| int | nfc_device_get_supported_baud_rate (nfc_device *pnd, const nfc_modulation_type nmt, const nfc_baud_rate **const supported_br) |
| Get supported baud rates (initiator mode). | |
| int | nfc_device_get_supported_baud_rate_target_mode (nfc_device *pnd, const nfc_modulation_type nmt, const nfc_baud_rate **const supported_br) |
| Get supported baud rates for target mode. | |
| const char * | nfc_version (void) |
| Returns the library version. | |
| void | nfc_free (void *p) |
| Free buffer allocated by libnfc. | |
| int | nfc_device_get_information_about (nfc_device *pnd, char **buf) |
| Print information about NFC device. | |
| const char * | str_nfc_baud_rate (const nfc_baud_rate nbr) |
| Convert nfc_baud_rate value to string. | |
| const char * | str_nfc_modulation_type (const nfc_modulation_type nmt) |
| Convert nfc_modulation_type value to string. | |
| int | str_nfc_target (char **buf, const nfc_target *pnt, bool verbose) |
| Convert nfc_target content to string. | |
NFC library implementation.
Definition in file nfc.c.