updates.
[website.git] / docs / toolkit / manual / silcstatus_args.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 <big><b>SilcStatus Arguments</b></big>
157
158 <br />&nbsp;<br />
159 The <a href="silcstatus-SilcStatus.html">SilcStatus</a> is used to indicate
160 a status (usually error status) of command execution and command reply
161 status.  It is also used to deliver disconnection status when server
162 disconnects client from the server.  For application it is mainly important
163 in case of `command_reply' client operation, where the SilcStatus indicates
164 the error status of the command that was executed.  If error occurred the
165 arguments returned by the `command_reply' are then dependent of the SilcStatus
166 type instead of the <a href="command_reply_args.html">SilcCommand
167 arguments</a>.
168
169 <br />&nbsp;<br />
170 This documents describes how the application should interpret the SilcStatus
171 type in the `command_reply' client operation to be able to handle all
172 error conditions properly.  Any status type can be returned for any
173 SilcCommand.  For this reason application should be able to handle any
174 error with any command.
175
176
177 <br />&nbsp;<br />&nbsp;<br />
178 <b>Error Status In command_reply Client Operation</b>
179
180 <br />&nbsp;<br />
181 When error occurs in execution of a command the `command_reply' client
182 operation is called with error status.  In this case the 'success'
183 argument of the client operation is set to FALSE, to indicate that command
184 execution failed, and the 'status' argument indicates the error.
185 If the 'status' argument is SILC_STATUS_OK then error did not occur and the
186 arguments are as described in <a href="command_reply_args.html">SilcCommand
187 arguments</a>.
188
189 <br />&nbsp;<br />
190 Application should handle the error status arguments by the SilcStatus
191 type for example in a <tt>switch</tt> statement.  The SilcStatus values
192 are defined in lib/silccore/silcstatus.h header file.  A short example.
193
194 <br />&nbsp;<br />
195 <tt>
196 &nbsp;&nbsp;switch(status)<br />
197 &nbsp;&nbsp;&nbsp;&nbsp;{<br />
198 &nbsp;&nbsp;&nbsp;&nbsp;case SILC_STATUS_ERR_NO_SUCH_NICK:<br />
199 &nbsp;&nbsp;&nbsp;&nbsp;...<br />
200 &nbsp;&nbsp;&nbsp;&nbsp;nick = va_arg(va, char *);<br />
201 &nbsp;&nbsp;&nbsp;&nbsp;...<br />
202 &nbsp;&nbsp;&nbsp;&nbsp;break;<br />
203 &nbsp;&nbsp;&nbsp;&nbsp;case SILC_STATUS_ERR_NO_SUCH_CHANNEL:<br />
204 &nbsp;&nbsp;&nbsp;&nbsp;...<br />
205 &nbsp;&nbsp;&nbsp;&nbsp;break;<br />
206 &nbsp;&nbsp;&nbsp;&nbsp;case SILC_STATUS_ERR_NO_SUCH_SERVER:<br />
207 &nbsp;&nbsp;&nbsp;&nbsp;...<br />
208 &nbsp;&nbsp;&nbsp;&nbsp;break;<br />
209 &nbsp;&nbsp;&nbsp;&nbsp;...<br />
210 &nbsp;&nbsp;&nbsp;&nbsp;default:<br />
211 &nbsp;&nbsp;&nbsp;&nbsp;break;<br />
212 &nbsp;&nbsp;&nbsp;&nbsp;}
213 </tt>
214
215
216 <br />&nbsp;<br />&nbsp;<br />
217 <b>Arguments</b>
218
219 <br />&nbsp;<br />
220 The following table describes all status values and arguments that the client
221 library sends in the 'command_reply' client operation to the application
222 in case of error.  All arguments listed below are usually valid when
223 returned by the library.  However applicationn must be able to handle that
224 any of those arguments may be NULL.
225
226 <br />&nbsp;<br />
227 The 'command_reply' arguments in case of error are as follows:
228
229 <br />&nbsp;<br />
230 <table border="1" width="100%" cellpadding="3" cellspacing="0">
231
232 <tr>
233 <td><small>Name</td>
234 <td><small>Description</td>
235 <td width="40%"><small>Error Arguments</td>
236 </tr>
237
238 <tr>
239 <td><small>SILC_STATUS_OK</td>
240 <td><small>
241 No error.
242 </td>
243 <td width="40%"><small>N/A
244 </td>
245 </tr>
246
247 <tr>
248 <td><small>SILC_STATUS_ERR_NO_SUCH_NICK</td>
249 <td><small>
250 Requested nickname does not exist.  Argument is the unknown name.
251 </td>
252 <td width="40%"><small>const char *nickname
253 </td>
254 </tr>
255
256 <tr>
257 <td><small>SILC_STATUS_ERR_NO_SUCH_CHANNEL</td>
258 <td><small>
259 The requested channel does not exist.  Argument is the unknown name.
260 </td>
261 <td width="40%"><small>const char *channel_name
262 </td>
263 </tr>
264
265 <tr>
266 <td><small>SILC_STATUS_ERR_NO_SUCH_SERVER</td>
267 <td><small>
268 The requested server does not exist.  Argument is the unknown name.
269 </td>
270 <td width="40%"><small>const char *server_name
271 </td>
272 </tr>
273
274 <tr>
275 <td><small>SILC_STATUS_ERR_NO_RECIPIENT</td>
276 <td><small>
277 Command required recipient but none was provided.  No arguments returned.
278 <td width="40%"><small>N/A
279 </td>
280 </tr>
281
282 <tr>
283 <td><small>SILC_STATUS_ERR_UNKNOWN_COMMAND</td>
284 <td><small>
285 Command sent to server is unknown or unsupported by the server.  No
286 arguments returned.
287 </td>
288 <td width="40%"><small>N/A
289 </td>
290 </tr>
291
292 <tr>
293 <td><small>SILC_STATUS_ERR_WILDCARDS</td>
294 <td><small>
295 Wildcards were provided by they were not permitted.  No arguments returned.
296 </td>
297 <td width="40%"><small>N/A
298 </td>
299 </tr>
300
301 <tr>
302 <td><small>SILC_STATUS_ERR_NO_CLIENT_ID</td>
303 <td><small>
304 Client ID was expected as command parameter but was not found.  No
305 arguments returned.
306 </td>
307 <td width="40%"><small>N/A
308 </td>
309 </tr>
310
311 <tr>
312 <td><small>SILC_STATUS_ERR_NO_CHANNEL_ID</td>
313 <td><small>
314 Channel ID was expected as command parameter but was not found.  No
315 arguments returned.
316 </td>
317 <td width="40%"><small>N/A
318 </td>
319 </tr>
320
321 <tr>
322 <td><small>SILC_STATUS_ERR_NO_SERVER_ID</td>
323 <td><small>
324 Server ID was expected as command parameter but was not found.  No
325 arguments returned.
326 </td>
327 <td width="40%"><small>N/A
328 </td>
329 </tr>
330
331 <tr>
332 <td><small>SILC_STATUS_ERR_BAD_CLIENT_ID</td>
333 <td><small>
334 Client ID provided was malformed.  Returns the malformed ID.
335 </td>
336 <td width="40%"><small>const SilcClientID *client_id
337 </td>
338 </tr>
339
340 <tr>
341 <td><small>SILC_STATUS_ERR_BAD_CHANNEL_ID</td>
342 <td><small>
343 Channel ID provided was malformed.  Returns the malformed ID.
344 </td>
345 <td width="40%"><small>const SilcChannelID *channel_id
346 </td>
347 </tr>
348
349 <tr>
350 <td><small>SILC_STATUS_ERR_BAD_SERVER_ID</td>
351 <td><small>
352 Server ID provided was malformed.  Returns the malformed ID.
353 </td>
354 <td width="40%"><small>const SilcServerID *server_id
355 </td>
356 </tr>
357
358 <tr>
359 <td><small>SILC_STATUS_ERR_NO_SUCH_CLIENT_ID</td>
360 <td><small>
361 Client ID provided does not exist.  The unknown ID is returned.
362 </td>
363 <td width="40%"><small>const SilcClientID *client_id
364 </td>
365 </tr>
366
367 <tr>
368 <td><small>SILC_STATUS_ERR_NO_SUCH_CHANNEL_ID</td>
369 <td><small>
370 Channel ID provided does not exist.  The unknown ID is returned.
371 </td>
372 <td width="40%"><small>const SilcChannelID *channel_id
373 </td>
374 </tr>
375
376 <tr>
377 <td><small>SILC_STATUS_ERR_NO_SUCH_SERVER_ID</td>
378 <td><small>
379 Server ID provided does not exist.  The unknown ID is returned.
380 </td>
381 <td width="40%"><small>const SilcServerID *server_id
382 </td>
383 </tr>
384
385 <tr>
386 <td><small>SILC_STATUS_ERR_NOT_ON_CHANNEL</td>
387 <td><small>
388 The command required for you to be on channel but you were not.
389 The channel ID is returned.
390 </td>
391 <td width="40%"><small>const SilcChannelID *channel_id
392 </td>
393 </tr>
394
395 <tr>
396 <td><small>SILC_STATUS_ERR_USER_NOT_ON_CHANNEL</td>
397 <td><small>
398 The requested target client is not on requested channel.  Returns the
399 target client ID and channel ID.
400 </td>
401 <td width="40%"><small>const SilcClientID *client_id,
402 const SilcChannelID *channel_id
403 </td>
404 </tr>
405
406 <tr>
407 <td><small>SILC_STATUS_ERR_USER_ON_CHANNEL</td>
408 <td><small>
409 User were invited on channel they already are on.  Returns the
410 target client ID and channel ID.
411 </td>
412 <td width="40%"><small>const SilcClientID *client_id,
413 const SilcChannelID *channel_id
414 </td>
415 </tr>
416
417 <tr>
418 <td><small>SILC_STATUS_ERR_NOT_REGISTERED</td>
419 <td><small>
420 User executed command that requires the client to be registered on the
421 server before it may be executed.  No arguments returned.
422 </td>
423 <td width="40%"><small>N/A
424 </td>
425 </tr>
426
427 <tr>
428 <td><small>SILC_STATUS_ERR_NOT_ENOUGH_PARAMS</td>
429 <td><small>
430 Command required more parameters than provided.  No arguments returned.
431 </td>
432 <td width="40%"><small>N/A
433 </td>
434 </tr>
435
436 <tr>
437 <td><small>SILC_STATUS_ERR_TOO_MANY_PARAMS</td>
438 <td><small>
439 Too many parameters provided for the command.  No arguments returned.
440 </td>
441 <td width="40%"><small>N/A
442 </td>
443 </tr>
444
445 <tr>
446 <td><small>SILC_STATUS_ERR_PERM_DENIED</td>
447 <td><small>
448 Generic permission denied error status, to indicat disallowed access.
449 No arguments returned.
450 </td>
451 <td width="40%"><small>N/A
452 </td>
453 </tr>
454
455 <tr>
456 <td><small>SILC_STATUS_ERR_BAD_PASSWORD</td>
457 <td><small>
458 Password provided for channel were not accepted.  Returns the channel ID.
459 </td>
460 <td width="40%"><small>const SilcChannelID *channel_id
461 </td>
462 </tr>
463
464 <tr>
465 <td><small>SILC_STATUS_ERR_CHANNEL_IS_FULL</td>
466 <td><small>
467 The channel is full and client cannot join the channel.  Returns the
468 channel ID.
469 </td>
470 <td width="40%"><small>const SilcChannelID *channel_id
471 </td>
472 </tr>
473
474 <tr>
475 <td><small>SILC_STATUS_ERR_NOT_INVITED</td>
476 <td><small>
477 The channel is invite only channel and client has not been invited.
478 Returns the channel ID.
479 </td>
480 <td width="40%"><small>const SilcChannelID *channel_id
481 </td>
482 </tr>
483
484 <tr>
485 <td><small>SILC_STATUS_ERR_BANNED_FROM_CHANNEL</td>
486 <td><small>
487 The client has been banned from the channel.  Returns the channel ID.
488 </td>
489 <td width="40%"><small>const SilcChannelID *channel_id
490 </td>
491 </tr>
492
493 <tr>
494 <td><small>SILC_STATUS_ERR_UNKNOWN_MODE</td>
495 <td><small>
496 Mode provided by the client was unknown to or unsupported by the server.
497 No arguments returned.
498 </td>
499 <td width="40%"><small>N/A
500 </td>
501 </tr>
502
503 <tr>
504 <td><small>SILC_STATUS_ERR_NOT_YOU</td>
505 <td><small>
506 User tried to change someone else's mode which is not allowed.
507 No arguments returned.
508 </td>
509 <td width="40%"><small>N/A
510 </td>
511 </tr>
512
513 <tr>
514 <td><small>SILC_STATUS_ERR_NO_CHANNEL_PRIV</td>
515 <td><small>
516 Command may be executed only by channel operator.  The next argument is
517 the channel ID.
518 </td>
519 <td width="40%"><small>const SilcChannelID *channel_id
520 </td>
521 </tr>
522
523 <tr>
524 <td><small>SILC_STATUS_ERR_NO_CHANNEL_FOPRIV</td>
525 <td><small>
526 Command may be executed only by channel founder.  The next argument is
527 the channel ID.
528 </td>
529 <td width="40%"><small>const SilcChannelID *channel_id
530 </td>
531 </tr>
532
533 <tr>
534 <td><small>SILC_STATUS_ERR_NO_SERVER_PRIV</td>
535 <td><small>
536 Command may be executed only by server operator.  No arguments returned.
537 </td>
538 <td width="40%"><small>N/A
539 </td>
540 </tr>
541
542 <tr>
543 <td><small>SILC_STATUS_ERR_NO_ROUTER_PRIV</td>
544 <td><small>
545 Command may be executed only by router (SILC) operator.  No arguments returned.
546 </td>
547 <td width="40%"><small>N/A
548 </td>
549 </tr>
550
551 <tr>
552 <td><small>SILC_STATUS_ERR_BAD_NICKNAME</td>
553 <td><small>
554 Nickname requested contained illegal characters or was malformed.  No
555 arguments returned.
556 </td>
557 <td width="40%"><small>N/A
558 </td>
559 </tr>
560
561 <tr>
562 <td><small>SILC_STATUS_ERR_BAD_CHANNEL</td>
563 <td><small>
564 Channel name requested contained illegal characters or was malformed.  No
565 arguments returned.
566 </td>
567 <td width="40%"><small>N/A
568 </td>
569 </tr>
570
571 <tr>
572 <td><small>SILC_STATUS_ERR_AUTH_FAILED</td>
573 <td><small>
574 The authentication data (passphrase or digital signature) sent as argument
575 was wrong and thus authentication failed.  No arguments returned.
576 </td>
577 <td width="40%"><small>N/A
578 </td>
579 </tr>
580
581 <tr>
582 <td><small>SILC_STATUS_ERR_UNKNOWN_ALGORITHM</td>
583 <td><small>
584 The server does not support requested algorithm.  Returns the unknown
585 algorithm.
586 </td>
587 <td width="40%"><small>const char *alg_name
588 </td>
589 </tr>
590
591 <tr>
592 <td><small>SILC_STATUS_ERR_RESOURCE_LIMIT</td>
593 <td><small>
594 Server cannot or will not accept the action due to resource limitations.
595 No arguments returned.
596 </td>
597 <td width="40%"><small>N/A
598 </td>
599 </tr>
600
601 <tr>
602 <td><small>SILC_STATUS_ERR_NO_SUCH_SERVICE</td>
603 <td><small>
604 Requestes service identifier is unknown.  Returns the unknown service
605 identifier.
606 </td>
607 <td width="40%"><small>const char *service_identifier
608 </td>
609 </tr>
610
611 <tr>
612 <td><small>SILC_STATUS_ERR_TIMEDOUT</td>
613 <td><small>
614 Operation (command execution) or service request timed out, and thus was
615 not processed.  This usually happens due to network failure between servers
616 and routers in the network.  No arguments returned.
617 </td>
618 <td width="40%"><small>N/A
619 </td>
620 </tr>
621 <tr>
622
623 <td><small>SILC_STATUS_ERR_UNSUPPORTED_PUBLIC_KEY</td>
624 <td><small>
625 The public key or certificate type is not supported in ths implementation.
626 No arguments returned.
627 </td>
628 <td width="40%"><small>N/A
629 </td>
630 </tr>
631
632 <td><small>SILC_STATUS_ERR_OPERATION_ALLOWED</td>
633 <td><small>
634 A operation, for example a command, is not allowed or it's execution is
635 not allowed.  No arguments returned.
636 </td>
637 <td width="40%"><small>N/A
638 </td>
639 </tr>
640
641 </table>
642
643 <br />&nbsp;<br />
644 SILC protocol defines some additional status types but those status
645 types are not returned in `command_reply' client operation.  Only
646 the status types listed above are delivered to application.
647 <br /><br /><br /><br />
648     </td></tr>
649    </table>
650   </td>
651
652   <td bgcolor="#cccccc" background="dot.gif">
653    <img src="space.gif" width="1" height="1" border="0" alt=""></td>
654
655   <td width="180" bgcolor="#f0f0f0">
656     <img src="space.gif" width="1" height="1" border="0" alt="">
657     <table width="100%" cellpadding="4" cellspacing="0">
658     <tr valign="top"><td>
659 <br />
660 <font face="Helvetica,Arial,Sans-serif" size="1">
661 </font>
662
663 <br /><br /><br /><br />
664     </td></tr>
665     </table>
666   </td>
667 </tr>
668 </table>
669
670 <table border="0" cellspacing="0" cellpadding="0" width="100%">
671 <tr bgcolor="#444444"><td><img src="space.gif" width="1" height="1"border="0" alt="" ></td></tr>
672 </table>
673 <table border="0" cellspacing="0" cellpadding="6" width="100%">
674  <tr valign="top" bgcolor="#dddddd">
675   <td><small>Copyright &copy; 2001 - 2007 SILC Project<br />
676     <a href="http://silcnet.org">SILC Project Website</a></small></td>
677   <td align="right"><small>
678    <a href="index.html">SILC Toolkit Reference Manual</a><br />
679    <a href="toolkit_index.html">Index</a></small></td>
680    </small></td>
681  </tr>
682 </table>
683
684 </body>
685 </html>