Commit 67357673 673576731a2ea8ada73bfc486afea673504cb70a by Sergey Poznyakoff

*** empty log message ***

1 parent 43cbe40f
/* GNU Mailutils -- a suite of utilities for electronic mail
Copyright (C) 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifndef _MAILUTILS_ERRNO_H
#define _MAILUTILS_ERRNO_H 1
#include <mailutils/types.h>
#ifdef __cplusplus
extern "C" {
#endif
#define MU_ERR_BASE 0x1000
#define MU_ERR_FAILURE (MU_ERR_BASE + 1)
#define MU_ERR_NO_HANDLER (MU_ERR_BASE + 2)
#define MU_ERR_EMPTY_VFN (MU_ERR_BASE + 3)
#define MU_ERR_OUT_NULL (MU_ERR_BASE + 4)
#define MU_ERR_OUT_PTR_NULL (MU_ERR_BASE + 5)
#define MU_ERR_MBX_NULL (MU_ERR_BASE + 6)
#define MU_ERR_BAD_822_FORMAT (MU_ERR_BASE + 7)
#define MU_ERR_EMPTY_ADDRESS (MU_ERR_BASE + 8)
#define MU_ERR_LOCKER_NULL (MU_ERR_BASE + 9)
#define MU_ERR_LOCK_CONFLICT (MU_ERR_BASE + 10)
#define MU_ERR_LOCK_BAD_LOCK (MU_ERR_BASE + 11)
#define MU_ERR_LOCK_BAD_FILE (MU_ERR_BASE + 12)
#define MU_ERR_LOCK_NOT_HELD (MU_ERR_BASE + 13)
#define MU_ERR_LOCK_EXT_FAIL (MU_ERR_BASE + 14)
/* external program not found, or lack of system resources */
#define MU_ERR_LOCK_EXT_ERR (MU_ERR_BASE + 15)
/* external program failed, specific reason unknown */
#define MU_ERR_LOCK_EXT_KILLED (MU_ERR_BASE + 16)
/* external program was interrupted */
#define MU_ERR_NO_SUCH_USER (MU_ERR_BASE + 17)
#define MU_ERR_GETHOSTBYNAME (MU_ERR_BASE + 18)
#define MU_ERR_BAD_RESUMPTION (MU_ERR_BASE + 19)
#define MU_ERR_MAILER_BAD_FROM (MU_ERR_BASE + 20)
#define MU_ERR_MAILER_BAD_TO (MU_ERR_BASE + 21)
#define MU_ERR_MAILER_NO_RCPT_TO (MU_ERR_BASE + 22)
#define MU_ERR_MAILER_BAD_URL (MU_ERR_BASE + 23)
#define MU_ERR_SMTP_RCPT_FAILED (MU_ERR_BASE + 24)
#define MU_ERR_TCP_NO_HOST (MU_ERR_BASE + 25)
#define MU_ERR_TCP_NO_PORT (MU_ERR_BASE + 26)
#define MU_ERR_BAD_2047_INPUT (MU_ERR_BASE + 27)
#define MU_ERR_NOUSERNAME (MU_ERR_BASE + 28)
#define MU_ERR_NOPASSWORD (MU_ERR_BASE + 29)
#define MU_ERR_UNSAFE_PERMS (MU_ERR_BASE + 30)
/* unsafe file permissions */
#define MU_ERR_BAD_AUTH_SCHEME (MU_ERR_BASE + 31)
/* Unsupported authentication scheme */
#define MU_ERR_AUTH_FAILURE (MU_ERR_BASE + 32)
/* Authentication failed */
#define MU_ERR_PROCESS_NOEXEC (MU_ERR_BASE + 33)
/* Unable to execute subprocess */
#define MU_ERR_PROCESS_EXITED (MU_ERR_BASE + 34)
/* Subprocess exited with a non-zero status */
#define MU_ERR_PROCESS_SIGNALED (MU_ERR_BASE + 35)
/* Subprocess exited on signal */
#define MU_ERR_PROCESS_UNKNOWN_FAILURE (MU_ERR_BASE + 36)
/* Unknown failure while executing subprocess */
#define MU_ERR_CONN_CLOSED (MU_ERR_BASE + 37)
/* Connection closed by remote host */
#define MU_ERR_PARSE (MU_ERR_BASE + 38)
/* Parse error */
#define MU_ERR_NOENT (MU_ERR_BASE + 39)
/* Requested item not found */
#define MU_ERR_BUFSPACE (MU_ERR_BASE + 40)
/* Not enough buffer space */
#define MU_ERR_SQL (MU_ERR_BASE + 41)
/* SQL error */
#define MU_ERR_DB_ALREADY_CONNECTED (MU_ERR_BASE + 42)
/* Already connected to the database */
#define MU_ERR_DB_NOT_CONNECTED (MU_ERR_BASE + 43)
/* Not connected to the database */
#define MU_ERR_RESULT_NOT_RELEASED (MU_ERR_BASE + 44)
/* Result of the previous query is not released */
#define MU_ERR_NO_QUERY (MU_ERR_BASE + 45)
/* No query was executed */
#define MU_ERR_BAD_COLUMN (MU_ERR_BASE + 46)
/* Bad column address */
#define MU_ERR_NO_RESULT (MU_ERR_BASE + 47)
/* No result from the previous query available */
#define MU_ERR_NO_INTERFACE (MU_ERR_BASE + 48)
/* No such interface */
const char *mu_errname __P((int e));
const char *mu_strerror __P((int e));
#ifdef __cplusplus
}
#endif
#endif /* _MAILUTILS_ERRNO_H */
/* GNU Mailutils -- a suite of utilities for electronic mail
Copyright (C) 1999, 2000, 2001, 2002, 2003,
2004 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <mailutils/errno.h>
#include <mailutils/nls.h>
#ifndef EOK
# define EOK 0
#endif
const char*
mu_errname (int e)
{
static char buf[128];
switch (e)
{
#define EN(x) case x: return #x
EN(EOK);
EN(EPERM);
EN(ENOENT);
EN(ESRCH);
EN(EINTR);
EN(EAGAIN);
EN(ENOMEM);
EN(EEXIST);
EN(EINVAL);
EN(MU_ERR_FAILURE);
EN(MU_ERR_NO_HANDLER);
EN(MU_ERR_EMPTY_VFN);
EN(MU_ERR_OUT_NULL);
EN(MU_ERR_OUT_PTR_NULL);
EN(MU_ERR_MBX_NULL);
EN(MU_ERR_BAD_822_FORMAT);
EN(MU_ERR_EMPTY_ADDRESS);
EN(MU_ERR_LOCKER_NULL);
EN(MU_ERR_LOCK_CONFLICT);
EN(MU_ERR_LOCK_BAD_LOCK);
EN(MU_ERR_LOCK_BAD_FILE);
EN(MU_ERR_LOCK_NOT_HELD);
EN(MU_ERR_LOCK_EXT_FAIL);
EN(MU_ERR_LOCK_EXT_ERR);
EN(MU_ERR_LOCK_EXT_KILLED);
EN(MU_ERR_NO_SUCH_USER);
EN(MU_ERR_GETHOSTBYNAME);
EN(MU_ERR_BAD_RESUMPTION);
EN(MU_ERR_MAILER_BAD_FROM);
EN(MU_ERR_MAILER_BAD_TO);
EN(MU_ERR_MAILER_BAD_URL);
EN(MU_ERR_MAILER_NO_RCPT_TO);
EN(MU_ERR_SMTP_RCPT_FAILED);
EN(MU_ERR_TCP_NO_HOST);
EN(MU_ERR_TCP_NO_PORT);
EN(MU_ERR_BAD_2047_INPUT);
EN(MU_ERR_NOUSERNAME);
EN(MU_ERR_NOPASSWORD);
EN(MU_ERR_UNSAFE_PERMS);
EN(MU_ERR_BAD_AUTH_SCHEME);
EN(MU_ERR_AUTH_FAILURE);
EN(MU_ERR_PROCESS_NOEXEC);
EN(MU_ERR_PROCESS_EXITED);
EN(MU_ERR_PROCESS_SIGNALED);
EN(MU_ERR_PROCESS_UNKNOWN_FAILURE);
EN(MU_ERR_CONN_CLOSED);
EN(MU_ERR_PARSE);
EN(MU_ERR_NOENT);
EN(MU_ERR_BUFSPACE);
EN(MU_ERR_SQL);
EN(MU_ERR_DB_ALREADY_CONNECTED);
EN(MU_ERR_DB_NOT_CONNECTED);
EN(MU_ERR_RESULT_NOT_RELEASED);
EN(MU_ERR_NO_QUERY);
EN(MU_ERR_BAD_COLUMN);
EN(MU_ERR_NO_RESULT);
EN(MU_ERR_NO_INTERFACE);
}
snprintf (buf, sizeof buf, _("Error %d"), e);
return buf;
}
const char *
mu_strerror (int e)
{
const char *msg = NULL;
switch (e)
{
#define ES(x, d) case x: msg = d; break;
ES(EOK, _("Success"));
ES(MU_ERR_FAILURE, _("Operation failed"));
ES(MU_ERR_NO_HANDLER, _("No registered handler"));
ES(MU_ERR_EMPTY_VFN, _("Empty virtual function"));
ES(MU_ERR_OUT_NULL, _("Pointer to output null"));
ES(MU_ERR_OUT_PTR_NULL, _("Pointer to output pointer null"));
ES(MU_ERR_MBX_NULL, _("Mailbox null"));
ES(MU_ERR_BAD_822_FORMAT, _("Format of RFC822 object is bad"));
ES(MU_ERR_EMPTY_ADDRESS, _("Address contains no addr specs"));
ES(MU_ERR_LOCKER_NULL, _("Locker null"));
ES(MU_ERR_LOCK_CONFLICT, _("Conflict with previous locker"));
ES(MU_ERR_LOCK_BAD_LOCK, _("Lock file check failed"));
ES(MU_ERR_LOCK_BAD_FILE, _("File check failed"));
ES(MU_ERR_LOCK_NOT_HELD, _("Lock not held on file"));
ES(MU_ERR_LOCK_EXT_FAIL, _("Failed to exec external locker"));
ES(MU_ERR_LOCK_EXT_ERR, _("External locker failed"));
ES(MU_ERR_LOCK_EXT_KILLED, _("External locker killed"));
ES(MU_ERR_NO_SUCH_USER, _("No such user name"));
ES(MU_ERR_GETHOSTBYNAME, _("DNS name resolution failed"));
ES(MU_ERR_BAD_RESUMPTION, _("State busy, must resume operation"));
ES(MU_ERR_MAILER_BAD_FROM, _("Not a valid mailer from address"));
ES(MU_ERR_MAILER_BAD_TO, _("Not a valid mailer to address"));
ES(MU_ERR_MAILER_NO_RCPT_TO,_("No receipt addresses found"));
ES(MU_ERR_MAILER_BAD_URL, _("Malformed or unsupported mailer URL"));
ES(MU_ERR_SMTP_RCPT_FAILED, _("SMTP rcpt to command failed"));
ES(MU_ERR_TCP_NO_HOST, _("Tcp connections need a host"));
ES(MU_ERR_TCP_NO_PORT, _("Tcp connections need a postive port"));
ES(MU_ERR_BAD_2047_INPUT, _("Input string is not RFC 2047 encoded"));
ES(MU_ERR_NOUSERNAME, _("User name is not supplied"));
ES(MU_ERR_NOPASSWORD, _("User password is not supplied"));
ES(MU_ERR_UNSAFE_PERMS, _("Unsafe file permissions. Set 0600."));
ES(MU_ERR_BAD_AUTH_SCHEME, _("Unsupported authentication scheme"));
ES(MU_ERR_AUTH_FAILURE, _("Authentication failed"));
ES(MU_ERR_PROCESS_NOEXEC, _("Cannot execute"));
ES(MU_ERR_PROCESS_EXITED, _("Process exited with a non-zero status"));
ES(MU_ERR_PROCESS_SIGNALED, _("Process exited on signal"));
ES(MU_ERR_PROCESS_UNKNOWN_FAILURE,
_("Unknown failure while executing subprocess"));
ES(MU_ERR_CONN_CLOSED, _("Connection closed by remote host"));
ES(MU_ERR_PARSE, _("Parse error"));
ES(MU_ERR_NOENT, _("Requested item not found"));
ES(MU_ERR_BUFSPACE, _("Not enough buffer space"));
ES(MU_ERR_SQL, _("SQL error"));
ES(MU_ERR_DB_ALREADY_CONNECTED, _("Already connected to the database"));
ES(MU_ERR_DB_NOT_CONNECTED, _("Not connected to the database"));
ES(MU_ERR_RESULT_NOT_RELEASED, _("Result of the previous query is not released"));
ES(MU_ERR_NO_QUERY, _("No query was executed"));
ES(MU_ERR_BAD_COLUMN, _("Bad column address"));
ES(MU_ERR_NO_RESULT, _("No result from the previous query available"));
ES(MU_ERR_NO_INTERFACE, _("No such interface"));
}
return msg ? msg : strerror (e);
}