updates.
[website.git] / docs / toolkit / manual / platforms.html
diff --git a/docs/toolkit/manual/platforms.html b/docs/toolkit/manual/platforms.html
new file mode 100644 (file)
index 0000000..1b863d0
--- /dev/null
@@ -0,0 +1,273 @@
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-a" />
+ <meta http-equiv="Content-Language" content="en" />
+ <meta name="description" content="SILC Secure Internet Live Conferencing" />
+ <meta name="keywords" content="SILC, secure, chat, protocol, cipher, encrypt, SKE" />
+ <meta content="INDEX, FOLLOW" name="ROBOTS" />
+ <style type="text/css">
+  <!--
+  body { color: #000000; background: #f0f0f0; font-family: Helvetica, Arial, Sans-serif; }
+  a:link { text-decoration: none; color: #2f488f; }
+  a:visited { text-decoration: none;color: #2f488f; }
+  a:active { text-decoration: none; color: #2f488f; }
+  -->
+ </style>
+</head>
+
+<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
+
+<table border="0" cellspacing="0" cellpadding="6" width="100%">
+ <tr valign="top" bgcolor="#dddddd">
+  <td><small>Copyright &copy; 2001 - 2007 SILC Project<br />
+    <a href="http://silcnet.org">SILC Project Website</a></small></td>
+  <td align="right"><small>
+   <a href="index.html">SILC Toolkit Reference Manual</a><br />
+   <a href="toolkit_index.html">Index</a></small></td>
+   </small></td>
+ </tr>
+</table>
+<table border="0" cellspacing="0" cellpadding="0" width="100%">
+<tr bgcolor="#444444"><td><img src="space.gif" width="1" height="1"border="0" alt="" ></td></tr>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top">
+
+  <td width="200" bgcolor="#f0f0f0">
+   <img src="space.gif" width="1" height="1" border="0" alt="">
+   <table width="100%" cellpadding="2" cellspacing="2" border="0">
+    <tr valign="top"><td>
+<br />
+<small>
+<!-- Template file for the big index that appears in the Toolkit reference
+manual on the left side.  With this file it is possible to add other than
+automatically generated links to that list. -->
+
+<a href="index.html"><img src="box.gif" border="0" alt="">SILC Toolkit Reference Manual</a><br />
+
+
+<a href=silccryptlib.html><img src=box.gif border=0 alt=>SILC Crypto Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcrng_intro.html><img src=box2.gif border=0 alt=>Introduction to SILC RNG</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcrng.html><img src=box2.gif border=0 alt=>SILC RNG Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silccipher.html><img src=box2.gif border=0 alt=>SILC Cipher API</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcpkcs.html><img src=box2.gif border=0 alt=>SILC PKCS API</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcpk.html><img src=box2.gif border=0 alt=>SILC Public Key API</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcpkcs1.html><img src=box2.gif border=0 alt=>SILC PKCS #1 API</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silchash.html><img src=box2.gif border=0 alt=>SILC Hash Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silchmac.html><img src=box2.gif border=0 alt=>SILC HMAC Interface</a><br />
+<a href=silccorelib.html><img src=box.gif border=0 alt=>SILC Core Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcauth.html><img src=box2.gif border=0 alt=>SILC Authentication Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcmessage.html><img src=box2.gif border=0 alt=>SILC Message Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcchannel.html><img src=box2.gif border=0 alt=>SILC Channel Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silccommand.html><img src=box2.gif border=0 alt=>SILC Command Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcnotify.html><img src=box2.gif border=0 alt=>SILC Notify Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcstatus.html><img src=box2.gif border=0 alt=>SILC Status Types</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcmode.html><img src=box2.gif border=0 alt=>SILC Modes</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcid.html><img src=box2.gif border=0 alt=>SILC ID Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcargument.html><img src=box2.gif border=0 alt=>SILC Argument Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcattrs.html><img src=box2.gif border=0 alt=>SILC Attributes Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcpacket.html><img src=box2.gif border=0 alt=>Packet Engine Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcpubkey.html><img src=box2.gif border=0 alt=>SILC Public Key Payload Interface</a><br />
+<a href=silcskelib.html><img src=box.gif border=0 alt=>SILC Key Exchange Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcske.html><img src=box2.gif border=0 alt=>SILC SKE Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcconnauth.html><img src=box2.gif border=0 alt=>SILC Connection Authentication Interface</a><br />
+<a href=silcvcardlib.html><img src=box.gif border=0 alt=>SILC VCard Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcvcard.html><img src=box2.gif border=0 alt=>SILC VCard Interface</a><br />
+<a href=silcmathlib.html><img src=box.gif border=0 alt=>SILC Math Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcmp.html><img src=box2.gif border=0 alt=>SILC MP Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcmath.html><img src=box2.gif border=0 alt=>SILC Math Interface</a><br />
+<a href=silcclientlib.html><img src=box.gif border=0 alt=>SILC Client Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcclient_using.html><img src=box2.gif border=0 alt=>Using SILC Client Library Tutorial</a><br />
+&nbsp;&nbsp;&nbsp; <a href=command_reply_args.html><img src=box2.gif border=0 alt=>Arguments for <b>command_reply</b> Client Operation</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcstatus_args.html><img src=box2.gif border=0 alt=>SilcStatus Error Arguments in <b>command_reply</b> Client Operation</a><br />
+&nbsp;&nbsp;&nbsp; <a href=notifyargs.html><img src=box2.gif border=0 alt=>Arguments for <b>notify</b> Client Operation</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcclient_unicode.html><img src=box2.gif border=0 alt=>Unicode and UTF-8 Strings in Client Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcclient.html><img src=box2.gif border=0 alt=>Client Library Interface Reference</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcclient_entry.html><img src=box2.gif border=0 alt=>Client Entry Interface Reference</a><br />
+<a href=silcasn1lib.html><img src=box.gif border=0 alt=>SILC ASN.1 Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcasn1.html><img src=box2.gif border=0 alt=>SILC ASN.1 Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcber.html><img src=box2.gif border=0 alt=>SILC BER interface</a><br />
+<a href=silchttplib.html><img src=box.gif border=0 alt=>SILC HTTP Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silchttpserver.html><img src=box2.gif border=0 alt=>SILC HTTP Server Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silchttpphp.html><img src=box2.gif border=0 alt=>SILC HTTP PHP Translator</a><br />
+<a href=silcutillib.html><img src=box.gif border=0 alt=>SILC Utility Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silctypes.html><img src=box2.gif border=0 alt=>Basic Types and Definitions</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcbuffer.html><img src=box2.gif border=0 alt=>Data Buffer Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcbuffmt.html><img src=box2.gif border=0 alt=>Data Buffer Format Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silchashtable.html><img src=box2.gif border=0 alt=>Hash Table Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcmemory.html><img src=box2.gif border=0 alt=>Memory Allocation Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcstack.html><img src=box2.gif border=0 alt=>Data Stack (memory pool) Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcfsm.html><img src=box2.gif border=0 alt=>Finite State Machine Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcthread.html><img src=box2.gif border=0 alt=>Thread Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcmutex.html><img src=box2.gif border=0 alt=>Mutual Exclusion Lock Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silccond.html><img src=box2.gif border=0 alt=>Condition Variable Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcatomic.html><img src=box2.gif border=0 alt=>Atomic Operations Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcnet.html><img src=box2.gif border=0 alt=>Network (TCP and UDP) Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcschedule.html><img src=box2.gif border=0 alt=>Scheduler Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcasync.html><img src=box2.gif border=0 alt=>Asynchronous Operation Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcstream.html><img src=box2.gif border=0 alt=>Abstract Stream Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcsocketstream.html><img src=box2.gif border=0 alt=>Socket Stream Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcfdstream.html><img src=box2.gif border=0 alt=>File Descriptor Stream Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcfileutil.html><img src=box2.gif border=0 alt=>File Utility Functions</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcstrutil.html><img src=box2.gif border=0 alt=>String Utility Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcsnprintf.html><img src=box2.gif border=0 alt=>Snprintf Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcutf8.html><img src=box2.gif border=0 alt=>UTF-8 String Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcstringprep.html><img src=box2.gif border=0 alt=>Stringprep Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcutil.html><img src=box2.gif border=0 alt=>Utility Functions</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silclist.html><img src=box2.gif border=0 alt=>List Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcdlist.html><img src=box2.gif border=0 alt=>Dynamic List Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcmime.html><img src=box2.gif border=0 alt=>MIME Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silctime.html><img src=box2.gif border=0 alt=>Time Utility Functions</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silclog.html><img src=box2.gif border=0 alt=>Logging Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcconfig.html><img src=box2.gif border=0 alt=>Config File Interface</a><br />
+<a href=silcskrlib.html><img src=box.gif border=0 alt=>SILC Key Repository Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcskr.html><img src=box2.gif border=0 alt=>SILC SKR Interface</a><br />
+<a href=silcaputillib.html><img src=box.gif border=0 alt=>SILC Application Utility Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcapputil.html><img src=box2.gif border=0 alt=>SILC Application Utilities</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcidcache.html><img src=box2.gif border=0 alt=>SILC ID Cache Interface</a><br />
+<a href=silcsftplib.html><img src=box.gif border=0 alt=>SILC SFTP Library</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcsftp.html><img src=box2.gif border=0 alt=>SILC SFTP Interface</a><br />
+&nbsp;&nbsp;&nbsp; <a href=silcsftp_fs.html><img src=box2.gif border=0 alt=>SFTP Filesystems Interface</a><br />
+
+<br />
+<b>Resource Links</b>
+<br />
+<a href="http://silcnet.org"><img src="box.gif" border="0" alt="">SILC Project Website</a><br />
+<a href="http://silcnet.org/support/documentation/"><img src="box.gif" border="0" alt="">SILC Protocol Documentation</a><br />
+<a href="http://silcnet.org/support/documentation/wp/"><img src="box.gif" border="0" alt="">SILC White Paper</a><br />
+<a href="http://silcnet.org/support/faq/"><img src="box.gif" border="0" alt="">SILC FAQs</a><br />
+
+</small>
+<br /><br /><br /><br />
+    </td></tr>
+   </table>
+  </td>
+
+  <td bgcolor="#cccccc" background="dot.gif">
+   <img src="space.gif" width="1" height="1" border="0" alt=""></td>
+
+  <td width="720" bgcolor="#ffffff">
+   <img src="space.gif" width="1" height="1" border="0" alt="">
+   <table cellpadding="2" cellspacing="6" width="100%">
+    <tr><td valign="top">
+<br />
+<big><b>Platform Implementations</b></big>
+
+<br />&nbsp;<br />
+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.
+
+<br />&nbsp;<br />
+<li><a href="#unix">Unix & Linux Implementation</a><br />
+<li><a href="#windows">Windows Implementation</a><br />
+<li><a href="#macosx">Mac OS X Implementation</a>
+<li><a href="#symbian">Symbian OS Implementation</a>
+
+<br />&nbsp;<br />&nbsp;<br />
+<b>Supported Platforms</b>
+
+<br />&nbsp;<br />
+SILC Toolkit supports by default all Unix and Linux platforms, Windows
+platforms from Windows 2000 and newer, Mac OS X and Symbian OS.
+
+<br />&nbsp;<br />&nbsp;<br />
+<b><a name="unix"></a>Unix Implementation</b>
+
+<br />&nbsp;<br />
+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.
+
+
+<br />&nbsp;<br />&nbsp;<br />
+<b><a name="windows"></a>Windows Implementation</b>
+
+<br />&nbsp;<br />
+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.
+
+<br />&nbsp;<br />
+<li>Some of the network routines do not support IPv6.
+
+
+<br />&nbsp;<br />&nbsp;<br />
+<b><a name="macosx"></a>Mac OS X Implementation</b>
+
+<br />&nbsp;<br />
+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.
+
+
+<br />&nbsp;<br />&nbsp;<br />
+<b><a name="symbian"></a>Symbian OS Implementation</b>
+
+<br />&nbsp;<br />
+Symbian OS support in SILC Toolkit is still experimental.  By default all 
+features and components delivered with SILC Toolkit are supported and 
+should work on Symbian.  However, there are some issues with the Symbian 
+version of the SILC Toolkit of what Symbian developers need to be aware.
+
+<br />&nbsp;<br />
+<li>The function <tt>silc_schedule</tt> on Symbian will allocate new Active 
+Scheduler Waiter and will block the calling thread.  The caller should 
+allocate Active Scheduler before calling <tt>silc_schedule</tt>.
+
+<li>When adding timeout tasks to SILC Scheduler the SILC Scheduler is woken 
+up after the timeout task has been added.  This allows adding of the 
+timeout tasks from Symbian active objects outside the SILC Scheduler loop.  
+On other platforms this wakeup operation is not performed.
+
+<li>Adding fd task to SILC Scheduler will not schedule the fd for any 
+operation.  Instead, programmer should use SILC Socket Stream API and SILC 
+Fd Stream API on Symbian when dealing with file descriptors and sockets.  
+These APIs provide asynchronous notification when data is available and can 
+be written.
+
+<li>The function <tt>silc_thread_create</tt> on Symbian will install Active 
+Scheduler and allocate Cleanup Stack for the new thread.  The created 
+thread always shares heap with the parent thread.
+<br /><br /><br /><br />
+    </td></tr>
+   </table>
+  </td>
+
+  <td bgcolor="#cccccc" background="dot.gif">
+   <img src="space.gif" width="1" height="1" border="0" alt=""></td>
+
+  <td width="180" bgcolor="#f0f0f0">
+    <img src="space.gif" width="1" height="1" border="0" alt="">
+    <table width="100%" cellpadding="4" cellspacing="0">
+    <tr valign="top"><td>
+<br />
+<font face="Helvetica,Arial,Sans-serif" size="1">
+</font>
+
+<br /><br /><br /><br />
+    </td></tr>
+    </table>
+  </td>
+</tr>
+</table>
+
+<table border="0" cellspacing="0" cellpadding="0" width="100%">
+<tr bgcolor="#444444"><td><img src="space.gif" width="1" height="1"border="0" alt="" ></td></tr>
+</table>
+<table border="0" cellspacing="0" cellpadding="6" width="100%">
+ <tr valign="top" bgcolor="#dddddd">
+  <td><small>Copyright &copy; 2001 - 2007 SILC Project<br />
+    <a href="http://silcnet.org">SILC Project Website</a></small></td>
+  <td align="right"><small>
+   <a href="index.html">SILC Toolkit Reference Manual</a><br />
+   <a href="toolkit_index.html">Index</a></small></td>
+   </small></td>
+ </tr>
+</table>
+
+</body>
+</html>