Added SILC Thread Queue API
[crypto.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.
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 SILC 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 SILC Toolkit work on all
27 Unix and Linux platforms.  There are no special Unix platform related
28 implementation issues with current version of SILC 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 SILC Toolkit are 
36 supported on Windows.  However, there are some certain issues with the 
37 Windows version of the SILC 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 SILC Toolkit work on Mac
48 OS X platform.  There are no special Mac OS X platform related
49 implementation issues with current version of SILC 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 SILC Toolkit is still experimental.  By default all 
57 features and components delivered with SILC Toolkit are supported and 
58 should work on Symbian.  However, there are some issues with the Symbian 
59 version of the SILC 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.