Postfix3.3.1
mail_error.c
[詳解]
1 /*++
2 /* NAME
3 /* mail_error 3
4 /* SUMMARY
5 /* mail error classes
6 /* SYNOPSIS
7 /* #include <mail_error.h>
8 /*
9 /* NAME_MASK mail_error_masks[];
10 /* DESCRIPTION
11 /* This module implements error class support.
12 /*
13 /* mail_error_masks[] is a null-terminated table with mail error
14 /* class names and their corresponding bit masks.
15 /*
16 /* The following is a list of implemented names, with the
17 /* corresponding bit masks indicated in parentheses:
18 /* .IP "bounce (MAIL_ERROR_BOUNCE)"
19 /* A message could not be delivered because it was too large,
20 /* because was sent via too many hops, because the recipient
21 /* does not exist, and so on.
22 /* .IP "2bounce (MAIL_ERROR_2BOUNCE)"
23 /* A bounce message could not be delivered.
24 /* .IP "data (MAIL_ERROR_DATA)"
25 /* A message could not be delivered because a critical data
26 /* file was unavailable.
27 /* .IP "policy (MAIL_ERROR_POLICY)"
28 /* Policy violation. This depends on what restrictions have
29 /* been configured locally.
30 /* .IP "protocol (MAIL_ERROR_PROTOCOL)"
31 /* Protocol violation. Something did not follow the appropriate
32 /* standard, or something requested an unimplemented service.
33 /* .IP "resource (MAIL_ERROR_RESOURCE)"
34 /* A message could not be delivered due to lack of system
35 /* resources, for example, lack of file system space.
36 /* .IP "software (MAIL_ERROR_SOFTWARE)"
37 /* Software bug. The author of this program made a mistake.
38 /* Fixing this requires change to the software.
39 /* SEE ALSO
40 /* name_mask(3), name to mask conversion
41 /* LICENSE
42 /* .ad
43 /* .fi
44 /* The Secure Mailer license must be distributed with this software.
45 /* AUTHOR(S)
46 /* Wietse Venema
47 /* IBM T.J. Watson Research
48 /* P.O. Box 704
49 /* Yorktown Heights, NY 10598, USA
50 /*--*/
51 
52 /* System library. */
53 
54 #include <sys_defs.h>
55 
56 /* Utility library. */
57 
58 /* Global library. */
59 
60 #include "mail_error.h"
61 
62  /*
63  * The table that maps names to error bit masks. This will work on most UNIX
64  * compilation environments.
65  *
66  * In a some environments the table will not be linked in unless this module
67  * also contains a function that is being called explicitly. REF/DEF and all
68  * that.
69  */
71  "bounce", MAIL_ERROR_BOUNCE,
72  "2bounce", MAIL_ERROR_2BOUNCE,
73  "data", MAIL_ERROR_DATA,
74  "delay", MAIL_ERROR_DELAY,
75  "policy", MAIL_ERROR_POLICY,
76  "protocol", MAIL_ERROR_PROTOCOL,
77  "resource", MAIL_ERROR_RESOURCE,
78  "software", MAIL_ERROR_SOFTWARE,
79  0, 0,
80 };
#define MAIL_ERROR_2BOUNCE
Definition: mail_error.h:27
#define MAIL_ERROR_RESOURCE
Definition: mail_error.h:26
#define MAIL_ERROR_DATA
Definition: mail_error.h:29
#define MAIL_ERROR_BOUNCE
Definition: mail_error.h:24
const NAME_MASK mail_error_masks[]
Definition: mail_error.c:70
#define MAIL_ERROR_POLICY
Definition: mail_error.h:22
#define MAIL_ERROR_DELAY
Definition: mail_error.h:28
#define MAIL_ERROR_SOFTWARE
Definition: mail_error.h:25
#define MAIL_ERROR_PROTOCOL
Definition: mail_error.h:23