Binary compatibility report for the libnfc library  between 1.5.1 and 1.7.0 versions on x86

Test Info


Library Namelibnfc
Version #11.5.1
Version #21.7.0
CPU Typex86
GCC Version4.6.1

Test Results


Total Header Files3
Total Shared Libraries1
Total Symbols / Types30 / 44
VerdictIncompatible
(46.7%)

Problem Summary


SeverityCount
Added Symbols-20
Removed SymbolsHigh4
Problems with
Data Types
High0
Medium1
Low1
Problems with
Symbols
High2
Medium39
Low76
Problems with
Constants
Low38
Other Changes
in Constants
-16

Added Symbols (20)


nfc.h, libnfc.so.5.0.0
nfc_close nfc_device* pnd )
nfc_device_get_connstring nfc_device* pnd )
nfc_device_get_information_about nfc_device* pnd, char** buf )
nfc_device_get_last_error nfc_device const* pnd )
nfc_device_get_name nfc_device* pnd )
nfc_device_get_supported_baud_rate nfc_device* pnd, enum nfc_modulation_type const nmt, enum nfc_baud_rate const**const supported_br )
nfc_device_get_supported_modulation nfc_device* pnd, enum nfc_mode const mode, enum nfc_modulation_type const**const supported_mt )
nfc_device_set_property_bool nfc_device* pnd, enum nfc_property const property, bool const bEnable )
nfc_device_set_property_int nfc_device* pnd, enum nfc_property const property, int const value )
nfc_exit nfc_context* context )
nfc_free void* p )
nfc_init nfc_context** context )
nfc_initiator_init_secure_element nfc_device* pnd )
nfc_initiator_poll_dep_target nfc_device* pnd, enum nfc_dep_mode const ndm, enum nfc_baud_rate const nbr, struct nfc_dep_info const* pndiInitiator, struct nfc_target* pnt, int const timeout )
nfc_initiator_target_is_present nfc_device* pnd, struct nfc_target const* pnt )
nfc_open ( nfc_context* context, char const* connstring )
nfc_register_driver nfc_driver const* driver )
str_nfc_baud_rate enum nfc_baud_rate const nbr )
str_nfc_modulation_type enum nfc_modulation_type const nmt )
str_nfc_target char** buf, struct nfc_target const* pnt, bool verbose )

to the top

Removed Symbols (4)


nfc.h, libnfc.so.2.0.0
nfc_configure ( struct nfc_device_t* pnd, enum nfc_device_option_t const ndo, bool const bEnable )
nfc_connect struct nfc_device_desc_t* pndd )
nfc_device_name struct nfc_device_t* pnd )
nfc_disconnect struct nfc_device_t* pnd )

to the top

Problems with Symbols, High Severity (2)


nfc.h, libnfc.so.2.0.0
[+] nfc_list_devices ( struct nfc_device_desc_t* pnddDevices, size_t szDevices, size_t* pszDeviceFound ) (1)
[+] nfc_target_init ( struct nfc_device_t* pnd, struct nfc_target_t* pnt, byte_t* pbtRx, size_t* pszRx ) (1)

to the top

Problems with Data Types, Medium Severity (1)


nfc-emulation.h
[+] struct nfc_emulator (1)

to the top

Problems with Symbols, Medium Severity (39)


nfc-emulation.h, libnfc.so.2.0.0
[+] nfc_emulate_target ( struct nfc_device_t* pnd, struct nfc_emulator* emulator ) (1)

