diff options
Diffstat (limited to 'contrib/notmuch-deliver/src/maildircreate.h')
-rw-r--r-- | contrib/notmuch-deliver/src/maildircreate.h | 52 |
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 0000000..ea1c71a --- /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 |