Binary compatibility report for the libmowgli library between 1.0.0 and 2.0.0 versions on x86

Test Info


Library Namelibmowgli
Version #11.0.0
Version #22.0.0
CPU Typex86
GCC Version4.6.1

Test Results


Total Header Files1
Total Shared Libraries1
Total Symbols / Types188 / 105
VerdictIncompatible
(14.4%)

Problem Summary


SeverityCount
Added Symbols-119
Removed SymbolsHigh27
Problems with
Data Types
High0
Medium0
Low4
Problems with
Symbols
High0
Medium0
Low9
Problems with
Constants
Low4
Other Changes
in Constants
-52

Added Symbols (119)


alloc.h, libmowgli-2.so.0.0.0
mowgli_alloc_array_using_policy ( struct mowgli_allocation_policy_t* policy, size_t size, size_t count )
mowgli_alloc_using_policy ( struct mowgli_allocation_policy_t* policy, size_t size )
mowgli_strdup char const* in )
mowgli_strdup_using_policy ( struct mowgli_allocation_policy_t* policy, char const* in )

allocation_policy.h, libmowgli-2.so.0.0.0
mowgli_allocation_policy_bootstrap ( )

allocator.h, libmowgli-2.so.0.0.0
mowgli_allocator_bootstrap ( )

argstack.h, libmowgli-2.so.0.0.0
mowgli_argstack_bootstrap ( )

bitvector.h, libmowgli-2.so.0.0.0
mowgli_bitvector_bootstrap ( )

confparse.h, libmowgli-2.so.0.0.0
mowgli_config_file_free mowgli_config_file_t* cfptr )
mowgli_config_file_load char const* filename )

dns.h, libmowgli-2.so.0.0.0
mowgli_dns_create ( mowgli_eventloop_t* eventloop, int implementation )
mowgli_dns_delete_query ( mowgli_dns_t* dns, mowgli_dns_query_t const* query )
mowgli_dns_destroy mowgli_dns_t* dns )
mowgli_dns_gethost_byaddr ( mowgli_dns_t* dns, struct sockaddr_storage const* addr, mowgli_dns_query_t* query )
mowgli_dns_gethost_byname ( mowgli_dns_t* dns, char const* name, mowgli_dns_query_t* query, int type )
mowgli_dns_init ( mowgli_dns_t* dns, mowgli_eventloop_t* eventloop, struct mowgli_dns_ops_t const* ops )
mowgli_dns_restart mowgli_dns_t* dns )

dns_evloop_res.h, libmowgli-2.so.0.0.0
mowgli_dns_evloop_add_local_domain ( mowgli_dns_t* dns, char* p2, size_t p3 )
mowgli_dns_evloop_delete_queries ( mowgli_dns_t* dns, mowgli_dns_query_t const* p2 )
mowgli_dns_evloop_destroy mowgli_dns_t* dns )
mowgli_dns_evloop_gethost_byaddr ( mowgli_dns_t* dns, struct sockaddr_storage const* p2, mowgli_dns_query_t* p3 )
mowgli_dns_evloop_gethost_byname ( mowgli_dns_t* dns, char const* p2, mowgli_dns_query_t* p3, int p4 )
mowgli_dns_evloop_init ( mowgli_dns_t* dns, mowgli_eventloop_t* eventloop )
mowgli_dns_evloop_resolver [data]
mowgli_dns_evloop_restart mowgli_dns_t* dns )

dns_evloop_reslib.h, libmowgli-2.so.0.0.0
mowgli_dns_dn_expand ( unsigned char const* msg, unsigned char const* eom, unsigned char const* src, char* dst, int dstsiz )
mowgli_dns_dn_skipname ( unsigned char const* ptr, unsigned char const* eom )
mowgli_dns_ns_get16 unsigned char const* src )
mowgli_dns_ns_get32 unsigned char const* src )
mowgli_dns_ns_put16 ( unsigned int src, unsigned char* dst )
mowgli_dns_ns_put32 ( unsigned long src, unsigned char* dst )
mowgli_dns_res_mkquery ( char const* dname, int query_class, int type, unsigned char* buf, int buflen )

