--- /dev/null
+
+<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=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=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=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=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=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=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=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=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 />
+<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=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=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=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 />
+
+<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 />
+
+<FONT SIZE="+2" COLOR="#000055"><B>Structure <A NAME="SilcClientOperations">SilcClientOperations</A></FONT></B><BR><BR>
+
+<FONT SIZE="+1"><B>
+<FONT COLOR="#000055">NAME
+</FONT></B></FONT>
+<PRE><FONT FACE="courier" size="3">
+ typedef struct { ... } <B>SilcClientOperations</B>;
+
+</FONT></PRE><FONT SIZE="+1"><B>
+<FONT COLOR="#000055">DESCRIPTION
+</FONT></B></FONT>
+<PRE><FONT FACE="Helvetiva,Arial,Sans-serif">
+ SILC Client Operations. These must be implemented by the application.
+ The Client library may call any of these routines at any time. The
+ routines are used to deliver certain information to the application
+ or from the application to the client library.
+
+</FONT></PRE><FONT SIZE="+1"><B>
+<FONT COLOR="#000055">SOURCE
+</FONT></B></FONT>
+<PRE><FONT FACE="courier" size="3"> typedef struct SilcClientOperationsStruct {
+ /* Message sent to the application by library. `conn' associates the
+ message to a specific connection. `conn', however, may be NULL.
+ The `type' indicates the type of the message sent by the library.
+ The application can for example filter the message according the
+ type. The variable argument list is arguments to the formatted
+ message `msg'. A <A HREF="silcclient_entry-SilcClientEntry.html">SilcClientEntry</A>, <A HREF="silcclient_entry-SilcChannelEntry.html">SilcChannelEntry</A> or <A HREF="silcclient_entry-SilcServerEntry.html">SilcServerEntry</A>
+ can be associated with the message inside the `conn' by the library,
+ and application may use it to better target the message. */
+ void (*say)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silcclient-SilcClientMessageType.html">SilcClientMessageType</A> type, char *msg, ...);
+
+ /* Message for a channel. The `sender' is the sender of the message
+ The `channel' is the channel. The `message' is the message. Note
+ that `message' maybe NULL. The `flags' indicates message flags
+ and it is used to determine how the message can be interpreted
+ (like it may tell the message is multimedia message). The `payload'
+ may be used to retrieve all the details of the message. */
+ void (*channel_message)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silcclient_entry-SilcClientEntry.html">SilcClientEntry</A> sender, <A HREF="silcclient_entry-SilcChannelEntry.html">SilcChannelEntry</A> channel,
+ <A HREF="silcmessage-SilcMessagePayload.html">SilcMessagePayload</A> payload,
+ <A HREF="silcclient-SilcChannelPrivateKey.html">SilcChannelPrivateKey</A> key, <A HREF="silcmessage-SilcMessageFlags.html">SilcMessageFlags</A> flags,
+ const unsigned char *message,
+ <A HREF="silctypes-SilcUInt32.html">SilcUInt32</A> message_len);
+
+ /* Private message to the client. The `sender' is the sender of the
+ message. The message is `message'and maybe NULL. The `flags'
+ indicates message flags and it is used to determine how the message
+ can be interpreted (like it may tell the message is multimedia
+ message). The `payload' may be used to retrieve all the details of
+ the message. */
+ void (*private_message)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silcclient_entry-SilcClientEntry.html">SilcClientEntry</A> sender, <A HREF="silcmessage-SilcMessagePayload.html">SilcMessagePayload</A> payload,
+ <A HREF="silcmessage-SilcMessageFlags.html">SilcMessageFlags</A> flags, const unsigned char *message,
+ <A HREF="silctypes-SilcUInt32.html">SilcUInt32</A> message_len);
+
+ /* Notify message to the client. The arguments are notify `type' specific.
+ See separate documentation in the Toolkit Reference Manual for the notify
+ arguments. */
+ void (*notify)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silcnotify-SilcNotifyType.html">SilcNotifyType</A> type, ...);
+
+ /* Command handler. This function is called always after application has
+ called a command. It will be called to indicate that the command
+ was processed. It will also be called if error occurs while processing
+ the command. The `success' indicates whether the command was sent
+ or if error occurred. The `status' indicates the actual error.
+ The `argc' and `argv' are the command line arguments sent to the
+ command by application. Note that, this is not reply to the command
+ from server, this is merely and indication to application that the
+ command was processed. */
+ void (*command)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silctypes-SilcBool.html">SilcBool</A> success, <A HREF="silccommand-SilcCommand.html">SilcCommand</A> command, <A HREF="silcstatus-SilcStatus.html">SilcStatus</A> status,
+ <A HREF="silctypes-SilcUInt32.html">SilcUInt32</A> argc, unsigned char **argv);
+
+ /* Command reply handler. Delivers a reply to command that was sent
+ earlier. The `conn' is the associated client connection. The `command'
+ indicates the command reply type. If the `status' other than
+ SILC_STATUS_OK an error occurred. In this case the `error' will indicate
+ the error. It is possible to receive list of command replies and list
+ of errors. In this case the `status' will indicate it is an list entry
+ (the `status' is SILC_STATUS_LIST_START, SILC_STATUS_LIST_ITEM and/or
+ SILC_STATUS_LIST_END).
+
+ The arguments received in `ap' are command specific. See a separate
+ documentation in the Toolkit Reference Manual for the command reply
+ arguments. */
+ void (*command_reply)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silccommand-SilcCommand.html">SilcCommand</A> command, <A HREF="silcstatus-SilcStatus.html">SilcStatus</A> status,
+ <A HREF="silcstatus-SilcStatus.html">SilcStatus</A> error, va_list ap);
+
+ /* Find authentication method and authentication data by hostname and
+ port. The hostname may be IP address as well. The `auth_method' is
+ the authentication method the remote connection requires. It is
+ however possible that remote accepts also some other authentication
+ method. Application should use the method that may have been
+ configured for this connection. If none has been configured it should
+ use the required `auth_method'. If the `auth_method' is
+ SILC_AUTH_NONE, server does not require any authentication or the
+ required authentication method is not known. The `completion'
+ callback must be called to deliver the chosen authentication method
+ and data. The `conn' may be NULL. */
+ void (*get_auth_method)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ char *hostname, <A HREF="silctypes-SilcUInt16.html">SilcUInt16</A> port,
+ <A HREF="silcauth-SilcAuthMethod.html">SilcAuthMethod</A> auth_method,
+ <A HREF="silcclient-SilcGetAuthMeth.html">SilcGetAuthMeth</A> completion, void *context);
+
+ /* Called to verify received public key. The `conn_type' indicates which
+ entity (server or client) has sent the public key. If user decides to
+ trust the key the application may save the key as trusted public key for
+ later use. The `completion' must be called after the public key has
+ been verified. */
+ void (*verify_public_key)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silcconnauth-SilcConnectionType.html">SilcConnectionType</A> conn_type,
+ <A HREF="silcpkcs-SilcPublicKey.html">SilcPublicKey</A> public_key,
+ <A HREF="silcclient-SilcVerifyPublicKey.html">SilcVerifyPublicKey</A> completion, void *context);
+
+ /* Ask from end user a passphrase or a password. The passphrase is
+ returned to the library by calling the `completion' callback with
+ the `context'. The returned passphrase SHOULD be in UTF-8 encoded,
+ if not then the library will attempt to encode. */
+ void (*ask_passphrase)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silcclient-SilcAskPassphrase.html">SilcAskPassphrase</A> completion, void *context);
+
+ /* Called to indicate that incoming key agreement request has been
+ received. If the application wants to perform key agreement it may
+ call <A HREF="silcclient-silc_client_perform_key_agreement.html">silc_client_perform_key_agreement</A> to initiate key agreement or
+ <A HREF="silcclient-silc_client_send_key_agreement.html">silc_client_send_key_agreement</A> to provide connection point to the
+ remote client in case the `hostname' is NULL. If key agreement is
+ not desired this request can be ignored. The `protocol' is either
+ value 0 for TCP or value 1 for UDP. */
+ void (*key_agreement)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silcclient_entry-SilcClientEntry.html">SilcClientEntry</A> client_entry,
+ const char *hostname, <A HREF="silctypes-SilcUInt16.html">SilcUInt16</A> protocol,
+ <A HREF="silctypes-SilcUInt16.html">SilcUInt16</A> port);
+
+ /* Notifies application that file transfer protocol session is being
+ requested by the remote client indicated by the `client_entry' from
+ the `hostname' and `port'. The `session_id' is the file transfer
+ session and it can be used to either accept or reject the file
+ transfer request, by calling the <A HREF="silcclient-silc_client_file_receive.html">silc_client_file_receive</A> or
+ <A HREF="silcclient-silc_client_file_close.html">silc_client_file_close</A>, respectively. */
+ void (*ftp)(<A HREF="silcclient-SilcClient.html">SilcClient</A> client, <A HREF="silcclient-SilcClientConnection.html">SilcClientConnection</A> conn,
+ <A HREF="silcclient_entry-SilcClientEntry.html">SilcClientEntry</A> client_entry, <A HREF="silctypes-SilcUInt32.html">SilcUInt32</A> session_id,
+ const char *hostname, <A HREF="silctypes-SilcUInt16.html">SilcUInt16</A> port);
+ } <B>SilcClientOperations</B>;</FONT></PRE>
+<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">
+<A HREF="silcclient.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">Client Library Interface</A><BR>
+<A HREF="silcclient-SilcClientConnectionStatus.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientConnectionStatus</A><BR>
+<A HREF="silcclient-SilcClientRunning.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientRunning</A><BR>
+<A HREF="silcclient-SilcClientStopped.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientStopped</A><BR>
+<A HREF="silcclient-SilcClientConnectCallback.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientConnectCallback</A><BR>
+<A HREF="silcclient-SilcClient.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClient</A><BR>
+<A HREF="silcclient-SilcClientConnection.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientConnection</A><BR>
+<A HREF="silcclient-SilcChannelUser.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcChannelUser</A><BR>
+<A HREF="silcclient-SilcClientStats.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientStats</A><BR>
+<A HREF="silcclient-SilcKeyAgreementStatus.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcKeyAgreementStatus</A><BR>
+<A HREF="silcclient-SilcKeyAgreementCallback.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcKeyAgreementCallback</A><BR>
+<A HREF="silcclient-SilcPrivateMessageKeys.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcPrivateMessageKeys</A><BR>
+<A HREF="silcclient-SilcChannelPrivateKey.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcChannelPrivateKey</A><BR>
+<A HREF="silcclient-SilcAskPassphrase.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcAskPassphrase</A><BR>
+<A HREF="silcclient-SilcVerifyPublicKey.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcVerifyPublicKey</A><BR>
+<A HREF="silcclient-SilcGetAuthMeth.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcGetAuthMeth</A><BR>
+<A HREF="silcclient-SilcClientMessageType.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientMessageType</A><BR>
+<A HREF="silcclient-SilcClientOperations.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientOperations</A><BR>
+<A HREF="silcclient-SilcClientParams.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientParams</A><BR>
+<A HREF="silcclient-silc_client_alloc.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_alloc</A><BR>
+<A HREF="silcclient-silc_client_free.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_free</A><BR>
+<A HREF="silcclient-silc_client_init.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_init</A><BR>
+<A HREF="silcclient-silc_client_run.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_run</A><BR>
+<A HREF="silcclient-silc_client_run_one.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_run_one</A><BR>
+<A HREF="silcclient-silc_client_stop.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_stop</A><BR>
+<A HREF="silcclient-SilcClientConnectionParams.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientConnectionParams</A><BR>
+<A HREF="silcclient-silc_client_connect_to_server.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_connect_to_server</A><BR>
+<A HREF="silcclient-silc_client_connect_to_client.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_connect_to_client</A><BR>
+<A HREF="silcclient-silc_client_key_exchange.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_key_exchange</A><BR>
+<A HREF="silcclient-silc_client_close_connection.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_close_connection</A><BR>
+<A HREF="silcclient-silc_client_send_channel_message.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_send_channel_message</A><BR>
+<A HREF="silcclient-silc_client_send_private_message.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_send_private_message</A><BR>
+<A HREF="silcclient-silc_client_private_message_wait_init.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_private_message_wait_init</A><BR>
+<A HREF="silcclient-silc_client_private_message_wait_uninit.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_private_message_wait_uninit</A><BR>
+<A HREF="silcclient-silc_client_private_message_wait.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_private_message_wait</A><BR>
+<A HREF="silcclient-silc_client_on_channel.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_on_channel</A><BR>
+<A HREF="silcclient-silc_client_command_call.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_command_call</A><BR>
+<A HREF="silcclient-SilcClientCommandReply.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientCommandReply</A><BR>
+<A HREF="silcclient-silc_client_command_send.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_command_send</A><BR>
+<A HREF="silcclient-silc_client_command_pending.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_command_pending</A><BR>
+<A HREF="silcclient-silc_client_add_private_message_key.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_add_private_message_key</A><BR>
+<A HREF="silcclient-silc_client_add_private_message_key_ske.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_add_private_message_key_ske</A><BR>
+<A HREF="silcclient-silc_client_del_private_message_key.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_del_private_message_key</A><BR>
+<A HREF="silcclient-silc_client_list_private_message_keys.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_list_private_message_keys</A><BR>
+<A HREF="silcclient-silc_client_free_private_message_keys.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_free_private_message_keys</A><BR>
+<A HREF="silcclient-silc_client_private_message_key_is_set.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_private_message_key_is_set</A><BR>
+<A HREF="silcclient-silc_client_add_channel_private_key.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_add_channel_private_key</A><BR>
+<A HREF="silcclient-silc_client_del_channel_private_keys.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_del_channel_private_keys</A><BR>
+<A HREF="silcclient-silc_client_del_channel_private_key.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_del_channel_private_key</A><BR>
+<A HREF="silcclient-silc_client_list_channel_private_keys.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_list_channel_private_keys</A><BR>
+<A HREF="silcclient-silc_client_current_channel_private_key.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_current_channel_private_key</A><BR>
+<A HREF="silcclient-silc_client_send_key_agreement.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_send_key_agreement</A><BR>
+<A HREF="silcclient-silc_client_perform_key_agreement.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_perform_key_agreement</A><BR>
+<A HREF="silcclient-silc_client_perform_key_agreement_stream.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_perform_key_agreement_stream</A><BR>
+<A HREF="silcclient-silc_client_abort_key_agreement.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_abort_key_agreement</A><BR>
+<A HREF="silcclient-silc_client_set_away_message.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_set_away_message</A><BR>
+<A HREF="silcclient-SilcClientMonitorStatus.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientMonitorStatus</A><BR>
+<A HREF="silcclient-SilcClientFileError.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientFileError</A><BR>
+<A HREF="silcclient-SilcClientFileMonitor.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientFileMonitor</A><BR>
+<A HREF="silcclient-SilcClientFileName.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientFileName</A><BR>
+<A HREF="silcclient-SilcClientFileAskName.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientFileAskName</A><BR>
+<A HREF="silcclient-silc_client_file_send.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_file_send</A><BR>
+<A HREF="silcclient-silc_client_file_receive.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_file_receive</A><BR>
+<A HREF="silcclient-silc_client_file_close.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_file_close</A><BR>
+<A HREF="silcclient-silc_client_attribute_add.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_attribute_add</A><BR>
+<A HREF="silcclient-silc_client_attribute_del.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_attribute_del</A><BR>
+<A HREF="silcclient-silc_client_attributes_get.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_attributes_get</A><BR>
+<A HREF="silcclient-silc_client_attributes_request.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_attributes_request</A><BR>
+<A HREF="silcclient-silc_client_nickname_format.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_nickname_format</A><BR>
+<A HREF="silcclient-silc_client_nickname_parse.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_nickname_parse</A><BR>
+</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>