nfc.h, libnfc.so.2.0.0
[+] nfc_abort_command struct nfc_device_t* pnd ) (1)
[+] nfc_idle struct nfc_device_t* pnd ) (1)
[+] nfc_initiator_deselect_target struct nfc_device_t* pnd ) (1)
[+] nfc_initiator_init struct nfc_device_t* pnd ) (1)
[+] nfc_initiator_list_passive_targets ( struct nfc_device_t* pnd, struct nfc_modulation_t const nm, struct nfc_target_t* ant, size_t const szTargets, size_t* pszTargetFound ) (4)
[+] nfc_initiator_poll_target ( struct nfc_device_t* pnd, struct nfc_modulation_t const* pnmTargetTypes, size_t const szTargetTypes, uint8_t const uiPollNr, uint8_t const uiPeriod, struct nfc_target_t* pnt ) (3)
[+] nfc_initiator_select_dep_target ( struct nfc_device_t* pnd, enum nfc_dep_mode_t const ndm, enum nfc_baud_rate_t const nbr, struct nfc_dep_info_t const* pndiInitiator, struct nfc_target_t* pnt ) (3)
[+] nfc_initiator_select_passive_target ( struct nfc_device_t* pnd, struct nfc_modulation_t const nm, byte_t const* pbtInitData, size_t const szInitData, struct nfc_target_t* pnt ) (3)
[+] nfc_initiator_transceive_bits ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTxBits, byte_t const* pbtTxPar, byte_t* pbtRx, size_t* pszRxBits, byte_t* pbtRxPar ) (2)
[+] nfc_initiator_transceive_bits_timed ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTxBits, byte_t const* pbtTxPar, byte_t* pbtRx, size_t* pszRxBits, byte_t* pbtRxPar, uint32_t* cycles ) (2)
[+] nfc_initiator_transceive_bytes ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTx, byte_t* pbtRx, size_t* pszRx, struct timeval* timeout ) (3)
[+] nfc_initiator_transceive_bytes_timed ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTx, byte_t* pbtRx, size_t* pszRx, uint32_t* cycles ) (2)
[+] nfc_list_devices ( struct nfc_device_desc_t* pnddDevices, size_t szDevices, size_t* pszDeviceFound ) (1)
[+] nfc_target_init ( struct nfc_device_t* pnd, struct nfc_target_t* pnt, byte_t* pbtRx, size_t* pszRx ) (3)
[+] nfc_target_receive_bits ( struct nfc_device_t* pnd, byte_t* pbtRx, size_t* pszRxBits, byte_t* pbtRxPar ) (2)
[+] nfc_target_receive_bytes ( struct nfc_device_t* pnd, byte_t* pbtRx, size_t* pszRx, struct timeval* timout ) (3)
[+] nfc_target_send_bits ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTxBits, byte_t const* pbtTxPar ) (1)
[+] nfc_target_send_bytes ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTx, struct timeval* timout ) (2)

to the top

Problems with Data Types, Low Severity (1)


nfc-emulation.h
[+] struct nfc_emulation_state_machine (1)

to the top

Problems with Symbols, Low Severity (76)


nfc-emulation.h, libnfc.so.2.0.0
[+] nfc_emulate_target ( struct nfc_device_t* pnd, struct nfc_emulator* emulator ) (1)