eventloop.h, libmowgli-2.so.0.0.0
mowgli_eventloop_break mowgli_eventloop_t* eventloop )
mowgli_eventloop_create ( )
mowgli_eventloop_destroy mowgli_eventloop_t* eventloop )
mowgli_eventloop_get_data mowgli_eventloop_t* eventloop )
mowgli_eventloop_next_timer mowgli_eventloop_t* eventloop )
mowgli_eventloop_run mowgli_eventloop_t* eventloop )
mowgli_eventloop_run_once mowgli_eventloop_t* eventloop )
mowgli_eventloop_run_timers mowgli_eventloop_t* eventloop )
mowgli_eventloop_set_data ( mowgli_eventloop_t* eventloop, void* data )
mowgli_eventloop_timeout_once ( mowgli_eventloop_t* eventloop, int timeout )
mowgli_eventloop_timers_only mowgli_eventloop_t* eventloop )
mowgli_helper_create ( mowgli_eventloop_t* eventloop, void(*start_fn)(mowgli_eventloop_helper_proc_t*, void*), char const* helpername, void* userdata )
mowgli_helper_destroy ( mowgli_eventloop_t* eventloop, mowgli_eventloop_helper_proc_t* helper )
mowgli_helper_set_read_cb ( mowgli_eventloop_t* eventloop, mowgli_eventloop_helper_proc_t* helper, void(*read_fn)(mowgli_eventloop_t*, mowgli_eventloop_io_t*, enum mowgli_eventloop_io_dir_t, void*) )
mowgli_helper_setup mowgli_eventloop_t* eventloop )
mowgli_helper_spawn ( mowgli_eventloop_t* eventloop, char const* path, char*const* argv )
mowgli_pollable_create ( mowgli_eventloop_t* eventloop, mowgli_descriptor_t fd, void* userdata )
mowgli_pollable_destroy ( mowgli_eventloop_t* eventloop, mowgli_eventloop_pollable_t* pollable )
mowgli_pollable_set_nonblocking ( mowgli_eventloop_pollable_t* pollable, bool nonblocking )
mowgli_pollable_setselect ( mowgli_eventloop_t* eventloop, mowgli_eventloop_pollable_t* pollable, enum mowgli_eventloop_io_dir_t dir, void(*event_function)(mowgli_eventloop_t*, mowgli_eventloop_io_t*, enum mowgli_eventloop_io_dir_t, void*) )
mowgli_simple_eventloop_error_handler ( mowgli_eventloop_t* eventloop, mowgli_eventloop_io_t* io, enum mowgli_eventloop_io_dir_t dir, void* userdata )
mowgli_simple_eventloop_run_once mowgli_eventloop_t* eventloop )
mowgli_simple_eventloop_timeout_once ( mowgli_eventloop_t* eventloop, int timeout )
mowgli_timer_add ( mowgli_eventloop_t* eventloop, char const* name, void(*func)(void*), void* arg, time_t when )
mowgli_timer_add_once ( mowgli_eventloop_t* eventloop, char const* name, void(*func)(void*), void* arg, time_t when )
mowgli_timer_destroy ( mowgli_eventloop_t* eventloop, struct mowgli_eventloop_timer_t* timer )
mowgli_timer_find ( mowgli_eventloop_t* eventloop, void(*func)(void*), void* arg )

global_storage.h, libmowgli-2.so.0.0.0
mowgli_global_storage_bootstrap ( )

hook.h, libmowgli-2.so.0.0.0
mowgli_hook_bootstrap ( )

linebuf.h, libmowgli-2.so.0.0.0
mowgli_linebuf_attach_to_eventloop ( mowgli_linebuf_t* linebuf, mowgli_eventloop_t* eventloop )
mowgli_linebuf_create ( void(*cb)(mowgli_linebuf_t*, char*, size_t, void*), void* userdata )
mowgli_linebuf_destroy mowgli_linebuf_t* linebuf )
mowgli_linebuf_setbuflen ( mowgli_linebuf_buf_t* buffer, size_t buflen )
mowgli_linebuf_write ( mowgli_linebuf_t* linebuf, char const* data, int len )
mowgli_linebuf_writef ( mowgli_linebuf_t* linebuf, char const* format, ... )

list.h, libmowgli-2.so.0.0.0
mowgli_node_bootstrap ( )

