2 * Copyright (c) 1998-2001, 2003 Sendmail, Inc. and its suppliers.
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.
9 * $Id: errstring.h,v 1.10 2007/03/21 23:56:19 ca Exp $
12 #pragma ident "%Z%%M% %I% %E% SMI"
18 #ifndef SM_ERRSTRING_H
19 # define SM_ERRSTRING_H
22 # define E_PSEUDOBASE 512
23 #endif /* defined(__QNX__) */
28 #endif /* NEEDINTERRNO */
31 ** These are used in a few cases where we need some special
32 ** error codes, but where the system doesn't provide something
33 ** reasonable. They are printed in sm_errstring.
37 # define E_PSEUDOBASE 256
38 #endif /* ! E_PSEUDOBASE */
40 #define E_SM_OPENTIMEOUT (E_PSEUDOBASE + 0) /* Timeout on file open */
41 #define E_SM_NOSLINK (E_PSEUDOBASE + 1) /* Symbolic links not allowed */
42 #define E_SM_NOHLINK (E_PSEUDOBASE + 2) /* Hard links not allowed */
43 #define E_SM_REGONLY (E_PSEUDOBASE + 3) /* Regular files only */
44 #define E_SM_ISEXEC (E_PSEUDOBASE + 4) /* Executable files not allowed */
45 #define E_SM_WWDIR (E_PSEUDOBASE + 5) /* World writable directory */
46 #define E_SM_GWDIR (E_PSEUDOBASE + 6) /* Group writable directory */
47 #define E_SM_FILECHANGE (E_PSEUDOBASE + 7) /* File changed after open */
48 #define E_SM_WWFILE (E_PSEUDOBASE + 8) /* World writable file */
49 #define E_SM_GWFILE (E_PSEUDOBASE + 9) /* Group writable file */
50 #define E_SM_GRFILE (E_PSEUDOBASE + 10) /* g readable file */
51 #define E_SM_WRFILE (E_PSEUDOBASE + 11) /* o readable file */
52 #define E_DNSBASE (E_PSEUDOBASE + 20) /* base for DNS h_errno */
53 #define E_SMDBBASE (E_PSEUDOBASE + 40) /* base for libsmdb errors */
54 #define E_LDAPBASE (E_PSEUDOBASE + 70) /* base for LDAP errors */
55 #define E_LDAPURLBASE (E_PSEUDOBASE + 200) /* base for LDAP URL errors */
60 #define SMDBE_MALLOC (E_SMDBBASE + 1)
61 #define SMDBE_GDBM_IS_BAD (E_SMDBBASE + 2)
62 #define SMDBE_UNSUPPORTED (E_SMDBBASE + 3)
63 #define SMDBE_DUPLICATE (E_SMDBBASE + 4)
64 #define SMDBE_BAD_OPEN (E_SMDBBASE + 5)
65 #define SMDBE_NOT_FOUND (E_SMDBBASE + 6)
66 #define SMDBE_UNKNOWN_DB_TYPE (E_SMDBBASE + 7)
67 #define SMDBE_UNSUPPORTED_DB_TYPE (E_SMDBBASE + 8)
68 #define SMDBE_INCOMPLETE (E_SMDBBASE + 9)
69 #define SMDBE_KEY_EMPTY (E_SMDBBASE + 10)
70 #define SMDBE_KEY_EXIST (E_SMDBBASE + 11)
71 #define SMDBE_LOCK_DEADLOCK (E_SMDBBASE + 12)
72 #define SMDBE_LOCK_NOT_GRANTED (E_SMDBBASE + 13)
73 #define SMDBE_LOCK_NOT_HELD (E_SMDBBASE + 14)
74 #define SMDBE_RUN_RECOVERY (E_SMDBBASE + 15)
75 #define SMDBE_IO_ERROR (E_SMDBBASE + 16)
76 #define SMDBE_READ_ONLY (E_SMDBBASE + 17)
77 #define SMDBE_DB_NAME_TOO_LONG (E_SMDBBASE + 18)
78 #define SMDBE_INVALID_PARAMETER (E_SMDBBASE + 19)
79 #define SMDBE_ONLY_SUPPORTS_ONE_CURSOR (E_SMDBBASE + 20)
80 #define SMDBE_NOT_A_VALID_CURSOR (E_SMDBBASE + 21)
81 #define SMDBE_LAST_ENTRY (E_SMDBBASE + 22)
82 #define SMDBE_OLD_VERSION (E_SMDBBASE + 23)
83 #define SMDBE_VERSION_MISMATCH (E_SMDBBASE + 24)
85 extern const char *sm_errstring
__P((int _errno
));
88 #endif /* SM_ERRSTRING_H */