errstring.h revision 98121
1/* 2 * Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers. 3 * All rights reserved. 4 * 5 * By using this file, you agree to the terms and conditions set 6 * forth in the LICENSE file which can be found at the top level of 7 * the sendmail distribution. 8 * 9 * 10 * $Id: errstring.h,v 1.4 2001/06/07 20:04:53 ca Exp $ 11 */ 12 13/* 14** Error codes. 15*/ 16 17#ifndef SM_ERRSTRING_H 18# define SM_ERRSTRING_H 19 20#include <errno.h> 21extern int errno; 22 23/* 24** These are used in a few cases where we need some special 25** error codes, but where the system doesn't provide something 26** reasonable. They are printed in sm_errstring. 27*/ 28 29#ifndef E_PSEUDOBASE 30# define E_PSEUDOBASE 256 31#endif /* ! E_PSEUDOBASE */ 32 33#define E_SM_OPENTIMEOUT (E_PSEUDOBASE + 0) /* Timeout on file open */ 34#define E_SM_NOSLINK (E_PSEUDOBASE + 1) /* Symbolic links not allowed */ 35#define E_SM_NOHLINK (E_PSEUDOBASE + 2) /* Hard links not allowed */ 36#define E_SM_REGONLY (E_PSEUDOBASE + 3) /* Regular files only */ 37#define E_SM_ISEXEC (E_PSEUDOBASE + 4) /* Executable files not allowed */ 38#define E_SM_WWDIR (E_PSEUDOBASE + 5) /* World writable directory */ 39#define E_SM_GWDIR (E_PSEUDOBASE + 6) /* Group writable directory */ 40#define E_SM_FILECHANGE (E_PSEUDOBASE + 7) /* File changed after open */ 41#define E_SM_WWFILE (E_PSEUDOBASE + 8) /* World writable file */ 42#define E_SM_GWFILE (E_PSEUDOBASE + 9) /* Group writable file */ 43#define E_SM_GRFILE (E_PSEUDOBASE + 10) /* g readable file */ 44#define E_SM_WRFILE (E_PSEUDOBASE + 11) /* o readable file */ 45#define E_DNSBASE (E_PSEUDOBASE + 20) /* base for DNS h_errno */ 46#define E_SMDBBASE (E_PSEUDOBASE + 40) /* base for libsmdb errors */ 47#define E_LDAPBASE (E_PSEUDOBASE + 70) /* base for LDAP errors */ 48 49/* libsmdb */ 50#define SMDBE_OK 0 51#define SMDBE_MALLOC (E_SMDBBASE + 1) 52#define SMDBE_GDBM_IS_BAD (E_SMDBBASE + 2) 53#define SMDBE_UNSUPPORTED (E_SMDBBASE + 3) 54#define SMDBE_DUPLICATE (E_SMDBBASE + 4) 55#define SMDBE_BAD_OPEN (E_SMDBBASE + 5) 56#define SMDBE_NOT_FOUND (E_SMDBBASE + 6) 57#define SMDBE_UNKNOWN_DB_TYPE (E_SMDBBASE + 7) 58#define SMDBE_UNSUPPORTED_DB_TYPE (E_SMDBBASE + 8) 59#define SMDBE_INCOMPLETE (E_SMDBBASE + 9) 60#define SMDBE_KEY_EMPTY (E_SMDBBASE + 10) 61#define SMDBE_KEY_EXIST (E_SMDBBASE + 11) 62#define SMDBE_LOCK_DEADLOCK (E_SMDBBASE + 12) 63#define SMDBE_LOCK_NOT_GRANTED (E_SMDBBASE + 13) 64#define SMDBE_LOCK_NOT_HELD (E_SMDBBASE + 14) 65#define SMDBE_RUN_RECOVERY (E_SMDBBASE + 15) 66#define SMDBE_IO_ERROR (E_SMDBBASE + 16) 67#define SMDBE_READ_ONLY (E_SMDBBASE + 17) 68#define SMDBE_DB_NAME_TOO_LONG (E_SMDBBASE + 18) 69#define SMDBE_INVALID_PARAMETER (E_SMDBBASE + 19) 70#define SMDBE_ONLY_SUPPORTS_ONE_CURSOR (E_SMDBBASE + 20) 71#define SMDBE_NOT_A_VALID_CURSOR (E_SMDBBASE + 21) 72#define SMDBE_LAST_ENTRY (E_SMDBBASE + 22) 73#define SMDBE_OLD_VERSION (E_SMDBBASE + 23) 74 75extern const char * 76sm_errstring __P(( 77 int _errno)); 78 79#endif /* SM_ERRSTRING_H */ 80