libnfc  1.7.1
Defines | Functions
nfc.h File Reference

libnfc interface More...

#include <sys/time.h>
#include <stdint.h>
#include <stdbool.h>
#include <nfc/nfc-types.h>

Go to the source code of this file.

Defines

#define NFC_SUCCESS
#define NFC_EIO
#define NFC_EINVARG
#define NFC_EDEVNOTSUPP
#define NFC_ENOTSUCHDEV
#define NFC_EOVFLOW
#define NFC_ETIMEOUT
#define NFC_EOPABORTED
#define NFC_ENOTIMPL
#define NFC_ETGRELEASED
#define NFC_ERFTRANS
#define NFC_EMFCAUTHFAIL
#define NFC_ESOFT
#define NFC_ECHIP

Functions

NFC_EXPORT void nfc_init (nfc_context **context) ATTRIBUTE_NONNULL(1)
 Initialize libnfc. This function must be called before calling any other libnfc function.
NFC_EXPORT void nfc_exit (nfc_context *context) ATTRIBUTE_NONNULL(1)
 Deinitialize libnfc. Should be called after closing all open devices and before your application terminates.
NFC_EXPORT nfc_devicenfc_open (nfc_context *context, const nfc_connstring connstring) ATTRIBUTE_NONNULL(1)
 Open a NFC device.
NFC_EXPORT void nfc_close (nfc_device *pnd)
 Close from a NFC device.
NFC_EXPORT int nfc_abort_command (nfc_device *pnd)
 Abort current running command.
NFC_EXPORT size_t nfc_list_devices (nfc_context *context, nfc_connstring connstrings[], size_t connstrings_len) ATTRIBUTE_NONNULL(1)
 Scan for discoverable supported devices (ie. only available for some drivers)
NFC_EXPORT int nfc_idle (nfc_device *pnd)
 Turn NFC device in idle mode.
NFC_EXPORT int nfc_initiator_init (nfc_device *pnd)
 Initialize NFC device as initiator (reader)
NFC_EXPORT int nfc_initiator_init_secure_element (nfc_device *pnd)
 Initialize NFC device as initiator with its secure element initiator (reader)
NFC_EXPORT 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.
NFC_EXPORT 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.
NFC_EXPORT int nfc_initiator_poll_target (nfc_device *pnd, const nfc_modulation *pnmTargetTypes, const size_t szTargetTypes, const uint8_t uiPollNr, const uint8_t uiPeriod, nfc_target *pnt)
 Polling for NFC targets.
NFC_EXPORT 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)
NFC_EXPORT int nfc_initiator_poll_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)
 Poll a target and request active or passive mode for D.E.P. (Data Exchange Protocol)
NFC_EXPORT 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.
NFC_EXPORT 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.
NFC_EXPORT 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.
NFC_EXPORT 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.
NFC_EXPORT int nfc_initiator_target_is_present (nfc_device *pnd, const nfc_target *pnt)
 Check target presence.
NFC_EXPORT 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.
NFC_EXPORT int nfc_target_send_bytes (nfc_device *pnd, const uint8_t *pbtTx, const size_t szTx, int timeout)
 Send bytes and APDU frames.
NFC_EXPORT int nfc_target_receive_bytes (nfc_device *pnd, uint8_t *pbtRx, const size_t szRx, int timeout)
 Receive bytes and APDU frames.
NFC_EXPORT int nfc_target_send_bits (nfc_device *pnd, const uint8_t *pbtTx, const size_t szTxBits, const uint8_t *pbtTxPar)
 Send raw bit-frames.
NFC_EXPORT int nfc_target_receive_bits (nfc_device *pnd, uint8_t *pbtRx, const size_t szRx, uint8_t *pbtRxPar)
 Receive bit-frames.
NFC_EXPORT const char * nfc_strerror (const nfc_device *pnd)
 Return the last error string.
NFC_EXPORT int nfc_strerror_r (const nfc_device *pnd, char *buf, size_t buflen)
 Renders the last error in pcStrErrBuf for a maximum size of szBufLen chars.
NFC_EXPORT void nfc_perror (const nfc_device *pnd, const char *s)
 Display the last error occured on a nfc_device.
NFC_EXPORT int nfc_device_get_last_error (const nfc_device *pnd)
 Returns last error occured on a nfc_device.
NFC_EXPORT const char * nfc_device_get_name (nfc_device *pnd)
 Returns the device name.
NFC_EXPORT const char * nfc_device_get_connstring (nfc_device *pnd)
 Returns the device connection string.
NFC_EXPORT int nfc_device_get_supported_modulation (nfc_device *pnd, const nfc_mode mode, const nfc_modulation_type **const supported_mt)
 Get supported modulations.
NFC_EXPORT 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.
NFC_EXPORT int nfc_device_set_property_int (nfc_device *pnd, const nfc_property property, const int value)
 Set a device's integer-property value.
NFC_EXPORT int nfc_device_set_property_bool (nfc_device *pnd, const nfc_property property, const bool bEnable)
 Set a device's boolean-property value.
NFC_EXPORT void nfc_free (void *p)
 Free buffer allocated by libnfc.
NFC_EXPORT const char * nfc_version (void)
 Returns the library version.
NFC_EXPORT int nfc_device_get_information_about (nfc_device *pnd, char **buf)
 Print information about NFC device.
NFC_EXPORT const char * str_nfc_modulation_type (const nfc_modulation_type nmt)
 Convert nfc_modulation_type value to string.
NFC_EXPORT const char * str_nfc_baud_rate (const nfc_baud_rate nbr)
 Convert nfc_baud_rate value to string.
NFC_EXPORT int str_nfc_target (char **buf, const nfc_target *pnt, bool verbose)
 Convert nfc_modulation_type value to string.

Detailed Description

libnfc interface

Provide all usefull functions (API) to handle NFC devices.

Definition in file nfc.h.