updates.
[silc.git] / lib / doc / platforms.html
1 <big><b>Platform Implementations</b></big>
2
3 <br />&nbsp;<br />
4 This document describes the implementation issues with different platforms
5 that the SILC Toolkit support.  Some of the supported platforms does not
6 support all the features delivered with the Toolkit or they may behave
7 differently from other platforms.  This document descibres these
8 differences between platforms.
9
10 <br />&nbsp;<br />
11 <li><a href="#unix">Unix & Linux Implementation</a><br />
12 <li><a href="#windows">Windows Implementation</a><br />
13 <li><a href="#macosx">Mac OS X Implementation</a>
14 <li><a href="#symbian">Symbian Implementation</a>
15
16 <br />&nbsp;<br />&nbsp;<br />
17 <b>Supported Platforms</b>
18
19 <br />&nbsp;<br />
20 SILC Toolkit supports by default all Unix and Linux platforms, Windows
21 platforms from Windows 98 and newer, and Mac OS X.  In the future there is
22 also plans to add support for other platforms such as Symbian OS (EPOC).
23
24 <br />&nbsp;<br />&nbsp;<br />
25 <b><a name="unix"></a>Unix Implementation</b>
26
27 <br />&nbsp;<br />
28 All features and components delivered with the SILC Toolkit work on all
29 Unix and Linux platforms.  There are no special Unix platform related
30 implementation issues with current version of SILC Toolkit.
31
32
33 <br />&nbsp;<br />&nbsp;<br />
34 <b><a name="windows"></a>Windows Implementation</b>
35
36 <br />&nbsp;<br />
37 By default all features and components delivered with SILC Toolkit are
38 supported on Windows.  However, there are some certain issues with the
39 Windows version of the SILC Toolkit.
40
41 <br />&nbsp;<br />
42 <li>Toolkit users should not use <tt>silc_client_run</tt> function to
43 execute the Client Library.  Instead the <tt>silc_client_run_one</tt> should
44 be used, for example as an timer task and the Windows application's own
45 message loop should be used as the main message loop.
46
47 <li>The function <tt>silc_net_create_connection_async</tt> is not actually
48 asynchronous on Windows, but synchronous and it will block the process
49 while the connection is created.  This means also that the function
50 <tt>silc_client_connect_to_server</tt> is not asynchronous but
51 synchronous.
52
53
54 <br />&nbsp;<br />&nbsp;<br />
55 <b><a name="macosx"></a>Mac OS X Implementation</b>
56
57 <br />&nbsp;<br />
58 All features and components delivered with the SILC Toolkit work on Mac
59 OS X platform.  There are no special Mac OS X platform related
60 implementation issues with current version of SILC Toolkit.
61
62
63 <br />&nbsp;<br />&nbsp;<br />
64 <b><a name="symbian"></a>Symbian Implementation</b>
65
66 <br />&nbsp;<br />
67 Symbian support in SILC Toolkit is still experimental.  By default all
68 feature and components delivered with SILC Toolkit are supported on
69 Symbian.  However, there are some certain issues with the Symbian version
70 of the SILC Toolkit
71
72 <br />&nbsp;<br />
73 <li>The function <tt>silc_schedule</tt> on Symbian will return immediately,
74 instead of blocking the calling thread/process as on other platforms.  On
75 symbian the function is equivalent to <tt>silc_schedule_one</tt>, and that
76 function should be used instead.  The design of SilcSchedule on Symbian
77 enables efficient data I/O even when <tt>silc_schedule_one</tt> is called
78 from a timer task.  The data I/O is scheduled separately by the Symbian
79 Active Scheduler and the SilcSchedule will merely schedule timeouts.
80
81 <li>The function <tt>silc_client_run</tt> on Symbian will return immediately.
82 On symbian the <tt>silc_client_run_one<tt> should be used instead.  It can
83 used from a timer or from an idle task.