]> git.ipfire.org Git - thirdparty/git.git/blobdiff - mailinfo.h
mailinfo: libify
[thirdparty/git.git] / mailinfo.h
diff --git a/mailinfo.h b/mailinfo.h
new file mode 100644 (file)
index 0000000..1e97b73
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef MAILINFO_H
+#define MAILINFO_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;
+       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 **p_hdr_data;
+       struct strbuf **s_hdr_data;
+
+       struct strbuf log_message;
+};
+
+extern void setup_mailinfo(struct mailinfo *);
+extern int mailinfo(struct mailinfo *, const char *msg, const char *patch);
+extern void clear_mailinfo(struct mailinfo *);
+
+#endif /* MAILINFO_H */