Testify

Testify is a library for sereielizing data in to bit streams, and then unpacking them. Data can be packed/unpacked form memory, a network connection or a file. Testify packs all data in big endian order and hides any difference between big or small endianess of the CPU. While Testify is written to be very fast it also has extensive debugging capabillities. By enabling the debug state of a Stream Testify can be made to pack significant ammounts of meta data arround each entry. By doing this the receving end can match the incomming data with the expected data makig it trivial to find pack/unpack miss-match buggs. By building Testify without the define TESTIFY_DEBUG all debugging code can be dissabled and maximum preformance can be obtained.

Contents:

TCP Networking
testify_network_stream_address_create
testify_network_stream_send_force
testify_network_stream_wait_for_connection
testify_network_stream_connected
UDP Networking
testify_network_address_lookup
testify_network_datagram_create
testify_network_datagram_send
testify_network_receive
Network adapters
testify_network_adapter_count
testify_network_adapter_ipv4_local_address
testify_network_adapter_ipv4_global_address
testify_network_adapter_ipv4_mask
testify_network_adapter_ipv4_gateway
testify_network_adapter_name
testify_network_adapter_mac_address
testify_network_ipv4_local
File Management
testify_file_load
testify_file_save
testify_file_size
testify_file_position_set
testify_file_position_get
Memmory buffers
testify_buffer_create
testify_buffer_get
testify_buffer_set
Handle Utillities
testify_type
testify_free
testify_network_wait
Debugging
testify_debug_mode_set
testify_network_debug_incomming
testify_network_debug_outbound
testify_network_debug_address_print
Markers
testify_restart_marker_set
testify_restart_marker_release
testify_restart_marker_reset
testify_retivable
testify_retivable_terminated
Data packing
testify_pack_uint8
testify_pack_int8
testify_pack_uint16
testify_pack_int16
testify_pack_uint32
testify_pack_int32
testify_pack_uint64
testify_pack_int64
testify_pack_real32
testify_pack_real64
testify_pack_string
testify_pack_raw
Data unpacking
testify_unpack_uint8
testify_unpack_int8
testify_unpack_uint16
testify_unpack_int16
testify_unpack_uint32
testify_unpack_int32
testify_unpack_uint64
testify_unpack_int64
testify_unpack_real32
testify_unpack_real64
testify_unpack_string
testify_unpack_string_allocate
testify_unpack_raw
Peer discovery
testify_discover
Code Generation
testify_struct_generate
Defines