memslice.h, libmowgli-2.so.0.0.0
mowgli_memslice_bootstrap ( )
mowgli_memslice_get_policy ( )

mowgli_string.h, libmowgli-2.so.0.0.0
mowgli_writef ( mowgli_descriptor_t fd, char const* fmt, ... )

mutex.h, libmowgli-2.so.0.0.0
mowgli_mutex_create ( )
mowgli_mutex_destroy mowgli_mutex_t* mutex )
mowgli_mutex_init mowgli_mutex_t* mutex )
mowgli_mutex_lock mowgli_mutex_t* mutex )
mowgli_mutex_set_policy enum mowgli_thread_policy_t policy )
mowgli_mutex_trylock mowgli_mutex_t* mutex )
mowgli_mutex_uninit mowgli_mutex_t* mutex )
mowgli_mutex_unlock mowgli_mutex_t* mutex )

patricia.h, libmowgli-2.so.0.0.0
mowgli_patricia_shutdown ( )

process.h, libmowgli-2.so.0.0.0
mowgli_process_clone ( mowgli_process_start_fn_t start_fn, char const* proctitle, void* userdata )
mowgli_process_kill struct mowgli_process_t* process )
mowgli_process_spawn ( char const* path, char*const* argv )

proctitle.h, libmowgli-2.so.0.0.0
mowgli_proctitle_get int* displen )
mowgli_proctitle_init int argc, char** argv )
mowgli_proctitle_set char const* fmt, ... )

program_opts.h, libmowgli-2.so.0.0.0
mowgli_program_opts_consumer_bool char const* arg, void* userdata )
mowgli_program_opts_consumer_int char const* arg, void* userdata )
mowgli_program_opts_consumer_str char const* arg, void* userdata )
mowgli_program_opts_parse ( struct mowgli_program_opts_t const* opts, size_t opts_size, int* argc, char*** argv )

queue.h, libmowgli-2.so.0.0.0
mowgli_queue_bootstrap ( )

random.h, libmowgli-2.so.0.0.0
mowgli_random_bootstrap ( )

vio.h, libmowgli-2.so.0.0.0
mowgli_vio_create void* userdata )
mowgli_vio_default_accept ( mowgli_vio_t* vio, mowgli_vio_t* newvio )
mowgli_vio_default_bind ( mowgli_vio_t* vio, mowgli_vio_sockaddr_t* addr )
mowgli_vio_default_close mowgli_vio_t* vio )
mowgli_vio_default_connect ( mowgli_vio_t* vio, mowgli_vio_sockaddr_t* addr )
mowgli_vio_default_error mowgli_vio_t* vio )
mowgli_vio_default_listen ( mowgli_vio_t* vio, int backlog )
mowgli_vio_default_ops [data]
mowgli_vio_default_read ( mowgli_vio_t* vio, void* buffer, size_t len )
mowgli_vio_default_recvfrom ( mowgli_vio_t* vio, void* buffer, size_t len, mowgli_vio_sockaddr_t* addr )
mowgli_vio_default_seek ( mowgli_vio_t* vio, long offset, int whence )
mowgli_vio_default_sendto ( mowgli_vio_t* vio, void const* buffer, size_t len, mowgli_vio_sockaddr_t* addr )
mowgli_vio_default_socket ( mowgli_vio_t* vio, int family, int type, int proto )
mowgli_vio_default_tell mowgli_vio_t* vio )
mowgli_vio_default_write ( mowgli_vio_t* vio, void const* buffer, size_t len )
mowgli_vio_destroy mowgli_vio_t* vio )
mowgli_vio_err_errcode ( mowgli_vio_t* vio, char*(*int_to_error)(int), int errcode )
mowgli_vio_err_sslerrcode ( mowgli_vio_t* vio, int errcode )
mowgli_vio_eventloop_attach ( mowgli_vio_t* vio, mowgli_eventloop_t* eventloop )
mowgli_vio_eventloop_detach mowgli_vio_t* vio )
mowgli_vio_init ( mowgli_vio_t* vio, void* userdata )
mowgli_vio_openssl_getsslcontext mowgli_vio_t* vio )
mowgli_vio_openssl_getsslhandle mowgli_vio_t* vio )
mowgli_vio_openssl_setssl ( mowgli_vio_t* vio, mowgli_vio_ssl_settings_t* settings )
mowgli_vio_sockaddr_create ( mowgli_vio_sockaddr_t* naddr, int proto, char const* addr, int port )
mowgli_vio_sockaddr_from_struct ( mowgli_vio_sockaddr_t* naddr, void const* addr, socklen_t size )
mowgli_vio_sockaddr_info ( mowgli_vio_sockaddr_t const* addr, mowgli_vio_sockdata_t* data )

