17c478bd9Sstevel@tonic-gate /* 27c478bd9Sstevel@tonic-gate * Copyright (c) 1998-2001, 2003 Sendmail, Inc. and its suppliers. 37c478bd9Sstevel@tonic-gate * All rights reserved. 47c478bd9Sstevel@tonic-gate * 57c478bd9Sstevel@tonic-gate * By using this file, you agree to the terms and conditions set 67c478bd9Sstevel@tonic-gate * forth in the LICENSE file which can be found at the top level of 77c478bd9Sstevel@tonic-gate * the sendmail distribution. 87c478bd9Sstevel@tonic-gate * 9*4aac33d3Sjbeck * $Id: errstring.h,v 1.10 2007/03/21 23:56:19 ca Exp $ 107c478bd9Sstevel@tonic-gate */ 117c478bd9Sstevel@tonic-gate 127c478bd9Sstevel@tonic-gate /* 137c478bd9Sstevel@tonic-gate ** Error codes. 147c478bd9Sstevel@tonic-gate */ 157c478bd9Sstevel@tonic-gate 167c478bd9Sstevel@tonic-gate #ifndef SM_ERRSTRING_H 177c478bd9Sstevel@tonic-gate # define SM_ERRSTRING_H 187c478bd9Sstevel@tonic-gate 19*4aac33d3Sjbeck #if defined(__QNX__) 20*4aac33d3Sjbeck # define E_PSEUDOBASE 512 21*4aac33d3Sjbeck #endif /* defined(__QNX__) */ 22*4aac33d3Sjbeck 237c478bd9Sstevel@tonic-gate #include <errno.h> 247c478bd9Sstevel@tonic-gate #if NEEDINTERRNO 257c478bd9Sstevel@tonic-gate extern int errno; 267c478bd9Sstevel@tonic-gate #endif /* NEEDINTERRNO */ 277c478bd9Sstevel@tonic-gate 287c478bd9Sstevel@tonic-gate /* 297c478bd9Sstevel@tonic-gate ** These are used in a few cases where we need some special 307c478bd9Sstevel@tonic-gate ** error codes, but where the system doesn't provide something 317c478bd9Sstevel@tonic-gate ** reasonable. They are printed in sm_errstring. 327c478bd9Sstevel@tonic-gate */ 337c478bd9Sstevel@tonic-gate 347c478bd9Sstevel@tonic-gate #ifndef E_PSEUDOBASE 357c478bd9Sstevel@tonic-gate # define E_PSEUDOBASE 256 367c478bd9Sstevel@tonic-gate #endif /* ! E_PSEUDOBASE */ 377c478bd9Sstevel@tonic-gate 387c478bd9Sstevel@tonic-gate #define E_SM_OPENTIMEOUT (E_PSEUDOBASE + 0) /* Timeout on file open */ 397c478bd9Sstevel@tonic-gate #define E_SM_NOSLINK (E_PSEUDOBASE + 1) /* Symbolic links not allowed */ 407c478bd9Sstevel@tonic-gate #define E_SM_NOHLINK (E_PSEUDOBASE + 2) /* Hard links not allowed */ 417c478bd9Sstevel@tonic-gate #define E_SM_REGONLY (E_PSEUDOBASE + 3) /* Regular files only */ 427c478bd9Sstevel@tonic-gate #define E_SM_ISEXEC (E_PSEUDOBASE + 4) /* Executable files not allowed */ 437c478bd9Sstevel@tonic-gate #define E_SM_WWDIR (E_PSEUDOBASE + 5) /* World writable directory */ 447c478bd9Sstevel@tonic-gate #define E_SM_GWDIR (E_PSEUDOBASE + 6) /* Group writable directory */ 457c478bd9Sstevel@tonic-gate #define E_SM_FILECHANGE (E_PSEUDOBASE + 7) /* File changed after open */ 467c478bd9Sstevel@tonic-gate #define E_SM_WWFILE (E_PSEUDOBASE + 8) /* World writable file */ 477c478bd9Sstevel@tonic-gate #define E_SM_GWFILE (E_PSEUDOBASE + 9) /* Group writable file */ 487c478bd9Sstevel@tonic-gate #define E_SM_GRFILE (E_PSEUDOBASE + 10) /* g readable file */ 497c478bd9Sstevel@tonic-gate #define E_SM_WRFILE (E_PSEUDOBASE + 11) /* o readable file */ 507c478bd9Sstevel@tonic-gate #define E_DNSBASE (E_PSEUDOBASE + 20) /* base for DNS h_errno */ 517c478bd9Sstevel@tonic-gate #define E_SMDBBASE (E_PSEUDOBASE + 40) /* base for libsmdb errors */ 527c478bd9Sstevel@tonic-gate #define E_LDAPBASE (E_PSEUDOBASE + 70) /* base for LDAP errors */ 537c478bd9Sstevel@tonic-gate #define E_LDAPURLBASE (E_PSEUDOBASE + 200) /* base for LDAP URL errors */ 547c478bd9Sstevel@tonic-gate 557c478bd9Sstevel@tonic-gate 567c478bd9Sstevel@tonic-gate /* libsmdb */ 577c478bd9Sstevel@tonic-gate #define SMDBE_OK 0 587c478bd9Sstevel@tonic-gate #define SMDBE_MALLOC (E_SMDBBASE + 1) 597c478bd9Sstevel@tonic-gate #define SMDBE_GDBM_IS_BAD (E_SMDBBASE + 2) 607c478bd9Sstevel@tonic-gate #define SMDBE_UNSUPPORTED (E_SMDBBASE + 3) 617c478bd9Sstevel@tonic-gate #define SMDBE_DUPLICATE (E_SMDBBASE + 4) 627c478bd9Sstevel@tonic-gate #define SMDBE_BAD_OPEN (E_SMDBBASE + 5) 637c478bd9Sstevel@tonic-gate #define SMDBE_NOT_FOUND (E_SMDBBASE + 6) 647c478bd9Sstevel@tonic-gate #define SMDBE_UNKNOWN_DB_TYPE (E_SMDBBASE + 7) 657c478bd9Sstevel@tonic-gate #define SMDBE_UNSUPPORTED_DB_TYPE (E_SMDBBASE + 8) 667c478bd9Sstevel@tonic-gate #define SMDBE_INCOMPLETE (E_SMDBBASE + 9) 677c478bd9Sstevel@tonic-gate #define SMDBE_KEY_EMPTY (E_SMDBBASE + 10) 687c478bd9Sstevel@tonic-gate #define SMDBE_KEY_EXIST (E_SMDBBASE + 11) 697c478bd9Sstevel@tonic-gate #define SMDBE_LOCK_DEADLOCK (E_SMDBBASE + 12) 707c478bd9Sstevel@tonic-gate #define SMDBE_LOCK_NOT_GRANTED (E_SMDBBASE + 13) 717c478bd9Sstevel@tonic-gate #define SMDBE_LOCK_NOT_HELD (E_SMDBBASE + 14) 727c478bd9Sstevel@tonic-gate #define SMDBE_RUN_RECOVERY (E_SMDBBASE + 15) 737c478bd9Sstevel@tonic-gate #define SMDBE_IO_ERROR (E_SMDBBASE + 16) 747c478bd9Sstevel@tonic-gate #define SMDBE_READ_ONLY (E_SMDBBASE + 17) 757c478bd9Sstevel@tonic-gate #define SMDBE_DB_NAME_TOO_LONG (E_SMDBBASE + 18) 767c478bd9Sstevel@tonic-gate #define SMDBE_INVALID_PARAMETER (E_SMDBBASE + 19) 777c478bd9Sstevel@tonic-gate #define SMDBE_ONLY_SUPPORTS_ONE_CURSOR (E_SMDBBASE + 20) 787c478bd9Sstevel@tonic-gate #define SMDBE_NOT_A_VALID_CURSOR (E_SMDBBASE + 21) 797c478bd9Sstevel@tonic-gate #define SMDBE_LAST_ENTRY (E_SMDBBASE + 22) 807c478bd9Sstevel@tonic-gate #define SMDBE_OLD_VERSION (E_SMDBBASE + 23) 817c478bd9Sstevel@tonic-gate #define SMDBE_VERSION_MISMATCH (E_SMDBBASE + 24) 827c478bd9Sstevel@tonic-gate 837c478bd9Sstevel@tonic-gate extern const char *sm_errstring __P((int _errno)); 847c478bd9Sstevel@tonic-gate 857c478bd9Sstevel@tonic-gate 867c478bd9Sstevel@tonic-gate #endif /* SM_ERRSTRING_H */ 87