Introduction

SILC Runtime Toolkit (SRT) provides useful utility functions for application programmers. SRT can be used as the sole and main runtime in any application. It provides application main loop, hash table, lists, atomic operations, threads, locks, queues, file descriptor stream, socket stream, network routines, a finite state machine, memory pool, random number generator, buffers, regular expressions, and many many other features.

SRT natively supports multiple platforms; Unix/Linux, Windows, Mac OS X and Symbian OS, and all APIs work identically or nearly identically on all support platforms. The SRT does not have any special third party dependencies. On most Unix/Linux platforms only external dependency is POSIX threads library. On Windows and Symbian OS no special dependencies exist.

SRT and all of its APIs are entirely reentrant as long as different context is used in each thread. None of the APIs use global or static variables, or access shared data without locking. Some APIs are also completely thread safe and can be freely used in multithreaded environment without restrictions. The Toolkit Reference Manual will always specify which API is thread safe.