SILC Runtime Toolkit 1.2 Beta 1
[runtime.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 Runtime Toolkit support.  Some of the supported platforms 
6 does not support all the features delivered with the Toolkit or they may 
7 behave differently from other platforms.
8
9 <br />&nbsp;<br />
10 <li><a href="#unix">Unix & Linux Implementation</a><br />
11 <li><a href="#windows">Windows Implementation</a><br />
12 <li><a href="#macosx">Mac OS X Implementation</a>
13 <li><a href="#symbian">Symbian OS Implementation</a>
14
15 <br />&nbsp;<br />&nbsp;<br />
16 <b>Supported Platforms</b>
17
18 <br />&nbsp;<br />
19 The Toolkit supports by default all Unix and Linux platforms, Windows
20 platforms from Windows 2000 and newer, Mac OS X and Symbian OS.
21
22 <br />&nbsp;<br />&nbsp;<br />
23 <b><a name="unix"></a>Unix Implementation</b>
24
25 <br />&nbsp;<br />
26 All features and components delivered with the Toolkit work on all
27 Unix and Linux platforms.  There are no special Unix platform related
28 implementation issues with current version of Toolkit.
29
30
31 <br />&nbsp;<br />&nbsp;<br />
32 <b><a name="windows"></a>Windows Implementation</b>
33
34 <br />&nbsp;<br />
35 By default all features and components delivered with Toolkit are 
36 supported on Windows.  However, there are some certain issues with the 
37 Windows version of the Toolkit.
38
39 <br />&nbsp;<br />
40 <li>Some of the network routines do not support IPv6.
41
42
43 <br />&nbsp;<br />&nbsp;<br />
44 <b><a name="macosx"></a>Mac OS X Implementation</b>
45
46 <br />&nbsp;<br />
47 All features and components delivered with the Toolkit work on Mac
48 OS X platform.  There are no special Mac OS X platform related
49 implementation issues with current version of Toolkit.
50
51
52 <br />&nbsp;<br />&nbsp;<br />
53 <b><a name="symbian"></a>Symbian OS Implementation</b>
54
55 <br />&nbsp;<br />
56 Symbian OS support in Toolkit is still experimental.  By default all 
57 features and components delivered with the Toolkit are supported and 
58 should work on Symbian.  However, there are some issues with the Symbian 
59 version of the Toolkit of what Symbian developers need to be aware.
60
61 <br />&nbsp;<br />
62 <li>The function <tt>silc_schedule</tt> on Symbian will allocate new Active 
63 Scheduler Waiter and will block the calling thread.  The caller should 
64 allocate Active Scheduler before calling <tt>silc_schedule</tt>.
65
66 <li>When adding timeout tasks to SILC Scheduler the SILC Scheduler is woken 
67 up after the timeout task has been added.  This allows adding of the 
68 timeout tasks from Symbian active objects outside the SILC Scheduler loop.  
69 On other platforms this wakeup operation is not performed.
70
71 <li>Adding fd task to SILC Scheduler will not schedule the fd for any 
72 operation.  Instead, programmer should use SILC Socket Stream API and SILC 
73 Fd Stream API on Symbian when dealing with file descriptors and sockets.  
74 These APIs provide asynchronous notification when data is available and can 
75 be written.
76
77 <li>The function <tt>silc_thread_create</tt> on Symbian will install Active 
78 Scheduler and allocate Cleanup Stack for the new thread.  The created 
79 thread always shares heap with the parent thread.