updates.
[website.git] / docs / toolkit / manual / silcclient-silc_client_key_exchange.html
1
2 <html>
3 <head>
4  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-a" />
5  <meta http-equiv="Content-Language" content="en" />
6  <meta name="description" content="SILC Secure Internet Live Conferencing" />
7  <meta name="keywords" content="SILC, secure, chat, protocol, cipher, encrypt, SKE" />
8  <meta content="INDEX, FOLLOW" name="ROBOTS" />
9  <style type="text/css">
10   <!--
11   body { color: #000000; background: #f0f0f0; font-family: Helvetica, Arial, Sans-serif; }
12   a:link { text-decoration: none; color: #2f488f; }
13   a:visited { text-decoration: none;color: #2f488f; }
14   a:active { text-decoration: none; color: #2f488f; }
15   -->
16  </style>
17 </head>
18
19 <body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
20
21 <table border="0" cellspacing="0" cellpadding="6" width="100%">
22  <tr valign="top" bgcolor="#dddddd">
23   <td><small>Copyright &copy; 2001 - 2007 SILC Project<br />
24     <a href="http://silcnet.org">SILC Project Website</a></small></td>
25   <td align="right"><small>
26    <a href="index.html">SILC Toolkit Reference Manual</a><br />
27    <a href="toolkit_index.html">Index</a></small></td>
28    </small></td>
29  </tr>
30 </table>
31 <table border="0" cellspacing="0" cellpadding="0" width="100%">
32 <tr bgcolor="#444444"><td><img src="space.gif" width="1" height="1"border="0" alt="" ></td></tr>
33 </table>
34
35 <table cellpadding="0" cellspacing="0" border="0">
36  <tr valign="top">
37
38   <td width="200" bgcolor="#f0f0f0">
39    <img src="space.gif" width="1" height="1" border="0" alt="">
40    <table width="100%" cellpadding="2" cellspacing="2" border="0">
41     <tr valign="top"><td>
42 <br />
43 <small>
44 <!-- Template file for the big index that appears in the Toolkit reference
45 manual on the left side.  With this file it is possible to add other than
46 automatically generated links to that list. -->
47
48 <a href="index.html"><img src="box.gif" border="0" alt="">SILC Toolkit Reference Manual</a><br />
49
50
51 <a href=silccryptlib.html><img src=box.gif border=0 alt=>SILC Crypto Library</a><br />
52 &nbsp;&nbsp;&nbsp; <a href=silcrng_intro.html><img src=box2.gif border=0 alt=>Introduction to SILC RNG</a><br />
53 &nbsp;&nbsp;&nbsp; <a href=silcrng.html><img src=box2.gif border=0 alt=>SILC RNG Interface</a><br />
54 &nbsp;&nbsp;&nbsp; <a href=silccipher.html><img src=box2.gif border=0 alt=>SILC Cipher API</a><br />
55 &nbsp;&nbsp;&nbsp; <a href=silcpkcs.html><img src=box2.gif border=0 alt=>SILC PKCS API</a><br />
56 &nbsp;&nbsp;&nbsp; <a href=silcpk.html><img src=box2.gif border=0 alt=>SILC Public Key API</a><br />
57 &nbsp;&nbsp;&nbsp; <a href=silcpkcs1.html><img src=box2.gif border=0 alt=>SILC PKCS #1 API</a><br />
58 &nbsp;&nbsp;&nbsp; <a href=silchash.html><img src=box2.gif border=0 alt=>SILC Hash Interface</a><br />
59 &nbsp;&nbsp;&nbsp; <a href=silchmac.html><img src=box2.gif border=0 alt=>SILC HMAC Interface</a><br />
60 <a href=silccorelib.html><img src=box.gif border=0 alt=>SILC Core Library</a><br />
61 &nbsp;&nbsp;&nbsp; <a href=silcauth.html><img src=box2.gif border=0 alt=>SILC Authentication Interface</a><br />
62 &nbsp;&nbsp;&nbsp; <a href=silcmessage.html><img src=box2.gif border=0 alt=>SILC Message Interface</a><br />
63 &nbsp;&nbsp;&nbsp; <a href=silcchannel.html><img src=box2.gif border=0 alt=>SILC Channel Interface</a><br />
64 &nbsp;&nbsp;&nbsp; <a href=silccommand.html><img src=box2.gif border=0 alt=>SILC Command Interface</a><br />
65 &nbsp;&nbsp;&nbsp; <a href=silcnotify.html><img src=box2.gif border=0 alt=>SILC Notify Interface</a><br />
66 &nbsp;&nbsp;&nbsp; <a href=silcstatus.html><img src=box2.gif border=0 alt=>SILC Status Types</a><br />
67 &nbsp;&nbsp;&nbsp; <a href=silcmode.html><img src=box2.gif border=0 alt=>SILC Modes</a><br />
68 &nbsp;&nbsp;&nbsp; <a href=silcid.html><img src=box2.gif border=0 alt=>SILC ID Interface</a><br />
69 &nbsp;&nbsp;&nbsp; <a href=silcargument.html><img src=box2.gif border=0 alt=>SILC Argument Interface</a><br />
70 &nbsp;&nbsp;&nbsp; <a href=silcattrs.html><img src=box2.gif border=0 alt=>SILC Attributes Interface</a><br />
71 &nbsp;&nbsp;&nbsp; <a href=silcpacket.html><img src=box2.gif border=0 alt=>Packet Engine Interface</a><br />
72 &nbsp;&nbsp;&nbsp; <a href=silcpubkey.html><img src=box2.gif border=0 alt=>SILC Public Key Payload Interface</a><br />
73 <a href=silcskelib.html><img src=box.gif border=0 alt=>SILC Key Exchange Library</a><br />
74 &nbsp;&nbsp;&nbsp; <a href=silcske.html><img src=box2.gif border=0 alt=>SILC SKE Interface</a><br />
75 &nbsp;&nbsp;&nbsp; <a href=silcconnauth.html><img src=box2.gif border=0 alt=>SILC Connection Authentication Interface</a><br />
76 <a href=silcvcardlib.html><img src=box.gif border=0 alt=>SILC VCard Library</a><br />
77 &nbsp;&nbsp;&nbsp; <a href=silcvcard.html><img src=box2.gif border=0 alt=>SILC VCard Interface</a><br />
78 <a href=silcmathlib.html><img src=box.gif border=0 alt=>SILC Math Library</a><br />
79 &nbsp;&nbsp;&nbsp; <a href=silcmp.html><img src=box2.gif border=0 alt=>SILC MP Interface</a><br />
80 &nbsp;&nbsp;&nbsp; <a href=silcmath.html><img src=box2.gif border=0 alt=>SILC Math Interface</a><br />
81 <a href=silcclientlib.html><img src=box.gif border=0 alt=>SILC Client Library</a><br />
82 &nbsp;&nbsp;&nbsp; <a href=silcclient_using.html><img src=box2.gif border=0 alt=>Using SILC Client Library Tutorial</a><br />
83 &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 />
84 &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 />
85 &nbsp;&nbsp;&nbsp; <a href=notifyargs.html><img src=box2.gif border=0 alt=>Arguments for <b>notify</b> Client Operation</a><br />
86 &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 />
87 &nbsp;&nbsp;&nbsp; <a href=silcclient.html><img src=box2.gif border=0 alt=>Client Library Interface Reference</a><br />
88 &nbsp;&nbsp;&nbsp; <a href=silcclient_entry.html><img src=box2.gif border=0 alt=>Client Entry Interface Reference</a><br />
89 <a href=silcasn1lib.html><img src=box.gif border=0 alt=>SILC ASN.1 Library</a><br />
90 &nbsp;&nbsp;&nbsp; <a href=silcasn1.html><img src=box2.gif border=0 alt=>SILC ASN.1 Interface</a><br />
91 &nbsp;&nbsp;&nbsp; <a href=silcber.html><img src=box2.gif border=0 alt=>SILC BER interface</a><br />
92 <a href=silchttplib.html><img src=box.gif border=0 alt=>SILC HTTP Library</a><br />
93 &nbsp;&nbsp;&nbsp; <a href=silchttpserver.html><img src=box2.gif border=0 alt=>SILC HTTP Server Interface</a><br />
94 &nbsp;&nbsp;&nbsp; <a href=silchttpphp.html><img src=box2.gif border=0 alt=>SILC HTTP PHP Translator</a><br />
95 <a href=silcutillib.html><img src=box.gif border=0 alt=>SILC Utility Library</a><br />
96 &nbsp;&nbsp;&nbsp; <a href=silctypes.html><img src=box2.gif border=0 alt=>Basic Types and Definitions</a><br />
97 &nbsp;&nbsp;&nbsp; <a href=silcbuffer.html><img src=box2.gif border=0 alt=>Data Buffer Interface</a><br />
98 &nbsp;&nbsp;&nbsp; <a href=silcbuffmt.html><img src=box2.gif border=0 alt=>Data Buffer Format Interface</a><br />
99 &nbsp;&nbsp;&nbsp; <a href=silchashtable.html><img src=box2.gif border=0 alt=>Hash Table Interface</a><br />
100 &nbsp;&nbsp;&nbsp; <a href=silcmemory.html><img src=box2.gif border=0 alt=>Memory Allocation Interface</a><br />
101 &nbsp;&nbsp;&nbsp; <a href=silcstack.html><img src=box2.gif border=0 alt=>Data Stack (memory pool) Interface</a><br />
102 &nbsp;&nbsp;&nbsp; <a href=silcfsm.html><img src=box2.gif border=0 alt=>Finite State Machine Interface</a><br />
103 &nbsp;&nbsp;&nbsp; <a href=silcthread.html><img src=box2.gif border=0 alt=>Thread Interface</a><br />
104 &nbsp;&nbsp;&nbsp; <a href=silcmutex.html><img src=box2.gif border=0 alt=>Mutual Exclusion Lock Interface</a><br />
105 &nbsp;&nbsp;&nbsp; <a href=silccond.html><img src=box2.gif border=0 alt=>Condition Variable Interface</a><br />
106 &nbsp;&nbsp;&nbsp; <a href=silcatomic.html><img src=box2.gif border=0 alt=>Atomic Operations Interface</a><br />
107 &nbsp;&nbsp;&nbsp; <a href=silcnet.html><img src=box2.gif border=0 alt=>Network (TCP and UDP) Interface</a><br />
108 &nbsp;&nbsp;&nbsp; <a href=silcschedule.html><img src=box2.gif border=0 alt=>Scheduler Interface</a><br />
109 &nbsp;&nbsp;&nbsp; <a href=silcasync.html><img src=box2.gif border=0 alt=>Asynchronous Operation Interface</a><br />
110 &nbsp;&nbsp;&nbsp; <a href=silcstream.html><img src=box2.gif border=0 alt=>Abstract Stream Interface</a><br />
111 &nbsp;&nbsp;&nbsp; <a href=silcsocketstream.html><img src=box2.gif border=0 alt=>Socket Stream Interface</a><br />
112 &nbsp;&nbsp;&nbsp; <a href=silcfdstream.html><img src=box2.gif border=0 alt=>File Descriptor Stream Interface</a><br />
113 &nbsp;&nbsp;&nbsp; <a href=silcfileutil.html><img src=box2.gif border=0 alt=>File Utility Functions</a><br />
114 &nbsp;&nbsp;&nbsp; <a href=silcstrutil.html><img src=box2.gif border=0 alt=>String Utility Interface</a><br />
115 &nbsp;&nbsp;&nbsp; <a href=silcsnprintf.html><img src=box2.gif border=0 alt=>Snprintf Interface</a><br />
116 &nbsp;&nbsp;&nbsp; <a href=silcutf8.html><img src=box2.gif border=0 alt=>UTF-8 String Interface</a><br />
117 &nbsp;&nbsp;&nbsp; <a href=silcstringprep.html><img src=box2.gif border=0 alt=>Stringprep Interface</a><br />
118 &nbsp;&nbsp;&nbsp; <a href=silcutil.html><img src=box2.gif border=0 alt=>Utility Functions</a><br />
119 &nbsp;&nbsp;&nbsp; <a href=silclist.html><img src=box2.gif border=0 alt=>List Interface</a><br />
120 &nbsp;&nbsp;&nbsp; <a href=silcdlist.html><img src=box2.gif border=0 alt=>Dynamic List Interface</a><br />
121 &nbsp;&nbsp;&nbsp; <a href=silcmime.html><img src=box2.gif border=0 alt=>MIME Interface</a><br />
122 &nbsp;&nbsp;&nbsp; <a href=silctime.html><img src=box2.gif border=0 alt=>Time Utility Functions</a><br />
123 &nbsp;&nbsp;&nbsp; <a href=silclog.html><img src=box2.gif border=0 alt=>Logging Interface</a><br />
124 &nbsp;&nbsp;&nbsp; <a href=silcconfig.html><img src=box2.gif border=0 alt=>Config File Interface</a><br />
125 <a href=silcskrlib.html><img src=box.gif border=0 alt=>SILC Key Repository Library</a><br />
126 &nbsp;&nbsp;&nbsp; <a href=silcskr.html><img src=box2.gif border=0 alt=>SILC SKR Interface</a><br />
127 <a href=silcaputillib.html><img src=box.gif border=0 alt=>SILC Application Utility Library</a><br />
128 &nbsp;&nbsp;&nbsp; <a href=silcapputil.html><img src=box2.gif border=0 alt=>SILC Application Utilities</a><br />
129 &nbsp;&nbsp;&nbsp; <a href=silcidcache.html><img src=box2.gif border=0 alt=>SILC ID Cache Interface</a><br />
130 <a href=silcsftplib.html><img src=box.gif border=0 alt=>SILC SFTP Library</a><br />
131 &nbsp;&nbsp;&nbsp; <a href=silcsftp.html><img src=box2.gif border=0 alt=>SILC SFTP Interface</a><br />
132 &nbsp;&nbsp;&nbsp; <a href=silcsftp_fs.html><img src=box2.gif border=0 alt=>SFTP Filesystems Interface</a><br />
133
134 <br />
135 <b>Resource Links</b>
136 <br />
137 <a href="http://silcnet.org"><img src="box.gif" border="0" alt="">SILC Project Website</a><br />
138 <a href="http://silcnet.org/support/documentation/"><img src="box.gif" border="0" alt="">SILC Protocol Documentation</a><br />
139 <a href="http://silcnet.org/support/documentation/wp/"><img src="box.gif" border="0" alt="">SILC White Paper</a><br />
140 <a href="http://silcnet.org/support/faq/"><img src="box.gif" border="0" alt="">SILC FAQs</a><br />
141
142 </small>
143 <br /><br /><br /><br />
144     </td></tr>
145    </table>
146   </td>
147
148   <td bgcolor="#cccccc" background="dot.gif">
149    <img src="space.gif" width="1" height="1" border="0" alt=""></td>
150
151   <td width="720" bgcolor="#ffffff">
152    <img src="space.gif" width="1" height="1" border="0" alt="">
153    <table cellpadding="2" cellspacing="6" width="100%">
154     <tr><td valign="top">
155 <br />
156
157 <FONT SIZE="+2" COLOR="#000055"><B>Function <A NAME="silc_client_key_exchange">silc_client_key_exchange</A></FONT></B><BR><BR>
158
159 <FONT SIZE="+1"><B>
160 <FONT COLOR="#000055">SYNOPSIS
161 </FONT></B></FONT>
162 <PRE><FONT FACE="courier" size="3">
163     <A HREF="silcasync-SilcAsyncOperation.html">SilcAsyncOperation</A>
164     <B>silc_client_key_exchange</B>(<A HREF="silcclient-SilcClient.html">SilcClient</A> client,
165                              <A HREF="silcclient-SilcClientConnectionParams.html">SilcClientConnectionParams</A> *params,
166                              <A HREF="silcpkcs-SilcPublicKey.html">SilcPublicKey</A> public_key,
167                              <A HREF="silcpkcs-SilcPrivateKey.html">SilcPrivateKey</A> private_key,
168                              <A HREF="silcstream-SilcStream.html">SilcStream</A> stream,
169                              <A HREF="silcconnauth-SilcConnectionType.html">SilcConnectionType</A> conn_type,
170                              <A HREF="silcclient-SilcClientConnectCallback.html">SilcClientConnectCallback</A> callback,
171                              void *context);
172
173 </FONT></PRE><FONT SIZE="+1"><B>
174 <FONT COLOR="#000055">DESCRIPTION
175 </FONT></B></FONT>
176 <PRE><FONT FACE="Helvetiva,Arial,Sans-serif">
177     Starts key exchange protocol and authentication protocol in the
178     connection indicated by `stream'.  This function can be be used to
179     start SILC session with remote host (usually server) when the caller
180     has itself created the connection, instead of calling the function
181     <A HREF="silcclient-silc_client_connect_to_server.html">silc_client_connect_to_server</A> or <A HREF="silcclient-silc_client_connect_to_client.html">silc_client_connect_to_client</A>.  If
182     one of those functions was used this function must not be called as
183     in that case the key exchange is performed automatically.
184
185     Use this function only if you have created the connection by yourself.
186     After creating the connection the socket must be wrapped into a
187     socket stream.  See silcsocketstream.h for more information.  Note that
188     the `stream' must have valid remote IP address (and optionally also
189     hostname) and port set.
190
191     The `params' may be provided to provide various connection parameters.
192     The `public_key' and the `private_key' is your identity used in this
193     session.  The `callback' with `context' will be called after the session
194     has been set up.  It will also be called later when remote host
195     disconnects.  The `conn_type' is the type of session this is going to
196     be.  If the remote is SILC server it is SILC_CONN_SERVER or if it is
197     SILC client it is SILC_CONN_CLIENT.
198
199     Returns <A HREF="silcasync-SilcAsyncOperation.html">SilcAsyncOperation</A> which can be used to cancel the connecting,
200     or NULL on error.  Note that the returned pointer becomes invalid
201     after the `callback' is called.
202
203 </FONT></PRE><FONT SIZE="+1"><B>
204 <FONT COLOR="#000055">EXAMPLE
205 </FONT></B></FONT>
206 <PRE><FONT FACE="courier" size="3">
207     int sock;
208
209     // Create remote connection stream.  Resolve hostname and IP also.
210     sock = create_connection(remote_host, port);
211     <A HREF="silcsocketstream-silc_socket_tcp_stream_create.html">silc_socket_tcp_stream_create</A>(sock, <A HREF="silctypes-TRUE.html">TRUE</A>, <A HREF="silctypes-FALSE.html">FALSE</A>, schedule,
212                                   stream_create_cb, app);
213
214     // Stream callback delivers our new <A HREF="silcstream-SilcStream.html">SilcStream</A> context
215     void stream_create_cb(<A HREF="silcsocketstream-SilcSocketStreamStatus.html">SilcSocketStreamStatus</A> status, <A HREF="silcstream-SilcStream.html">SilcStream</A> stream,
216                           void *context)
217     {
218       ...
219       if (status != SILC_SOCKET_OK)
220         error(status);
221
222       // Start key exchange
223       <B>silc_client_key_exchange</B>(client, NULL, public_key, private_key,
224                                stream, SILC_CONN_SERVER, connection_cb, app);
225       ...
226     }
227
228 </FONT></PRE>
229 <br /><br /><br /><br />
230     </td></tr>
231    </table>
232   </td>
233
234   <td bgcolor="#cccccc" background="dot.gif">
235    <img src="space.gif" width="1" height="1" border="0" alt=""></td>
236
237   <td width="180" bgcolor="#f0f0f0">
238     <img src="space.gif" width="1" height="1" border="0" alt="">
239     <table width="100%" cellpadding="4" cellspacing="0">
240     <tr valign="top"><td>
241 <br />
242 <font face="Helvetica,Arial,Sans-serif" size="1">
243 <A HREF="silcclient.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">Client Library Interface</A><BR>
244 <A HREF="silcclient-SilcClientConnectionStatus.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientConnectionStatus</A><BR>
245 <A HREF="silcclient-SilcClientRunning.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientRunning</A><BR>
246 <A HREF="silcclient-SilcClientStopped.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientStopped</A><BR>
247 <A HREF="silcclient-SilcClientConnectCallback.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientConnectCallback</A><BR>
248 <A HREF="silcclient-SilcClient.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClient</A><BR>
249 <A HREF="silcclient-SilcClientConnection.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientConnection</A><BR>
250 <A HREF="silcclient-SilcChannelUser.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcChannelUser</A><BR>
251 <A HREF="silcclient-SilcClientStats.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientStats</A><BR>
252 <A HREF="silcclient-SilcKeyAgreementStatus.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcKeyAgreementStatus</A><BR>
253 <A HREF="silcclient-SilcKeyAgreementCallback.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcKeyAgreementCallback</A><BR>
254 <A HREF="silcclient-SilcPrivateMessageKeys.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcPrivateMessageKeys</A><BR>
255 <A HREF="silcclient-SilcChannelPrivateKey.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcChannelPrivateKey</A><BR>
256 <A HREF="silcclient-SilcAskPassphrase.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcAskPassphrase</A><BR>
257 <A HREF="silcclient-SilcVerifyPublicKey.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcVerifyPublicKey</A><BR>
258 <A HREF="silcclient-SilcGetAuthMeth.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcGetAuthMeth</A><BR>
259 <A HREF="silcclient-SilcClientMessageType.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientMessageType</A><BR>
260 <A HREF="silcclient-SilcClientOperations.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientOperations</A><BR>
261 <A HREF="silcclient-SilcClientParams.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientParams</A><BR>
262 <A HREF="silcclient-silc_client_alloc.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_alloc</A><BR>
263 <A HREF="silcclient-silc_client_free.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_free</A><BR>
264 <A HREF="silcclient-silc_client_init.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_init</A><BR>
265 <A HREF="silcclient-silc_client_run.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_run</A><BR>
266 <A HREF="silcclient-silc_client_run_one.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_run_one</A><BR>
267 <A HREF="silcclient-silc_client_stop.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_stop</A><BR>
268 <A HREF="silcclient-SilcClientConnectionParams.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientConnectionParams</A><BR>
269 <A HREF="silcclient-silc_client_connect_to_server.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_connect_to_server</A><BR>
270 <A HREF="silcclient-silc_client_connect_to_client.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_connect_to_client</A><BR>
271 <A HREF="silcclient-silc_client_key_exchange.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_key_exchange</A><BR>
272 <A HREF="silcclient-silc_client_close_connection.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_close_connection</A><BR>
273 <A HREF="silcclient-silc_client_send_channel_message.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_send_channel_message</A><BR>
274 <A HREF="silcclient-silc_client_send_private_message.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_send_private_message</A><BR>
275 <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>
276 <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>
277 <A HREF="silcclient-silc_client_private_message_wait.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_private_message_wait</A><BR>
278 <A HREF="silcclient-silc_client_on_channel.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_on_channel</A><BR>
279 <A HREF="silcclient-silc_client_command_call.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_command_call</A><BR>
280 <A HREF="silcclient-SilcClientCommandReply.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientCommandReply</A><BR>
281 <A HREF="silcclient-silc_client_command_send.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_command_send</A><BR>
282 <A HREF="silcclient-silc_client_command_pending.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_command_pending</A><BR>
283 <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>
284 <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>
285 <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>
286 <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>
287 <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>
288 <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>
289 <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>
290 <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>
291 <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>
292 <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>
293 <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>
294 <A HREF="silcclient-silc_client_send_key_agreement.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_send_key_agreement</A><BR>
295 <A HREF="silcclient-silc_client_perform_key_agreement.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_perform_key_agreement</A><BR>
296 <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>
297 <A HREF="silcclient-silc_client_abort_key_agreement.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_abort_key_agreement</A><BR>
298 <A HREF="silcclient-silc_client_set_away_message.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_set_away_message</A><BR>
299 <A HREF="silcclient-SilcClientMonitorStatus.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientMonitorStatus</A><BR>
300 <A HREF="silcclient-SilcClientFileError.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientFileError</A><BR>
301 <A HREF="silcclient-SilcClientFileMonitor.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientFileMonitor</A><BR>
302 <A HREF="silcclient-SilcClientFileName.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientFileName</A><BR>
303 <A HREF="silcclient-SilcClientFileAskName.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">SilcClientFileAskName</A><BR>
304 <A HREF="silcclient-silc_client_file_send.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_file_send</A><BR>
305 <A HREF="silcclient-silc_client_file_receive.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_file_receive</A><BR>
306 <A HREF="silcclient-silc_client_file_close.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_file_close</A><BR>
307 <A HREF="silcclient-silc_client_attribute_add.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_attribute_add</A><BR>
308 <A HREF="silcclient-silc_client_attribute_del.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_attribute_del</A><BR>
309 <A HREF="silcclient-silc_client_attributes_get.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_attributes_get</A><BR>
310 <A HREF="silcclient-silc_client_attributes_request.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_attributes_request</A><BR>
311 <A HREF="silcclient-silc_client_nickname_format.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_nickname_format</A><BR>
312 <A HREF="silcclient-silc_client_nickname_parse.html"><IMG SRC="index_pic.gif" BORDER="0" ALT="">silc_client_nickname_parse</A><BR>
313 </font>
314
315 <br /><br /><br /><br />
316     </td></tr>
317     </table>
318   </td>
319 </tr>
320 </table>
321
322 <table border="0" cellspacing="0" cellpadding="0" width="100%">
323 <tr bgcolor="#444444"><td><img src="space.gif" width="1" height="1"border="0" alt="" ></td></tr>
324 </table>
325 <table border="0" cellspacing="0" cellpadding="6" width="100%">
326  <tr valign="top" bgcolor="#dddddd">
327   <td><small>Copyright &copy; 2001 - 2007 SILC Project<br />
328     <a href="http://silcnet.org">SILC Project Website</a></small></td>
329   <td align="right"><small>
330    <a href="index.html">SILC Toolkit Reference Manual</a><br />
331    <a href="toolkit_index.html">Index</a></small></td>
332    </small></td>
333  </tr>
334 </table>
335
336 </body>
337 </html>