Merge branch 'master' into 4.next
[exim.git] / src / src / mime.h
1 /*************************************************
2 *     Exim - an Internet mail transport agent    *
3 *************************************************/
4
5 /* Copyright (c) Tom Kistner <tom@duncanthrax.net> 2004, 2015 */
6 /* License: GPL */
7
8 #ifdef WITH_CONTENT_SCAN
9
10 #define MIME_MAX_HEADER_SIZE 8192
11 #define MIME_MAX_LINE_LENGTH 32768
12
13 #define MBC_ATTACHMENT            0
14 #define MBC_COVERLETTER_ONESHOT   1
15 #define MBC_COVERLETTER_ALL       2
16
17 struct mime_boundary_context
18 {
19   struct mime_boundary_context *parent;
20   unsigned char *boundary;
21   int context;
22 };
23
24 typedef struct mime_header {
25   uschar *  name;
26   int       namelen;
27   uschar ** value;
28 } mime_header;
29
30 static mime_header mime_header_list[] = {
31   { US"content-type:",              13, &mime_content_type },
32   { US"content-disposition:",       20, &mime_content_disposition },
33   { US"content-transfer-encoding:", 26, &mime_content_transfer_encoding },
34   { US"content-id:",                11, &mime_content_id },
35   { US"content-description:",       20, &mime_content_description }
36 };
37
38
39
40
41 typedef struct mime_parameter {
42   uschar *  name;
43   int       namelen;
44   uschar ** value;
45 } mime_parameter;
46
47 /* MIME Anomaly list */
48 #define MIME_ANOMALY_BROKEN_BASE64    1
49 #define MIME_ANOMALY_BROKEN_QP        0
50
51
52 #endif