meanwhile 1.0.2
mw_error.h
Go to the documentation of this file.
00001 
00002 /*
00003   Meanwhile - Unofficial Lotus Sametime Community Client Library
00004   Copyright (C) 2004  Christopher (siege) O'Brien
00005   
00006   This library is free software; you can redistribute it and/or
00007   modify it under the terms of the GNU Library General Public
00008   License as published by the Free Software Foundation; either
00009   version 2 of the License, or (at your option) any later version.
00010   
00011   This library is distributed in the hope that it will be useful,
00012   but WITHOUT ANY WARRANTY; without even the implied warranty of
00013   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014   Library General Public License for more details.
00015   
00016   You should have received a copy of the GNU Library General Public
00017   License along with this library; if not, write to the Free
00018   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 */
00020 
00021 #ifndef _MW_ERROR_H
00022 #define _MW_ERROR_H
00023 
00024 
00035 #include <glib.h>
00036 
00037 
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041 
00042 
00044 char* mwError(guint32 code);
00045 
00046 
00047 /* 8.3 Constants */
00048 /* 8.3.1 Error Codes */
00049 /* 8.3.1.1 General error/success codes */
00050 
00053 enum ERR_GENERAL {
00054   ERR_SUCCESS                = 0x00000000,
00055   ERR_FAILURE                = 0x80000000,
00056   ERR_REQUEST_DELAY          = 0x00000001,
00057   ERR_REQUEST_INVALID        = 0x80000001,
00058   ERR_NOT_LOGGED_IN          = 0x80000002,
00059   ERR_NOT_AUTHORIZED         = 0x80000003,
00060   ERR_ABORT                  = 0x80000004,
00061   ERR_NO_ELEMENT             = 0x80000005,
00062   ERR_NO_USER                = 0x80000006,
00063   ERR_BAD_DATA               = 0x80000007,
00064   ERR_NOT_IMPLEMENTED        = 0x80000008,
00065   ERR_UNKNOWN_ERROR          = 0x80000009, /* what is this? */
00066   ERR_STARVING               = 0x8000000a,
00067   ERR_CHANNEL_NO_SUPPORT     = 0x8000000b,
00068   ERR_CHANNEL_EXISTS         = 0x8000000c,
00069   ERR_SERVICE_NO_SUPPORT     = 0x8000000d,
00070   ERR_PROTOCOL_NO_SUPPORT    = 0x8000000e,
00071   ERR_PROTOCOL_NO_SUPPORT2   = 0x8000000f, /* duplicate? */
00072   ERR_VERSION_NO_SUPPORT     = 0x80000010,
00073   ERR_USER_SKETCHY           = 0x80000011,
00074   ERR_ALREADY_INITIALIZED    = 0x80000013,
00075   ERR_NOT_OWNER              = 0x80000014,
00076   ERR_TOKEN_INVALID          = 0x80000015,
00077   ERR_TOKEN_EXPIRED          = 0x80000016,
00078   ERR_TOKEN_IP_MISMATCH      = 0x80000017,
00079   ERR_PORT_IN_USE            = 0x80000018,
00080   ERR_NETWORK_DEAD           = 0x80000019,
00081   ERR_NO_MASTER_CHANNEL      = 0x8000001a,
00082   ERR_ALREADY_SUBSCRIBED     = 0x8000001b,
00083   ERR_NOT_SUBSCRIBED         = 0x8000001c,
00084   ERR_ENCRYPT_NO_SUPPORT     = 0x8000001d,
00085   ERR_ENCRYPT_UNINITIALIZED  = 0x8000001e,
00086   ERR_ENCRYPT_UNACCEPTABLE   = 0x8000001f,
00087   ERR_ENCRYPT_INVALID        = 0x80000020,
00088   ERR_NO_COMMON_ENCRYPT      = 0x80000021,
00089   ERR_CHANNEL_DESTROYED      = 0x80000022,
00090   ERR_CHANNEL_REDIRECTED     = 0x80000023
00091 };
00092 
00093 
00094 /* 8.3.1.2 Connection/disconnection errors */
00095 
00096 #define VERSION_MISMATCH     0x80000200
00097 #define INSUF_BUFFER         0x80000201
00098 #define NOT_IN_USE           0x80000202
00099 #define INSUF_SOCKET         0x80000203
00100 #define HARDWARE_ERROR       0x80000204
00101 #define NETWORK_DOWN         0x80000205
00102 #define HOST_DOWN            0x80000206
00103 #define HOST_UNREACHABLE     0x80000207
00104 #define TCPIP_ERROR          0x80000208
00105 #define FAT_MESSAGE          0x80000209
00106 #define PROXY_ERROR          0x8000020A
00107 #define SERVER_FULL          0x8000020B
00108 #define SERVER_NORESPOND     0x8000020C
00109 #define CANT_CONNECT         0x8000020D
00110 #define USER_REMOVED         0x8000020E
00111 #define PROTOCOL_ERROR       0x8000020F
00112 #define USER_RESTRICTED      0x80000210
00113 #define INCORRECT_LOGIN      0x80000211
00114 #define ENCRYPT_MISMATCH     0x80000212
00115 #define USER_UNREGISTERED    0x80000213
00116 #define VERIFICATION_DOWN    0x80000214
00117 #define USER_TOO_IDLE        0x80000216
00118 #define GUEST_IN_USE         0x80000217
00119 #define USER_EXISTS          0x80000218
00120 #define USER_RE_LOGIN        0x80000219
00121 #define BAD_NAME             0x8000021A
00122 #define REG_MODE_NS          0x8000021B
00123 #define WRONG_USER_PRIV      0x8000021C
00124 #define NEED_EMAIL           0x8000021D
00125 #define DNS_ERROR            0x8000021E
00126 #define DNS_FATAL_ERROR      0x8000021F
00127 #define DNS_NOT_FOUND        0x80000220
00128 #define CONNECTION_BROKEN    0x80000221
00129 #define CONNECTION_ABORTED   0x80000222
00130 #define CONNECTION_REFUSED   0x80000223
00131 #define CONNECTION_RESET     0x80000224
00132 #define CONNECTION_TIMED     0x80000225
00133 #define CONNECTION_CLOSED    0x80000226
00134 #define MULTI_SERVER_LOGIN   0x80000227
00135 #define MULTI_SERVER_LOGIN2  0x80000228
00136 #define MULTI_LOGIN_COMP     0x80000229
00137 #define MUTLI_LOGIN_ALREADY  0x8000022A
00138 #define SERVER_BROKEN        0x8000022B
00139 #define SERVER_PATH_OLD      0x8000022C
00140 #define APPLET_LOGOUT        0x8000022D
00141 
00142 
00143 /* 8.3.1.3 Client error codes */
00144 
00147 enum ERR_CLIENT {
00148   ERR_CLIENT_USER_GONE       = 0x80002000, /* user isn't here */
00149   ERR_CLIENT_USER_DND        = 0x80002001, /* user is DND */
00150   ERR_CLIENT_USER_ELSEWHERE  = 0x80002002, /* already logged in elsewhere */
00151 };
00152 
00153 
00154 /* 8.3.1.4 IM error codes */
00155 
00158 enum ERR_IM {
00159   ERR_IM_COULDNT_REGISTER    = 0x80002003,
00160   ERR_IM_ALREADY_REGISTERED  = 0x80002004,
00161 
00165   ERR_IM_NOT_REGISTERED      = 0x80002005,
00166 };
00167 
00168 
00169 #ifdef __cplusplus
00170 }
00171 #endif
00172 
00173 
00174 #endif /* _MW_ERROR_H */