nfc.h, libnfc.so.2.0.0
[+] iso14443a_crc byte_t* pbtData, size_t szLen, byte_t* pbtCrc ) (2)
[+] iso14443a_crc_append byte_t* pbtData, size_t szLen ) (1)
[+] iso14443a_locate_historical_bytes byte_t* pbtAts, size_t szAts, size_t* pszTk ) (2)
[+] nfc_abort_command struct nfc_device_t* pnd ) (1)
[+] nfc_idle struct nfc_device_t* pnd ) (1)
[+] nfc_initiator_deselect_target struct nfc_device_t* pnd ) (1)
[+] nfc_initiator_init struct nfc_device_t* pnd ) (1)
[+] nfc_initiator_list_passive_targets ( struct nfc_device_t* pnd, struct nfc_modulation_t const nm, struct nfc_target_t* ant, size_t const szTargets, size_t* pszTargetFound ) (1)
[+] nfc_initiator_poll_target ( struct nfc_device_t* pnd, struct nfc_modulation_t const* pnmTargetTypes, size_t const szTargetTypes, uint8_t const uiPollNr, uint8_t const uiPeriod, struct nfc_target_t* pnt ) (1)
[+] nfc_initiator_select_dep_target ( struct nfc_device_t* pnd, enum nfc_dep_mode_t const ndm, enum nfc_baud_rate_t const nbr, struct nfc_dep_info_t const* pndiInitiator, struct nfc_target_t* pnt ) (4)
[+] nfc_initiator_select_passive_target ( struct nfc_device_t* pnd, struct nfc_modulation_t const nm, byte_t const* pbtInitData, size_t const szInitData, struct nfc_target_t* pnt ) (2)
[+] nfc_initiator_transceive_bits ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTxBits, byte_t const* pbtTxPar, byte_t* pbtRx, size_t* pszRxBits, byte_t* pbtRxPar ) (7)
[+] nfc_initiator_transceive_bits_timed ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTxBits, byte_t const* pbtTxPar, byte_t* pbtRx, size_t* pszRxBits, byte_t* pbtRxPar, uint32_t* cycles ) (7)
[+] nfc_initiator_transceive_bytes ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTx, byte_t* pbtRx, size_t* pszRx, struct timeval* timeout ) (6)
[+] nfc_initiator_transceive_bytes_timed ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTx, byte_t* pbtRx, size_t* pszRx, uint32_t* cycles ) (5)
[+] nfc_list_devices ( struct nfc_device_desc_t* pnddDevices, size_t szDevices, size_t* pszDeviceFound ) (7)
[+] nfc_perror ( struct nfc_device_t const* pnd, char const* pcString ) (2)
[+] nfc_strerror struct nfc_device_t const* pnd ) (1)
[+] nfc_strerror_r ( struct nfc_device_t const* pnd, char* pcStrErrBuf, size_t szBufLen ) (3)
[+] nfc_target_init ( struct nfc_device_t* pnd, struct nfc_target_t* pnt, byte_t* pbtRx, size_t* pszRx ) (2)
[+] nfc_target_receive_bits ( struct nfc_device_t* pnd, byte_t* pbtRx, size_t* pszRxBits, byte_t* pbtRxPar ) (5)
[+] nfc_target_receive_bytes ( struct nfc_device_t* pnd, byte_t* pbtRx, size_t* pszRx, struct timeval* timout ) (6)
[+] nfc_target_send_bits ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTxBits, byte_t const* pbtTxPar ) (3)
[+] nfc_target_send_bytes ( struct nfc_device_t* pnd, byte_t const* pbtTx, size_t const szTx, struct timeval* timout ) (4)

to the top

Problems with Constants, Low Severity (38)


nfc-types.h
[+] DEVICE_NAME_LENGTH
[+] DEVICE_PORT_LENGTH

nfc.h
[+] EBCC
[+] EBITCOLL
[+] EBITCOUNT
[+] EBUFOVF
[+] ECDISCARDED
[+] ECID
[+] ECMD
[+] ECOMIO
[+] ECOMTIMEOUT
[+] ECRC
[+] EDEPINVSTATE
[+] EDEPUNKCMD
[+] EDEVNOTSUP
[+] EFRAACKMISMATCH
[+] EFRAISERRFRAME
[+] EFRAMING
[+] EINBUFOVF
[+] EINVALARG
[+] EINVPARAM
[+] EINVRXFRAM
[+] EMFAUTH
[+] ENAD
[+] ENFCID3
[+] ENOTIMPL
[+] ENSECNOTSUPP
[+] EOPABORT
[+] EOPNOTALL
[+] EOVCURRENT
[+] EOVHEAT
[+] EPARITY
[+] ERFPROTO
[+] ERFTIMEOUT
[+] ESMALLBUF
[+] ETGREL
[+] ETGUIDNOTSUP
[+] ETIMEOUT

to the top

Other Changes in Constants (16)


nfc-types.h
[+] NFC_BUFSIZE_CONNSTRING

nfc.h
[+] __has_attribute_nonnull
[+] NFC_ECHIP
[+] NFC_EDEVNOTSUPP
[+] NFC_EINVARG
[+] NFC_EIO
[+] NFC_EMFCAUTHFAIL
[+] NFC_ENOTIMPL
[+] NFC_ENOTSUCHDEV
[+] NFC_EOPABORTED
[+] NFC_EOVFLOW
[+] NFC_ERFTRANS
[+] NFC_ESOFT
[+] NFC_ETGRELEASED
[+] NFC_ETIMEOUT
[+] NFC_SUCCESS

to the top

Header Files (3)


nfc-emulation.h
nfc-types.h
nfc.h

to the top

Shared Libraries (1)


libnfc.so.2.0.0

to the top




Generated on Wed Sep 4 03:23:36 2013 for libnfc by ABI Compliance Checker 1.99.8.2  
A tool for checking backward compatibility of a C/C++ library API