1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323
|
<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 © 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=silcvcardlib.html><img src=box.gif border=0 alt=>SILC VCard Library</a><br />
<a href=silcvcard.html><img src=box2.gif border=0 alt=>SILC VCard Interface</a><br />
<a href=silccryptlib.html><img src=box.gif border=0 alt=>SILC Crypto Library</a><br />
<a href=silcrng_intro.html><img src=box2.gif border=0 alt=>Introduction to SILC RNG</a><br />
<a href=silcrng.html><img src=box2.gif border=0 alt=>SILC RNG Interface</a><br />
<a href=silccipher.html><img src=box2.gif border=0 alt=>SILC Cipher API</a><br />
<a href=silcpkcs.html><img src=box2.gif border=0 alt=>SILC PKCS API</a><br />
<a href=silcpk.html><img src=box2.gif border=0 alt=>SILC Public Key API</a><br />
<a href=silcpkcs1.html><img src=box2.gif border=0 alt=>SILC PKCS #1 API</a><br />
<a href=silchash.html><img src=box2.gif border=0 alt=>SILC Hash Interface</a><br />
<a href=silchmac.html><img src=box2.gif border=0 alt=>SILC HMAC Interface</a><br />
<a href=silcclientlib.html><img src=box.gif border=0 alt=>SILC Client Library</a><br />
<a href=silcclient_using.html><img src=box2.gif border=0 alt=>Using SILC Client Library Tutorial</a><br />
<a href=command_reply_args.html><img src=box2.gif border=0 alt=>Arguments for <b>command_reply</b> Client Operation</a><br />
<a href=silcstatus_args.html><img src=box2.gif border=0 alt=>SilcStatus Error Arguments in <b>command_reply</b> Client Operation</a><br />
<a href=notifyargs.html><img src=box2.gif border=0 alt=>Arguments for <b>notify</b> Client Operation</a><br />
<a href=silcclient_unicode.html><img src=box2.gif border=0 alt=>Unicode and UTF-8 Strings in Client Library</a><br />
<a href=silcclient.html><img src=box2.gif border=0 alt=>Client Library Interface Reference</a><br />
<a href=silcclient_entry.html><img src=box2.gif border=0 alt=>Client Entry Interface Reference</a><br />
<a href=silcmathlib.html><img src=box.gif border=0 alt=>SILC Math Library</a><br />
<a href=silcmp.html><img src=box2.gif border=0 alt=>SILC MP Interface</a><br />
<a href=silcmath.html><img src=box2.gif border=0 alt=>SILC Math Interface</a><br />
<a href=silcaputillib.html><img src=box.gif border=0 alt=>SILC Application Utility Library</a><br />
<a href=silcapputil.html><img src=box2.gif border=0 alt=>SILC Application Utilities</a><br />
<a href=silcidcache.html><img src=box2.gif border=0 alt=>SILC ID Cache Interface</a><br />
<a href=silcskrlib.html><img src=box.gif border=0 alt=>SILC Key Repository Library</a><br />
<a href=silcskr.html><img src=box2.gif border=0 alt=>SILC SKR Interface</a><br />
<a href=silcasn1lib.html><img src=box.gif border=0 alt=>SILC ASN.1 Library</a><br />
<a href=silcasn1.html><img src=box2.gif border=0 alt=>SILC ASN.1 Interface</a><br />
<a href=silcber.html><img src=box2.gif border=0 alt=>SILC BER interface</a><br />
<a href=silcskelib.html><img src=box.gif border=0 alt=>SILC Key Exchange Library</a><br />
<a href=silcske.html><img src=box2.gif border=0 alt=>SILC SKE Interface</a><br />
<a href=silcconnauth.html><img src=box2.gif border=0 alt=>SILC Connection Authentication Interface</a><br />
<a href=silcsftplib.html><img src=box.gif border=0 alt=>SILC SFTP Library</a><br />
<a href=silcsftp.html><img src=box2.gif border=0 alt=>SILC SFTP Interface</a><br />
<a href=silcsftp_fs.html><img src=box2.gif border=0 alt=>SFTP Filesystems Interface</a><br />
<a href=silccorelib.html><img src=box.gif border=0 alt=>SILC Core Library</a><br />
<a href=silcauth.html><img src=box2.gif border=0 alt=>SILC Authentication Interface</a><br />
<a href=silcmessage.html><img src=box2.gif border=0 alt=>SILC Message Interface</a><br />
<a href=silcchannel.html><img src=box2.gif border=0 alt=>SILC Channel Interface</a><br />
<a href=silccommand.html><img src=box2.gif border=0 alt=>SILC Command Interface</a><br />
<a href=silcnotify.html><img src=box2.gif border=0 alt=>SILC Notify Interface</a><br />
<a href=silcstatus.html><img src=box2.gif border=0 alt=>SILC Status Types</a><br />
<a href=silcmode.html><img src=box2.gif border=0 alt=>SILC Modes</a><br />
<a href=silcid.html><img src=box2.gif border=0 alt=>SILC ID Interface</a><br />
<a href=silcargument.html><img src=box2.gif border=0 alt=>SILC Argument Interface</a><br />
<a href=silcattrs.html><img src=box2.gif border=0 alt=>SILC Attributes Interface</a><br />
<a href=silcpacket.html><img src=box2.gif border=0 alt=>Packet Engine Interface</a><br />
<a href=silcpubkey.html><img src=box2.gif border=0 alt=>SILC Public Key Payload Interface</a><br />
<a href=silcutillib.html><img src=box.gif border=0 alt=>SILC Utility Library</a><br />
<a href=silctypes.html><img src=box2.gif border=0 alt=>Basic Types and Definitions</a><br />
<a href=silcbuffer.html><img src=box2.gif border=0 alt=>Data Buffer Interface</a><br />
<a href=silcbuffmt.html><img src=box2.gif border=0 alt=>Data Buffer Format Interface</a><br />
<a href=silchashtable.html><img src=box2.gif border=0 alt=>Hash Table Interface</a><br />
<a href=silcmemory.html><img src=box2.gif border=0 alt=>Memory Allocation Interface</a><br />
<a href=silcstack.html><img src=box2.gif border=0 alt=>Data Stack (memory pool) Interface</a><br />
<a href=silcfsm.html><img src=box2.gif border=0 alt=>Finite State Machine Interface</a><br />
<a href=silcthread.html><img src=box2.gif border=0 alt=>Thread Interface</a><br />
<a href=silcmutex.html><img src=box2.gif border=0 alt=>Mutual Exclusion Lock Interface</a><br />
<a href=silccond.html><img src=box2.gif border=0 alt=>Condition Variable Interface</a><br />
<a href=silcatomic.html><img src=box2.gif border=0 alt=>Atomic Operations Interface</a><br />
<a href=silcnet.html><img src=box2.gif border=0 alt=>Network (TCP and UDP) Interface</a><br />
<a href=silcschedule.html><img src=box2.gif border=0 alt=>Scheduler Interface</a><br />
<a href=silcasync.html><img src=box2.gif border=0 alt=>Asynchronous Operation Interface</a><br />
<a href=silcstream.html><img src=box2.gif border=0 alt=>Abstract Stream Interface</a><br />
<a href=silcsocketstream.html><img src=box2.gif border=0 alt=>Socket Stream Interface</a><br />
<a href=silcfdstream.html><img src=box2.gif border=0 alt=>File Descriptor Stream Interface</a><br />
<a href=silcfileutil.html><img src=box2.gif border=0 alt=>File Utility Functions</a><br />
<a href=silcstrutil.html><img src=box2.gif border=0 alt=>String Utility Interface</a><br />
<a href=silcsnprintf.html><img src=box2.gif border=0 alt=>Snprintf Interface</a><br />
<a href=silcutf8.html><img src=box2.gif border=0 alt=>UTF-8 String Interface</a><br />
<a href=silcstringprep.html><img src=box2.gif border=0 alt=>Stringprep Interface</a><br />
<a href=silcutil.html><img src=box2.gif border=0 alt=>Utility Functions</a><br />
<a href=silclist.html><img src=box2.gif border=0 alt=>List Interface</a><br />
<a href=silcdlist.html><img src=box2.gif border=0 alt=>Dynamic List Interface</a><br />
<a href=silcmime.html><img src=box2.gif border=0 alt=>MIME Interface</a><br />
<a href=silctime.html><img src=box2.gif border=0 alt=>Time Utility Functions</a><br />
<a href=silclog.html><img src=box2.gif border=0 alt=>Logging Interface</a><br />
<a href=silcconfig.html><img src=box2.gif border=0 alt=>Config File Interface</a><br />
<a href=silchttplib.html><img src=box.gif border=0 alt=>SILC HTTP Library</a><br />
<a href=silchttpserver.html><img src=box2.gif border=0 alt=>SILC HTTP Server Interface</a><br />
<a href=silchttpphp.html><img src=box2.gif border=0 alt=>SILC HTTP PHP Translator</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>Introduction to the Manual</b></big>
<br /> <br />
This document is designed to help you understand how the reference manual is
organized, how it can be used efficiently, and how to find the information
you need.
<br /> <br /> <br />
<b>Target Audience</b>
<br /> <br />
This Toolkit reference manual is targeted at application developers who
would like to add SILC support into their application, and to create new
SILC based applications. It is especially aimed at C and C++ programmers,
who would like to create SILC client applications, either based on command
line interface (CLI) or on graphical user interface (GUI).
<br /> <br /> <br />
<b>Overview</b>
<br /> <br />
The SILC Toolkit Reference Manual has collected the essential information
needed by application developers. The following guide and reference
information is included in this manual:
<br /> <br />
<li>Describing the documentation conventions<br />
<li>Describing the Toolkit design<br />
<li>Describing the SILC Protocol<br />
<li>Describing the programming conventions and idioms<br />
<li>Documenting the set of public APIs available for programmers<br />
<li>Describing the usage of various libraries
<br /> <br />
You can download the latest SILC Toolkit from the
<a href="http://silcnet.org">SILC Project Website</a>, which includes the
latest version of the reference manual. The Toolkit package includes the
full sources of the Toolkit, and includes several example applications and
piece of example codes.
<br /> <br /> <br />
<b>Using the Reference Manual</b>
<br /> <br />
The API references are ogranized by libraries. Each library will include
list of interfaces it provides. Each of the interface in the library
provides list of public API items. Each of the item in the list is a hyper
link that opens the detailed page describing the API item. All API
references are automatically generated from the sources and they have a clear
structural layout. The references can provide cross links to other
references inside the specific interface or the specific library.
<br /> <br />
The list of the library interface items can also include links to guides
that describe the use of a specific library or interface. These are
intended as HOWTOs for programmers describing all aspects of the library
or interface. They make the application development easier by also providing
small examples.
<br /> <br />
All interfaces provided by the reference manual are public, and it does not
describe any internal or undocumented interfaces. Since the reference
manual is automatically generated, it is constantly evolving. It also
may omit some of the interfaces or libraries, that have not yet been
documented in the sources.
<br /> <br /> <br />
<b>Document Layout</b>
<br /> <br />
The document layout provides quick links to libraries, interfaces and
specific API items by including list of links in the left and/or right
side of the page in the web browser. These links can be used to directly
access the specific library, interface or API item. The link lists may include
other links to guides, and reference links to outside the reference manual
as well.
<br /> <br /> <br />
<b>Reference Conventions</b>
<br /> <br />
The structural layout of a API item describes the following information
about the item:
<br /> <br />
<li>Type. Types that can appear are Variable, Structure, Function. A name
that appears without type is constant, usually #define, enum or typedef.
Usually the source code of the constants are appended to the reference.
<br /> <br />
<li>Name. Describes the name of the item. All functions start with
<b>silc_</b> prefix, macros start with <b>SILC_</b> prefix, and type names
and structures start with <b>Silc</b> prefix.
<br /> <br />
<li>Synopsis. Functions also describe the synopsis of the function.
<br /> <br />
<li>Description. Each of the item is described in detail of what the item
does and how it can be used.
<br /> <br />
<li>Notes. Optionally the item may describe additional notes to the
detailed description. These usually describe various exeptions or other
important notes that the programmer should be aware of.
<br /> <br />
<li>Example. Optionally the item may include a piece of source code that
give short example of how the item may be used.
<br /> <br />
<li>See Also. Optionally the item may include list of links to other
items, or some other references that relate to the described item.
<br /> <br />
<li>Source. Optionally the item may include the actual source code from
the header file where the documentation was automatically generated.
<br /> <br />
Note that some of these informations are optional and not all API items
include all of these informations.
<br /> <br /> <br />
<b>Reference Example</b>
<br /> <br />
Please refer to this link for short example of the API item reference
layout: <a href="silcexample.html">SILC Example API</a>.
<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 © 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>
|