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