to the top

Removed Symbols (27)


mowgli_allocation_policy.h, libmowgli.so.2.0.0
mowgli_allocation_policy_init ( )

mowgli_allocator.h, libmowgli.so.2.0.0
mowgli_allocator_init ( )

mowgli_argstack.h, libmowgli.so.2.0.0
mowgli_argstack_init ( )

mowgli_bitvector.h, libmowgli.so.2.0.0
mowgli_bitvector_init ( )

mowgli_global_storage.h, libmowgli.so.2.0.0
mowgli_global_storage_init ( )

mowgli_hook.h, libmowgli.so.2.0.0
mowgli_hook_init ( )

mowgli_ioevent.h, libmowgli.so.2.0.0
mowgli_ioevent_associate ( struct mowgli_ioevent_handle_t* self, enum mowgli_ioevent_source_t source, int object, unsigned int flags, void* opaque )
mowgli_ioevent_create ( )
mowgli_ioevent_destroy struct mowgli_ioevent_handle_t* self )
mowgli_ioevent_dissociate ( struct mowgli_ioevent_handle_t* self, enum mowgli_ioevent_source_t source, int object )
mowgli_ioevent_get ( struct mowgli_ioevent_handle_t* self, struct mowgli_ioevent_t* buf, size_t bufsize, unsigned int delay )

mowgli_list.h, libmowgli.so.2.0.0
mowgli_node_init ( )

mowgli_mempool.h, libmowgli.so.2.0.0
mowgli_mempool_add ( mowgli_mempool_t* pool, void* ptr )
mowgli_mempool_allocate ( mowgli_mempool_t* pool, size_t sz )
mowgli_mempool_cleanup mowgli_mempool_t* pool )
mowgli_mempool_create ( )
mowgli_mempool_destroy mowgli_mempool_t* pool )
mowgli_mempool_release ( mowgli_mempool_t* pool, void* addr )
mowgli_mempool_strdup ( mowgli_mempool_t* pool, char* src )
mowgli_mempool_with_custom_destructor mowgli_destructor_t destructor )

mowgli_queue.h, libmowgli.so.2.0.0
mowgli_queue_init ( )

mowgli_random.h, libmowgli.so.2.0.0
mowgli_random_init ( )

mowgli_spinlock.h, libmowgli.so.2.0.0
mowgli_spinlock_create ( )
mowgli_spinlock_lock ( struct mowgli_spinlock_t* self, void* r, void* w )
mowgli_spinlock_timed_wait ( struct mowgli_spinlock_t* self, enum mowgli_spinlock_lock_param_t param, struct timeval* tv )
mowgli_spinlock_unlock ( struct mowgli_spinlock_t* self, void* r, void* w )
mowgli_spinlock_wait ( struct mowgli_spinlock_t* self, enum mowgli_spinlock_lock_param_t param )

to the top

Problems with Data Types, Low Severity (4)


mowgli_allocation_policy.h
[+] typedef mowgli_allocation_func_t (1)

mowgli_dictionary.h
[+] struct mowgli_dictionary_elem_ (2)
[+] typedef mowgli_dictionary_comparator_func_t (1)

to the top

Problems with Symbols, Low Severity (9)


mowgli_dictionary.h, libmowgli.so.2.0.0
[+] mowgli_dictionary_add ( mowgli_dictionary_t* dtree, char const* key, void* data ) (1)
[+] mowgli_dictionary_delete ( mowgli_dictionary_t* dtree, char const* key ) (1)
[+] mowgli_dictionary_find ( mowgli_dictionary_t* dtree, char const* key ) (1)
[+] mowgli_dictionary_get_linear_index ( mowgli_dictionary_t* dict, char const* key ) (1)
[+] mowgli_dictionary_retrieve ( mowgli_dictionary_t* dtree, char const* key ) (1)

