1/*	$NetBSD$	*/
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  */
19typedef 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
25extern const char *sys_exits_strerror(int);
26extern const SYS_EXITS_DETAIL *sys_exits_detail(int);
27extern 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