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