| #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 */ |