<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 /> <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 that `msg' may be. */ 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>