+ o Add SILC Zip API, compression.
+
+ o file removing, chmod, rmmod, etc. chdir, rmdir, stat, etc. to
+ lib/silcutil/silcfileutil.h.
+
+ o mmap API
+
+ o Multicast support.
+
+ o Implement silc_get_num_cpu.
+
+ o silc_file_readfile and silc_file_writefile should perhaps do the thing
+ with mmap, as it's probably a bit faster.
+
+ o silc_malloc et. al. to respect --with-alignment.
+
+ o Fix universal time decoding (doesn't accept all formats) in silctime.c.
+
+ o Additional scheduler changes: optimize silc_schedule_wakeup. Wakeup
+ only if the scheduler is actually waiting something. If it is
+ delivering tasks wakeup is not needed.
+
+ o silc_stringprep to non-allocating version.
+
+ o Add builtin SOCKS and HTTP Proxy support, well the SOCKS at least.
+ SILC currently supports SOCKS4 and SOCKS5 but it needs to be compiled
+ in separately.
+
+ o Add silc_xml_parse_stream to parse SilcStream XML stream.
+
+ o SILC XML API (wrapper to expat). (***DONE)
+
+ o Bring silchttp HTTP server library to SRT. (***DONE)
+
+ o Simple SILC Rand API for pseudo-random numbers. (***DONE)
+
+ o Add directory opening/traversing functions (***DONE, TODO Windows & Symbian)
+
+ o regex from /lib/contrib to lib/silcutil, define SILC Regex API. (***DONE)
+
+ o Add functions to manipulate environment variables. (***DONE)
+
+ o Add functions to loading shared/dynamic object symbols (replaces the
+ SIM library (lib/silcsim) and introduces generic library). Add this
+ to lib/silcutil/silcdll.[ch]. (***TESTING NEEDED WIN32, TODO Symbian)
+
+ o silc_getopt routines (***DONE)
+
+ o The SILC Event signals. Asynchronous events that can be created,
+ connected to and signalled. Either own event routines or glued into
+ SilcSchedule. (***DONE)
+
+ o If the event signals are added, the SILC_PARAM_* stuff needs to be
+ moved from silcbuffmt.h to silctypes.h or something similar. (***DONE)
+
+ o In case the SILC Events are done we shall create a new concept of
+ parent and child SilcSchedule's. When new SilcSchedule is created a
+ parent can be associated to it. This association could be done either
+ directly by the parent or by any other children. This way the signals
+ would in effect be global and would reach all children schedulers.
+
+ This relationship would be associative only. The schedulers are still
+ independent and run independently from each other. All schedulers
+ would be linked and could be accessed from any of the schedulers.
+ It should be possible to retrieve the parent and enumerate all children
+ from any of the schedulers.
+ (***DONE)
+
+ o Base64 to an own API (***DONE)
+
+ o Timer API (***DONE)
+
+ o silc_hash_table_replace -> silc_hash_table_set. Retain support for
+ silc_hash_table_replace as macro. (***DONE)
+
+ o SilcStack aware SilcHashTable. (***DONE)
+
+ o SilcStack aware SilcDList. (***DONE)
+
+ o Thread pool API. Add this to lib/silcutil/silcthread.[ch]. (***DONE)
+
+ o Add new functions to SilcStack API in lib/silcutil/silcstack.[ch]. Add
+ silc_stack_[set|get]_alignment. It defines the default alignment used
+ when allocating memory from stack. It can be used to specify special
+ alignments too when needed (such as for hardware devices like crypto
+ accelerators). Move also the low level silc_stack_malloc and
+ silc_stack_realloc from silcstack_i.h to silcstack.h. Remove the
+ _ua unaligned memory allocation routines. Remove unaligned memory
+ allocation possibility. (***DONE)
+
+ o silc_stack_alloc shouldn't require multiple by 8 size argument, it
+ should figure it out itself. (***DONE)
+
+ o Add '%@' format to silc_snprintf functions.
+ (***DONE)
+
+ o SILC Tls (Thread-local storage) API to lib/silcutil/silcthread.[ch].
+ (***DONE)
+
+ o Change silc_gettimeofday on Unix to use clock_gettime with REALTIME
+ clock if it is available, otherwise use gettimeofday(). (***DONE)
+
+ o Generic SilcResult that includes all possible status and
+ error conditions and generic errno API. (***DONE)