Sync with maint
[git/git-svn.git] / mailinfo.h
blob04a25351d6d39c4d0bb00943bb23ee99e8d41bcf
1 #ifndef MAILINFO_H
2 #define MAILINFO_H
4 #define MAX_BOUNDARIES 5
6 struct mailinfo {
7 FILE *input;
8 FILE *output;
9 FILE *patchfile;
11 struct strbuf name;
12 struct strbuf email;
13 int keep_subject;
14 int keep_non_patch_brackets_in_subject;
15 int add_message_id;
16 int use_scissors;
17 int use_inbody_headers;
18 const char *metainfo_charset;
20 struct strbuf *content[MAX_BOUNDARIES];
21 struct strbuf **content_top;
22 struct strbuf charset;
23 char *message_id;
24 enum {
25 TE_DONTCARE, TE_QP, TE_BASE64
26 } transfer_encoding;
27 int patch_lines;
28 int filter_stage; /* still reading log or are we copying patch? */
29 int header_stage; /* still checking in-body headers? */
30 struct strbuf inbody_header_accum;
31 struct strbuf **p_hdr_data;
32 struct strbuf **s_hdr_data;
34 struct strbuf log_message;
35 int input_error;
38 extern void setup_mailinfo(struct mailinfo *);
39 extern int mailinfo(struct mailinfo *, const char *msg, const char *patch);
40 extern void clear_mailinfo(struct mailinfo *);
42 #endif /* MAILINFO_H */