1 /* $NetBSD: sys_exits.h,v 1.1.1.1 2009/06/23 10:08:48 tron Exp $ */ 2 3 #ifndef _SYS_EXITS_H_INCLUDED_ 4 #define _SYS_EXITS_H_INCLUDED_ 5 6 /*++ 7 /* NAME 8 /* sys_exits 3h 9 /* SUMMARY 10 /* sendmail-compatible exit status handling 11 /* SYNOPSIS 12 /* #include <sys_exits.h> 13 /* DESCRIPTION 14 /* .nf 15 16 /* 17 * External interface. 18 */ 19 typedef struct { 20 const int status; /* exit status code */ 21 const char *dsn; /* DSN detail */ 22 const char *text; /* descriptive text */ 23 } SYS_EXITS_DETAIL; 24 25 extern const char *sys_exits_strerror(int); 26 extern const SYS_EXITS_DETAIL *sys_exits_detail(int); 27 extern int sys_exits_softerror(int); 28 29 #define SYS_EXITS_CODE(n) ((n) >= EX__BASE && (n) <= EX__MAX) 30 31 #define EX__BASE 64 /* base value for error messages */ 32 33 #define EX_USAGE 64 /* command line usage error */ 34 #define EX_DATAERR 65 /* data format error */ 35 #define EX_NOINPUT 66 /* cannot open input */ 36 #define EX_NOUSER 67 /* addressee unknown */ 37 #define EX_NOHOST 68 /* host name unknown */ 38 #define EX_UNAVAILABLE 69 /* service unavailable */ 39 #define EX_SOFTWARE 70 /* internal software error */ 40 #define EX_OSERR 71 /* system error (e.g., can't fork) */ 41 #define EX_OSFILE 72 /* critical OS file missing */ 42 #define EX_CANTCREAT 73 /* can't create (user) output file */ 43 #define EX_IOERR 74 /* input/output error */ 44 #define EX_TEMPFAIL 75 /* temporary failure */ 45 #define EX_PROTOCOL 76 /* remote error in protocol */ 46 #define EX_NOPERM 77 /* permission denied */ 47 #define EX_CONFIG 78 /* configuration error */ 48 49 #define EX__MAX 78 /* maximum listed value */ 50 51 /* LICENSE 52 /* .ad 53 /* .fi 54 /* The Secure Mailer license must be distributed with this software. 55 /* AUTHOR(S) 56 /* Wietse Venema 57 /* IBM T.J. Watson Research 58 /* P.O. Box 704 59 /* Yorktown Heights, NY 10598, USA 60 /*--*/ 61 62 #endif 63