diff options
Diffstat (limited to 'third_party/git/mailinfo.h')
-rw-r--r-- | third_party/git/mailinfo.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/third_party/git/mailinfo.h b/third_party/git/mailinfo.h new file mode 100644 index 000000000000..79b1d6774ec9 --- /dev/null +++ b/third_party/git/mailinfo.h @@ -0,0 +1,46 @@ +#ifndef MAILINFO_H +#define MAILINFO_H + +#include "strbuf.h" + +#define MAX_BOUNDARIES 5 + +struct mailinfo { + FILE *input; + FILE *output; + FILE *patchfile; + + struct strbuf name; + struct strbuf email; + int keep_subject; + int keep_non_patch_brackets_in_subject; + int add_message_id; + int use_scissors; + int use_inbody_headers; + const char *metainfo_charset; + + struct strbuf *content[MAX_BOUNDARIES]; + struct strbuf **content_top; + struct strbuf charset; + unsigned int format_flowed:1; + unsigned int delsp:1; + char *message_id; + enum { + TE_DONTCARE, TE_QP, TE_BASE64 + } transfer_encoding; + int patch_lines; + int filter_stage; /* still reading log or are we copying patch? */ + int header_stage; /* still checking in-body headers? */ + struct strbuf inbody_header_accum; + struct strbuf **p_hdr_data; + struct strbuf **s_hdr_data; + + struct strbuf log_message; + int input_error; +}; + +void setup_mailinfo(struct mailinfo *); +int mailinfo(struct mailinfo *, const char *msg, const char *patch); +void clear_mailinfo(struct mailinfo *); + +#endif /* MAILINFO_H */ |