aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib/notmuch-deliver/src/maildircreate.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/notmuch-deliver/src/maildircreate.h')
-rw-r--r--contrib/notmuch-deliver/src/maildircreate.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/contrib/notmuch-deliver/src/maildircreate.h b/contrib/notmuch-deliver/src/maildircreate.h
new file mode 100644
index 00000000..ea1c71ac
--- /dev/null
+++ b/contrib/notmuch-deliver/src/maildircreate.h
@@ -0,0 +1,52 @@
+#ifndef maildircreate_h
+#define maildircreate_h
+
+/*
+** Copyright 1998 - 2003 Double Precision, Inc.
+** See COPYING for distribution information.
+*/
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+static const char maildircreate_h_rcsid[]="$Id: maildircreate.h,v 1.10 2006/10/29 00:03:53 mrsam Exp $";
+
+ /* Create messages in maildirs */
+
+struct maildir_tmpcreate_info {
+ const char *maildir;
+ unsigned long msgsize; /* If known, 0 otherwise (must use requota later)*/
+ const char *uniq; /* You need when creating multiple msgs */
+ const char *hostname; /* If known, NULL otherwise */
+ int openmode; /* Default open mode */
+ int doordie; /* Loop until we get it right. */
+ char *tmpname; /* On exit, filename in tmp */
+ char *newname; /* On exit, filename in new */
+};
+
+#define maildir_tmpcreate_init(i) \
+ do \
+ { \
+ memset( (i), 0, sizeof(*(i))); \
+ (i)->openmode=0644; \
+ } while(0)
+
+int maildir_tmpcreate_fd(struct maildir_tmpcreate_info *);
+FILE *maildir_tmpcreate_fp(struct maildir_tmpcreate_info *);
+void maildir_tmpcreate_free(struct maildir_tmpcreate_info *);
+
+ /* Move created message from tmp to new */
+int maildir_movetmpnew(const char *tmpname, const char *newname);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif