Blame src/mw_error.h

Packit 16808d
Packit 16808d
/*
Packit 16808d
  Meanwhile - Unofficial Lotus Sametime Community Client Library
Packit 16808d
  Copyright (C) 2004  Christopher (siege) O'Brien
Packit 16808d
  
Packit 16808d
  This library is free software; you can redistribute it and/or
Packit 16808d
  modify it under the terms of the GNU Library General Public
Packit 16808d
  License as published by the Free Software Foundation; either
Packit 16808d
  version 2 of the License, or (at your option) any later version.
Packit 16808d
  
Packit 16808d
  This library is distributed in the hope that it will be useful,
Packit 16808d
  but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 16808d
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 16808d
  Library General Public License for more details.
Packit 16808d
  
Packit 16808d
  You should have received a copy of the GNU Library General Public
Packit 16808d
  License along with this library; if not, write to the Free
Packit 16808d
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Packit 16808d
*/
Packit 16808d
Packit 16808d
#ifndef _MW_ERROR_H
Packit 16808d
#define _MW_ERROR_H
Packit 16808d
Packit 16808d
Packit 16808d
/** @file mw_error.h
Packit 16808d
Packit 16808d
    Common error code constants used by Meanwhile.
Packit 16808d
Packit 16808d
    Not all of these error codes (or even many, really) will ever
Packit 16808d
    actually appear from Meanwhile. These are taken directly from the
Packit 16808d
    houri draft, along with the minimal explanation for each.
Packit 16808d
*/
Packit 16808d
Packit 16808d
Packit 16808d
#include <glib.h>
Packit 16808d
Packit 16808d
Packit 16808d
#ifdef __cplusplus
Packit 16808d
extern "C" {
Packit 16808d
#endif
Packit 16808d
Packit 16808d
Packit 16808d
/** reference to a new string appropriate for the given error code.*/
Packit 16808d
char* mwError(guint32 code);
Packit 16808d
Packit 16808d
Packit 16808d
/* 8.3 Constants */
Packit 16808d
/* 8.3.1 Error Codes */
Packit 16808d
/* 8.3.1.1 General error/success codes */
Packit 16808d
Packit 16808d
/** @enum ERR_GENERAL
Packit 16808d
    general error codes */
Packit 16808d
enum ERR_GENERAL {
Packit 16808d
  ERR_SUCCESS                = 0x00000000,
Packit 16808d
  ERR_FAILURE                = 0x80000000,
Packit 16808d
  ERR_REQUEST_DELAY          = 0x00000001,
Packit 16808d
  ERR_REQUEST_INVALID        = 0x80000001,
Packit 16808d
  ERR_NOT_LOGGED_IN          = 0x80000002,
Packit 16808d
  ERR_NOT_AUTHORIZED         = 0x80000003,
Packit 16808d
  ERR_ABORT                  = 0x80000004,
Packit 16808d
  ERR_NO_ELEMENT             = 0x80000005,
Packit 16808d
  ERR_NO_USER                = 0x80000006,
Packit 16808d
  ERR_BAD_DATA               = 0x80000007,
Packit 16808d
  ERR_NOT_IMPLEMENTED        = 0x80000008,
Packit 16808d
  ERR_UNKNOWN_ERROR          = 0x80000009, /* what is this? */
Packit 16808d
  ERR_STARVING               = 0x8000000a,
Packit 16808d
  ERR_CHANNEL_NO_SUPPORT     = 0x8000000b,
Packit 16808d
  ERR_CHANNEL_EXISTS         = 0x8000000c,
Packit 16808d
  ERR_SERVICE_NO_SUPPORT     = 0x8000000d,
Packit 16808d
  ERR_PROTOCOL_NO_SUPPORT    = 0x8000000e,
Packit 16808d
  ERR_PROTOCOL_NO_SUPPORT2   = 0x8000000f, /* duplicate? */
Packit 16808d
  ERR_VERSION_NO_SUPPORT     = 0x80000010,
Packit 16808d
  ERR_USER_SKETCHY           = 0x80000011,
Packit 16808d
  ERR_ALREADY_INITIALIZED    = 0x80000013,
Packit 16808d
  ERR_NOT_OWNER              = 0x80000014,
Packit 16808d
  ERR_TOKEN_INVALID          = 0x80000015,
Packit 16808d
  ERR_TOKEN_EXPIRED          = 0x80000016,
Packit 16808d
  ERR_TOKEN_IP_MISMATCH      = 0x80000017,
Packit 16808d
  ERR_PORT_IN_USE            = 0x80000018,
Packit 16808d
  ERR_NETWORK_DEAD           = 0x80000019,
Packit 16808d
  ERR_NO_MASTER_CHANNEL      = 0x8000001a,
Packit 16808d
  ERR_ALREADY_SUBSCRIBED     = 0x8000001b,
Packit 16808d
  ERR_NOT_SUBSCRIBED         = 0x8000001c,
Packit 16808d
  ERR_ENCRYPT_NO_SUPPORT     = 0x8000001d,
Packit 16808d
  ERR_ENCRYPT_UNINITIALIZED  = 0x8000001e,
Packit 16808d
  ERR_ENCRYPT_UNACCEPTABLE   = 0x8000001f,
Packit 16808d
  ERR_ENCRYPT_INVALID        = 0x80000020,
Packit 16808d
  ERR_NO_COMMON_ENCRYPT      = 0x80000021,
Packit 16808d
  ERR_CHANNEL_DESTROYED      = 0x80000022,
Packit 16808d
  ERR_CHANNEL_REDIRECTED     = 0x80000023
Packit 16808d
};
Packit 16808d
Packit 16808d
Packit 16808d
/* 8.3.1.2 Connection/disconnection errors */
Packit 16808d
Packit 16808d
#define VERSION_MISMATCH     0x80000200
Packit 16808d
#define INSUF_BUFFER         0x80000201
Packit 16808d
#define NOT_IN_USE           0x80000202
Packit 16808d
#define INSUF_SOCKET         0x80000203
Packit 16808d
#define HARDWARE_ERROR       0x80000204
Packit 16808d
#define NETWORK_DOWN         0x80000205
Packit 16808d
#define HOST_DOWN            0x80000206
Packit 16808d
#define HOST_UNREACHABLE     0x80000207
Packit 16808d
#define TCPIP_ERROR          0x80000208
Packit 16808d
#define FAT_MESSAGE          0x80000209
Packit 16808d
#define PROXY_ERROR          0x8000020A
Packit 16808d
#define SERVER_FULL          0x8000020B
Packit 16808d
#define SERVER_NORESPOND     0x8000020C
Packit 16808d
#define CANT_CONNECT         0x8000020D
Packit 16808d
#define USER_REMOVED         0x8000020E
Packit 16808d
#define PROTOCOL_ERROR       0x8000020F
Packit 16808d
#define USER_RESTRICTED      0x80000210
Packit 16808d
#define INCORRECT_LOGIN      0x80000211
Packit 16808d
#define ENCRYPT_MISMATCH     0x80000212
Packit 16808d
#define USER_UNREGISTERED    0x80000213
Packit 16808d
#define VERIFICATION_DOWN    0x80000214
Packit 16808d
#define USER_TOO_IDLE        0x80000216
Packit 16808d
#define GUEST_IN_USE         0x80000217
Packit 16808d
#define USER_EXISTS          0x80000218
Packit 16808d
#define USER_RE_LOGIN        0x80000219
Packit 16808d
#define BAD_NAME             0x8000021A
Packit 16808d
#define REG_MODE_NS          0x8000021B
Packit 16808d
#define WRONG_USER_PRIV      0x8000021C
Packit 16808d
#define NEED_EMAIL           0x8000021D
Packit 16808d
#define DNS_ERROR            0x8000021E
Packit 16808d
#define DNS_FATAL_ERROR      0x8000021F
Packit 16808d
#define DNS_NOT_FOUND        0x80000220
Packit 16808d
#define CONNECTION_BROKEN    0x80000221
Packit 16808d
#define CONNECTION_ABORTED   0x80000222
Packit 16808d
#define CONNECTION_REFUSED   0x80000223
Packit 16808d
#define CONNECTION_RESET     0x80000224
Packit 16808d
#define CONNECTION_TIMED     0x80000225
Packit 16808d
#define CONNECTION_CLOSED    0x80000226
Packit 16808d
#define MULTI_SERVER_LOGIN   0x80000227
Packit 16808d
#define MULTI_SERVER_LOGIN2  0x80000228
Packit 16808d
#define MULTI_LOGIN_COMP     0x80000229
Packit 16808d
#define MUTLI_LOGIN_ALREADY  0x8000022A
Packit 16808d
#define SERVER_BROKEN        0x8000022B
Packit 16808d
#define SERVER_PATH_OLD      0x8000022C
Packit 16808d
#define APPLET_LOGOUT        0x8000022D
Packit 16808d
Packit 16808d
Packit 16808d
/* 8.3.1.3 Client error codes */
Packit 16808d
Packit 16808d
/** @enum ERR_CLIENT
Packit 16808d
    Client error codes */
Packit 16808d
enum ERR_CLIENT {
Packit 16808d
  ERR_CLIENT_USER_GONE       = 0x80002000, /* user isn't here */
Packit 16808d
  ERR_CLIENT_USER_DND        = 0x80002001, /* user is DND */
Packit 16808d
  ERR_CLIENT_USER_ELSEWHERE  = 0x80002002, /* already logged in elsewhere */
Packit 16808d
};
Packit 16808d
Packit 16808d
Packit 16808d
/* 8.3.1.4 IM error codes */
Packit 16808d
Packit 16808d
/** @enum ERR_IM
Packit 16808d
    IM error codes */
Packit 16808d
enum ERR_IM {
Packit 16808d
  ERR_IM_COULDNT_REGISTER    = 0x80002003,
Packit 16808d
  ERR_IM_ALREADY_REGISTERED  = 0x80002004,
Packit 16808d
Packit 16808d
  /** apparently, this is used to mean that the requested feature (per
Packit 16808d
      the channel create addtl data) is not supported by the client on
Packit 16808d
      the other end of the IM channel */
Packit 16808d
  ERR_IM_NOT_REGISTERED      = 0x80002005,
Packit 16808d
};
Packit 16808d
Packit 16808d
Packit 16808d
#ifdef __cplusplus
Packit 16808d
}
Packit 16808d
#endif
Packit 16808d
Packit 16808d
Packit 16808d
#endif /* _MW_ERROR_H */