Platform Implementations
This document describes the implementation issues with different platforms
that the SILC 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. This document descibres these
differences between platforms.
Unix & Linux Implementation
Windows Implementation
Mac OS X Implementation
Symbian Implementation
Supported Platforms
SILC Toolkit supports by default all Unix and Linux platforms, Windows
platforms from Windows 98 and newer, and Mac OS X. In the future there is
also plans to add support for other platforms such as Symbian OS (EPOC).
Unix Implementation
All features and components delivered with the SILC Toolkit work on all
Unix and Linux platforms. There are no special Unix platform related
implementation issues with current version of SILC Toolkit.
Windows Implementation
By default all features and components delivered with SILC Toolkit are
supported on Windows. However, there are some certain issues with the
Windows version of the SILC Toolkit.
Toolkit users should not use silc_client_run function to
execute the Client Library. Instead the silc_client_run_one should
be used, for example as an timer task and the Windows application's own
message loop should be used as the main message loop.
The function silc_net_create_connection_async is not actually
asynchronous on Windows, but synchronous and it will block the process
while the connection is created. This means also that the function
silc_client_connect_to_server is not asynchronous but
synchronous.
Mac OS X Implementation
All features and components delivered with the SILC Toolkit work on Mac
OS X platform. There are no special Mac OS X platform related
implementation issues with current version of SILC Toolkit.
Symbian Implementation
Symbian support in SILC Toolkit is still experimental. By default all
feature and components delivered with SILC Toolkit are supported on
Symbian. However, there are some certain issues with the Symbian version
of the SILC Toolkit
The function silc_schedule on Symbian will return immediately,
instead of blocking the calling thread/process as on other platforms. On
symbian the function is equivalent to silc_schedule_one, and that
function should be used instead. The design of SilcSchedule on Symbian
enables efficient data I/O even when silc_schedule_one is called
from a timer task. The data I/O is scheduled separately by the Symbian
Active Scheduler and the SilcSchedule will merely schedule timeouts.
The function silc_client_run on Symbian will return immediately.
On symbian the silc_client_run_one should be used instead. It can
used from a timer or from an idle task.