mowgli_list.h, libmowgli.so.2.0.0
[+] mowgli_node_index ( mowgli_node_t* n, mowgli_list_t* l ) (1)
[+] mowgli_node_insert void* data, mowgli_node_t* n, mowgli_list_t* l, int position ) (1)
[+] mowgli_node_nth ( mowgli_list_t* l, int pos ) (1)
[+] mowgli_node_nth_data ( mowgli_list_t* l, int pos ) (1)

to the top

Problems with Constants, Low Severity (4)


mowgli_ioevent.h
[+] MOWGLI_POLLERR
[+] MOWGLI_POLLHUP
[+] MOWGLI_POLLRDNORM
[+] MOWGLI_POLLWRNORM

to the top

Other Changes in Constants (52)


dns.h
[+] MOWGLI_DNS_RES_HOSTLEN
[+] MOWGLI_DNS_RES_INVALID
[+] MOWGLI_DNS_RES_NXDOMAIN
[+] MOWGLI_DNS_RES_SUCCESS
[+] MOWGLI_DNS_RES_TIMEOUT
[+] MOWGLI_DNS_T_A
[+] MOWGLI_DNS_T_AAAA
[+] MOWGLI_DNS_T_CNAME
[+] MOWGLI_DNS_T_MX
[+] MOWGLI_DNS_T_NULL
[+] MOWGLI_DNS_T_PTR
[+] MOWGLI_DNS_T_SSHFP
[+] MOWGLI_DNS_T_TXT
[+] MOWGLI_DNS_TYPE_ASYNC
[+] MOWGLI_DNS_TYPE_CUSTOM
[+] MOWGLI_DNS_TYPE_HELPER

dns_evloop_res.h
[+] MOWGLI_DNS_MAXNS

dns_evloop_reslib.h
[+] MOWGLI_DNS_C_IN
[+] MOWGLI_DNS_HFIXEDSIZE
[+] MOWGLI_DNS_IQUERY
[+] MOWGLI_DNS_NO_ERRORS
[+] MOWGLI_DNS_NS_CMPRSFLAGS
[+] MOWGLI_DNS_NS_IN6ADDRSIZE
[+] MOWGLI_DNS_NS_INADDRSIZE
[+] MOWGLI_DNS_NS_INT16SIZE
[+] MOWGLI_DNS_NS_INT32SIZE
[+] MOWGLI_DNS_NS_MAXCDNAME
[+] MOWGLI_DNS_NS_NOTIFY_OP
[+] MOWGLI_DNS_NXDOMAIN
[+] MOWGLI_DNS_QFIXEDSIZE
[+] MOWGLI_DNS_QUERY
[+] MOWGLI_DNS_RRFIXEDSIZE
[+] MOWGLI_DNS_SERVFAIL

linebuf.h
[+] MOWGLI_LINEBUF_ERR_NONE
[+] MOWGLI_LINEBUF_ERR_READBUF_FULL
[+] MOWGLI_LINEBUF_ERR_WRITEBUF_FULL
[+] MOWGLI_LINEBUF_LINE_HASNULLCHAR

machine.h
[+] MOWGLI_CPU_BITS
[+] MOWGLI_OS

vio.h
[+] MOWGLI_VIO_FLAGS_ISCLIENT
[+] MOWGLI_VIO_FLAGS_ISCLOSED
[+] MOWGLI_VIO_FLAGS_ISCONNECTING
[+] MOWGLI_VIO_FLAGS_ISONHEAP
[+] MOWGLI_VIO_FLAGS_ISSERVER
[+] MOWGLI_VIO_FLAGS_ISSSLCONNECTING
[+] MOWGLI_VIO_FLAGS_NEEDREAD
[+] MOWGLI_VIO_FLAGS_NEEDWRITE
[+] MOWGLI_VIO_SSLFLAGS_SSLV2
[+] MOWGLI_VIO_SSLFLAGS_SSLV3
[+] MOWGLI_VIO_SSLFLAGS_TLSV10
[+] MOWGLI_VIO_SSLFLAGS_TLSV11
[+] MOWGLI_VIO_SSLFLAGS_TLSV12

to the top

Header Files (1)


mowgli.h

to the top

Shared Libraries (1)


libmowgli.so.2.0.0

to the top