Merge branch 'ab/checkout-default-remote'
[git.git] / mailinfo.h
blob766c03dd1d29d00beb75b7553fc6717e24978384
1 #ifndef MAILINFO_H
2 #define MAILINFO_H
4 #include "strbuf.h"
6 #define MAX_BOUNDARIES 5
8 struct mailinfo {
9 FILE *input;
10 FILE *output;
11 FILE *patchfile;
13 struct strbuf name;
14 struct strbuf email;
15 int keep_subject;
16 int keep_non_patch_brackets_in_subject;
17 int add_message_id;
18 int use_scissors;
19 int use_inbody_headers;
20 const char *metainfo_charset;
22 struct strbuf *content[MAX_BOUNDARIES];
23 struct strbuf **content_top;
24 struct strbuf charset;
25 char *message_id;
26 enum {
27 TE_DONTCARE, TE_QP, TE_BASE64
28 } transfer_encoding;
29 int patch_lines;
30 int filter_stage; /* still reading log or are we copying patch? */
31 int header_stage; /* still checking in-body headers? */
32 struct strbuf inbody_header_accum;
33 struct strbuf **p_hdr_data;
34 struct strbuf **s_hdr_data;
36 struct strbuf log_message;
37 int input_error;
40 extern void setup_mailinfo(struct mailinfo *);
41 extern int mailinfo(struct mailinfo *, const char *msg, const char *patch);
42 extern void clear_mailinfo(struct mailinfo *);
44 #endif /* MAILINFO_H */