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