1 #ifndef _HEADER_OPTS_H_INCLUDED_
2 #define _HEADER_OPTS_H_INCLUDED_
3 
4 /*++
5 /* NAME
6 /*	header_opts 3h
7 /* SUMMARY
8 /*	message header classification
9 /* SYNOPSIS
10 /*	#include <header_opts.h>
11 /* DESCRIPTION
12 /* .nf
13 
14  /* External interface. */
15 
16 typedef struct {
17     const char *name;			/* name, preferred capitalization */
18     int     type;			/* type, see below */
19     int     flags;			/* flags, see below */
20 } HEADER_OPTS;
21 
22  /*
23   * Header types. If we reach 31, we must group the headers we need to
24   * remember at the beginning, or we should use fd_set bit sets.
25   */
26 #define HDR_OTHER			0
27 #define HDR_APPARENTLY_TO		1
28 #define HDR_BCC				2
29 #define HDR_CC				3
30 #define HDR_CONTENT_LENGTH		4
31 #define HDR_CONTENT_TRANSFER_ENCODING	5
32 #define HDR_CONTENT_TYPE		6
33 #define HDR_DATE			7
34 #define HDR_DELIVERED_TO		8
35 #define HDR_ERRORS_TO			9
36 #define HDR_FROM			10
37 #define HDR_MESSAGE_ID			11
38 #define HDR_RECEIVED			12
39 #define HDR_REPLY_TO			13
40 #define HDR_RESENT_BCC			14
41 #define HDR_RESENT_CC			15
42 #define HDR_RESENT_DATE			16
43 #define HDR_RESENT_FROM			17
44 #define HDR_RESENT_MESSAGE_ID		18
45 #define HDR_RESENT_REPLY_TO		19
46 #define HDR_RESENT_SENDER		20
47 #define HDR_RESENT_TO			21
48 #define HDR_RETURN_PATH			22
49 #define HDR_RETURN_RECEIPT_TO		23
50 #define HDR_SENDER			24
51 #define HDR_TO				25
52 #define HDR_MAIL_FOLLOWUP_TO		26
53 #define HDR_CONTENT_DESCRIPTION		27
54 #define HDR_CONTENT_DISPOSITION		28
55 #define HDR_CONTENT_ID			29
56 #define HDR_MIME_VERSION		30
57 #define HDR_DISP_NOTIFICATION		31
58 
59  /*
60   * Header flags.
61   */
62 #define HDR_OPT_DROP	(1<<0)		/* delete from input */
63 #define HDR_OPT_SENDER	(1<<1)		/* sender address */
64 #define HDR_OPT_RECIP	(1<<2)		/* recipient address */
65 #define HDR_OPT_RR	(1<<3)		/* Resent- header */
66 #define HDR_OPT_EXTRACT	(1<<4)		/* extract flag */
67 #define HDR_OPT_MIME	(1<<5)		/* MIME header */
68 
69 #define HDR_OPT_XRECIP	(HDR_OPT_RECIP | HDR_OPT_EXTRACT)
70 
71 extern const HEADER_OPTS *header_opts_find(const char *);
72 
73 /* LICENSE
74 /* .ad
75 /* .fi
76 /*	The Secure Mailer license must be distributed with this software.
77 /* AUTHOR(S)
78 /*	Wietse Venema
79 /*	IBM T.J. Watson Research
80 /*	P.O. Box 704
81 /*	Yorktown Heights, NY 10598, USA
82 /*--*/
83 
84 #endif
85