Platform Implementations
This document describes the implementation issues with different platforms
that the SILC Runtime Toolkit support. Some of the supported platforms
does not support all the features delivered with the Toolkit or they may
behave differently from other platforms.
Unix & Linux Implementation
Windows Implementation
Mac OS X Implementation
Symbian OS Implementation
Supported Platforms
The Toolkit supports by default all Unix and Linux platforms, Windows
platforms from Windows 2000 and newer, Mac OS X and Symbian OS.
Unix Implementation
All features and components delivered with the Toolkit work on all
Unix and Linux platforms. There are no special Unix platform related
implementation issues with current version of Toolkit.
Windows Implementation
By default all features and components delivered with Toolkit are
supported on Windows. However, there are some certain issues with the
Windows version of the Toolkit.
Some of the network routines do not support IPv6.
Mac OS X Implementation
All features and components delivered with the Toolkit work on Mac
OS X platform. There are no special Mac OS X platform related
implementation issues with current version of Toolkit.
Symbian OS Implementation
Symbian OS support in Toolkit is still experimental. By default all
features and components delivered with the Toolkit are supported and
should work on Symbian. However, there are some issues with the Symbian
version of the Toolkit of what Symbian developers need to be aware.
The function silc_schedule on Symbian will allocate new Active
Scheduler Waiter and will block the calling thread. The caller should
allocate Active Scheduler before calling silc_schedule.
When adding timeout tasks to SILC Scheduler the SILC Scheduler is woken
up after the timeout task has been added. This allows adding of the
timeout tasks from Symbian active objects outside the SILC Scheduler loop.
On other platforms this wakeup operation is not performed.
Adding fd task to SILC Scheduler will not schedule the fd for any
operation. Instead, programmer should use SILC Socket Stream API and SILC
Fd Stream API on Symbian when dealing with file descriptors and sockets.
These APIs provide asynchronous notification when data is available and can
be written.
The function silc_thread_create on Symbian will install Active
Scheduler and allocate Cleanup Stack for the new thread. The created
thread always shares heap with the parent thread.