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.
     
     
    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.