CAEN Utility  2.0.2
Utilities for CAEN projects
Modules
Here is a list of all modules:
[detail level 12]
 AllocatorUtilities to handle memory allocation in C minimizing memory leaks It provides a malloc-like interface, but keeps an internal list of the allocated pointers. A function can be used to free them all at once, and a function to free all pointers and return a given value is provided. This allows a calling function to quickly allocate resources and return a value free-ing them
 Linked ListUtilities to implement linked list
 Logger functionsLog related functions
 LoggerLog related macros
 MapsHash table implementation in C
 Heap allocator wrappers, optimized for the current systemWrappers to malloc/realloc/calloc/free
 Memory related functionWrappers to memset/memcpy/memmove
 Process related functionsPlatform independent functions to manage processes
 Load functions dynamicallyPlatform independent API to load / close functions from libraries dynamically
 Bit manipulation functionsPlatform independent bit manipulation functions
 dirent.h implementation for WindowsImplementation of "dirent.h" for Windows, using "Henney's POSIX Directory Browsing API for Windows"
 conio.h implementation for LinuxImplementation of "conio.h" for Linux
 POSIX functions on WindowsMacros to use some POSIX functions with their Windows equivalent
 Floating point manipulationPlatform independent floating point manipulation functions
 Time related functionsPlatform independent functions to manage time
 Portable host to Network conversion functionsPlatform independent functions to convert integer formats
 POSIX Getopt for WindowsPlatform independent version for Getopt, POSIX function defined by unistd.h
 Pseudo-random generator MT19937Pseudo-random number generator functions using 32-bit MT19937 by Matsumoto and Nishimura (1998). Equivalent to C++ std::mt19937 implementation
 Pseudo-random generator MT19937-64Pseudo-random number generator functions using 64-bit MT19937 by Matsumoto and Nishimura (2000). Equivalent to C++ std::mt19937_64 implementation
 Serialization/deserialization protocol functionsTCP/IP protocol
 Specialized versions of c_recv/c_recv_unlock for CAEN protocol packets
 Functions to get packet info
 Serialization of base types
 Deserialization of base types
 Network protocol functionsTCP/IP protocol
 Safe versions of recv() and send()
 Safe versions of recv() and send() with mutex locking
 Platform independent wrappers of socket/accept/bind/listen/connect
 Simplified client/server functions
 Condition functions.TODO
 Semaphores related functionsPlatform independent functions to manage semaphores
 Mutex related functionsPlatform independent functions to manage mutexes
 Thread related functionsPlatform independent functions to manage threads
 Tickets related functionsPlatform independent implementation of fair mutex
 Parse URLUtilities to parse a standard URL
 String utility macrosTo convert macro to string
 Compiler version utility macrosTo get information about the used compiler
 Macros to set compiler attributesMacros to set function attributes compilers and improve optimization
 Macro to set likelihood of if statementsThese macros communicate to the compiler that the conditional expression is likely or unlikely to yield a positive result
 String manipulationFunction to manupulate strings
 XML parserWrapper functions to libxml