10969
|
1
|
|
2 /*
|
|
3 Meanwhile - Unofficial Lotus Sametime Community Client Library
|
|
4 Copyright (C) 2004 Christopher (siege) O'Brien
|
|
5
|
|
6 This library is free software; you can redistribute it and/or
|
|
7 modify it under the terms of the GNU Library General Public
|
|
8 License as published by the Free Software Foundation; either
|
|
9 version 2 of the License, or (at your option) any later version.
|
|
10
|
|
11 This library is distributed in the hope that it will be useful,
|
|
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
14 Library General Public License for more details.
|
|
15
|
|
16 You should have received a copy of the GNU Library General Public
|
|
17 License along with this library; if not, write to the Free
|
|
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
19 */
|
|
20
|
|
21 #ifndef _MW_ERROR_H
|
|
22 #define _MW_ERROR_H
|
|
23
|
|
24 #include <glib.h>
|
|
25
|
|
26
|
|
27 /** @file error.h
|
|
28
|
|
29 Common error code constants used by Meanwhile.
|
|
30
|
|
31 Not all of these error codes (or even many, really) will ever
|
|
32 actually appear from Meanwhile. These are taken directly from the
|
|
33 houri draft, along with the minimal explanation for each.
|
|
34 */
|
|
35
|
|
36
|
|
37 /** reference to a new string appropriate for the given error code.*/
|
|
38 char* mwError(guint32 code);
|
|
39
|
|
40
|
|
41 /* 8.3 Constants */
|
|
42 /* 8.3.1 Error Codes */
|
|
43 /* 8.3.1.1 General error/success codes */
|
|
44
|
|
45 /** @enum ERR_GENERAL
|
|
46 general error codes */
|
|
47 enum ERR_GENERAL {
|
|
48 ERR_SUCCESS = 0x00000000,
|
|
49 ERR_FAILURE = 0x80000000,
|
|
50 ERR_REQUEST_DELAY = 0x00000001,
|
|
51 ERR_REQUEST_INVALID = 0x80000001,
|
|
52 ERR_NOT_LOGGED_IN = 0x80000002,
|
|
53 ERR_NOT_AUTHORIZED = 0x80000003,
|
|
54 ERR_ABORT = 0x80000004,
|
|
55 ERR_NO_ELEMENT = 0x80000005,
|
|
56 ERR_NO_USER = 0x80000006,
|
|
57 ERR_BAD_DATA = 0x80000007,
|
|
58 ERR_NOT_IMPLEMENTED = 0x80000008,
|
|
59 ERR_UNKNOWN_ERROR = 0x80000009, /* what is this? */
|
|
60 ERR_STARVING = 0x8000000a,
|
|
61 ERR_CHANNEL_NO_SUPPORT = 0x8000000b,
|
|
62 ERR_CHANNEL_EXISTS = 0x8000000c,
|
|
63 ERR_SERVICE_NO_SUPPORT = 0x8000000d,
|
|
64 ERR_PROTOCOL_NO_SUPPORT = 0x8000000e,
|
|
65 ERR_PROTOCOL_NO_SUPPORT2 = 0x8000000f, /* duplicate? */
|
|
66 ERR_VERSION_NO_SUPPORT = 0x80000010,
|
|
67 ERR_USER_SKETCHY = 0x80000011,
|
|
68 ERR_ALREADY_INITIALIZED = 0x80000013,
|
|
69 ERR_NOT_OWNER = 0x80000014,
|
|
70 ERR_TOKEN_INVALID = 0x80000015,
|
|
71 ERR_TOKEN_EXPIRED = 0x80000016,
|
|
72 ERR_TOKEN_IP_MISMATCH = 0x80000017,
|
|
73 ERR_PORT_IN_USE = 0x80000018,
|
|
74 ERR_NETWORK_DEAD = 0x80000019,
|
|
75 ERR_NO_MASTER_CHANNEL = 0x8000001a,
|
|
76 ERR_ALREADY_SUBSCRIBED = 0x8000001b,
|
|
77 ERR_NOT_SUBSCRIBED = 0x8000001c,
|
|
78 ERR_ENCRYPT_NO_SUPPORT = 0x8000001d,
|
|
79 ERR_ENCRYPT_UNINITIALIZED = 0x8000001e,
|
|
80 ERR_ENCRYPT_UNACCEPTABLE = 0x8000001f,
|
|
81 ERR_ENCRYPT_INVALID = 0x80000020,
|
|
82 ERR_NO_COMMON_ENCRYPT = 0x80000021,
|
|
83 ERR_CHANNEL_DESTROYED = 0x80000022,
|
|
84 ERR_CHANNEL_REDIRECTED = 0x80000023
|
|
85 };
|
|
86
|
|
87
|
|
88 /* 8.3.1.2 Connection/disconnection errors */
|
|
89
|
|
90 #define VERSION_MISMATCH 0x80000200
|
|
91 #define INSUF_BUFFER 0x80000201
|
|
92 #define NOT_IN_USE 0x80000202
|
|
93 #define INSUF_SOCKET 0x80000203
|
|
94 #define HARDWARE_ERROR 0x80000204
|
|
95 #define NETWORK_DOWN 0x80000205
|
|
96 #define HOST_DOWN 0x80000206
|
|
97 #define HOST_UNREACHABLE 0x80000207
|
|
98 #define TCPIP_ERROR 0x80000208
|
|
99 #define FAT_MESSAGE 0x80000209
|
|
100 #define PROXY_ERROR 0x8000020A
|
|
101 #define SERVER_FULL 0x8000020B
|
|
102 #define SERVER_NORESPOND 0x8000020C
|
|
103 #define CANT_CONNECT 0x8000020D
|
|
104 #define USER_REMOVED 0x8000020E
|
|
105 #define PROTOCOL_ERROR 0x8000020F
|
|
106 #define USER_RESTRICTED 0x80000210
|
|
107 #define INCORRECT_LOGIN 0x80000211
|
|
108 #define ENCRYPT_MISMATCH 0x80000212
|
|
109 #define USER_UNREGISTERED 0x80000213
|
|
110 #define VERIFICATION_DOWN 0x80000214
|
|
111 #define USER_TOO_IDLE 0x80000216
|
|
112 #define GUEST_IN_USE 0x80000217
|
|
113 #define USER_EXISTS 0x80000218
|
|
114 #define USER_RE_LOGIN 0x80000219
|
|
115 #define BAD_NAME 0x8000021A
|
|
116 #define REG_MODE_NS 0x8000021B
|
|
117 #define WRONG_USER_PRIV 0x8000021C
|
|
118 #define NEED_EMAIL 0x8000021D
|
|
119 #define DNS_ERROR 0x8000021E
|
|
120 #define DNS_FATAL_ERROR 0x8000021F
|
|
121 #define DNS_NOT_FOUND 0x80000220
|
|
122 #define CONNECTION_BROKEN 0x80000221
|
|
123 #define CONNECTION_ABORTED 0x80000222
|
|
124 #define CONNECTION_REFUSED 0x80000223
|
|
125 #define CONNECTION_RESET 0x80000224
|
|
126 #define CONNECTION_TIMED 0x80000225
|
|
127 #define CONNECTION_CLOSED 0x80000226
|
|
128 #define MULTI_SERVER_LOGIN 0x80000227
|
|
129 #define MULTI_SERVER_LOGIN2 0x80000228
|
|
130 #define MULTI_LOGIN_COMP 0x80000229
|
|
131 #define MUTLI_LOGIN_ALREADY 0x8000022A
|
|
132 #define SERVER_BROKEN 0x8000022B
|
|
133 #define SERVER_PATH_OLD 0x8000022C
|
|
134 #define APPLET_LOGOUT 0x8000022D
|
|
135
|
|
136
|
|
137 /* 8.3.1.3 Client error codes */
|
|
138
|
|
139 /** @enum ERR_CLIENT
|
|
140 Client error codes */
|
|
141 enum ERR_CLIENT {
|
|
142 ERR_CLIENT_USER_GONE = 0x80002000, /* user isn't here */
|
|
143 ERR_CLIENT_USER_DND = 0x80002001, /* user is DND */
|
|
144 ERR_CLIENT_USER_ELSEWHERE = 0x80002002, /* already logged in elsewhere */
|
|
145 };
|
|
146
|
|
147
|
|
148 /* 8.3.1.4 IM error codes */
|
|
149
|
|
150 /** @enum ERR_IM
|
|
151 IM error codes */
|
|
152 enum ERR_IM {
|
|
153 ERR_IM_COULDNT_REGISTER = 0x80002003,
|
|
154 ERR_IM_ALREADY_REGISTERED = 0x80002004,
|
|
155
|
|
156 /** apparently, this is used to mean that the requested feature (per
|
|
157 the channel create addtl data) is not supported by the client on
|
|
158 the other end of the IM channel */
|
|
159 ERR_IM_NOT_REGISTERED = 0x80002005,
|
|
160 };
|
|
161
|
|
162
|
|
163 #endif
|