5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C) 2002 Pekka Riikonen
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; version 2 of the License.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
20 /****h* silccore/SILC Status Types
24 * This header includes the SILC Status Types that are used with
25 * command replies and with notify packets. With command reply packets
26 * they indicate whether error occurred during procesing of the command
27 * and indicate the error type. With notify type they always indicate
28 * which error occurred. Both command reply and notify type share the
36 /****d* silccore/StatusTypes/SilcStatus
40 * typedef SilcUInt8 SilcStatus
44 * The SilcStatus type definition and the status defines. The
45 * server returns a status in each Command Payload indicating
46 * the status of the command. The server can also return this
47 * inside SILC_NOTIFY_TYPE_ERROR notify type.
51 typedef SilcUInt8 SilcStatus;
53 /* Command Status messages */
54 #define SILC_STATUS_OK 0
55 #define SILC_STATUS_LIST_START 1
56 #define SILC_STATUS_LIST_ITEM 2
57 #define SILC_STATUS_LIST_END 3
58 #define SILC_STATUS_ERR_NO_SUCH_NICK 10
59 #define SILC_STATUS_ERR_NO_SUCH_CHANNEL 11
60 #define SILC_STATUS_ERR_NO_SUCH_SERVER 12
61 #define SILC_STATUS_ERR_INCOMPLETE_INFORMATION 13
62 #define SILC_STATUS_ERR_NO_RECIPIENT 14
63 #define SILC_STATUS_ERR_UNKNOWN_COMMAND 15
64 #define SILC_STATUS_ERR_WILDCARDS 16
65 #define SILC_STATUS_ERR_NO_CLIENT_ID 17
66 #define SILC_STATUS_ERR_NO_CHANNEL_ID 18
67 #define SILC_STATUS_ERR_NO_SERVER_ID 19
68 #define SILC_STATUS_ERR_BAD_CLIENT_ID 20
69 #define SILC_STATUS_ERR_BAD_CHANNEL_ID 21
70 #define SILC_STATUS_ERR_NO_SUCH_CLIENT_ID 22
71 #define SILC_STATUS_ERR_NO_SUCH_CHANNEL_ID 23
72 #define SILC_STATUS_ERR_NICKNAME_IN_USE 24
73 #define SILC_STATUS_ERR_NOT_ON_CHANNEL 25
74 #define SILC_STATUS_ERR_USER_NOT_ON_CHANNEL 26
75 #define SILC_STATUS_ERR_USER_ON_CHANNEL 27
76 #define SILC_STATUS_ERR_NOT_REGISTERED 28
77 #define SILC_STATUS_ERR_NOT_ENOUGH_PARAMS 29
78 #define SILC_STATUS_ERR_TOO_MANY_PARAMS 30
79 #define SILC_STATUS_ERR_PERM_DENIED 31
80 #define SILC_STATUS_ERR_BANNED_FROM_SERVER 32
81 #define SILC_STATUS_ERR_BAD_PASSWORD 33
82 #define SILC_STATUS_ERR_CHANNEL_IS_FULL 34
83 #define SILC_STATUS_ERR_NOT_INVITED 35
84 #define SILC_STATUS_ERR_BANNED_FROM_CHANNEL 36
85 #define SILC_STATUS_ERR_UNKNOWN_MODE 37
86 #define SILC_STATUS_ERR_NOT_YOU 38
87 #define SILC_STATUS_ERR_NO_CHANNEL_PRIV 39
88 #define SILC_STATUS_ERR_NO_CHANNEL_FOPRIV 40
89 #define SILC_STATUS_ERR_NO_SERVER_PRIV 41
90 #define SILC_STATUS_ERR_NO_ROUTER_PRIV 42
91 #define SILC_STATUS_ERR_BAD_NICKNAME 43
92 #define SILC_STATUS_ERR_BAD_CHANNEL 44
93 #define SILC_STATUS_ERR_AUTH_FAILED 45
94 #define SILC_STATUS_ERR_UNKNOWN_ALGORITHM 46
95 #define SILC_STATUS_ERR_NO_SUCH_SERVER_ID 47
96 #define SILC_STATUS_ERR_RESOURCE_LIMIT 48
97 #define SILC_STATUS_ERR_NO_SUCH_SERVICE 49
98 #define SILC_STATUS_ERR_NOT_AUTHENTICATED 50
99 #define SILC_STATUS_ERR_BAD_SERVER_ID 51
100 #define SILC_STATUS_ERR_KEY_EXCHANGE_FAILED 52
101 #define SILC_STATUS_ERR_BAD_VERSION 53
102 #define SILC_STATUS_ERR_TIMEDOUT 54
103 #define SILC_STATUS_ERR_UNSUPPORTED_PUBLIC_KEY 55
104 #define SILC_STATUS_ERR_OPERATION_ALLOWED 56
107 #define SILC_STATUS_IS_ERROR(status) (status >= SILC_STATUS_ERR_NO_SUCH_NICK)
109 #endif /* SILCSTATUS_H */