summaryrefslogtreecommitdiffstats
path: root/rfc822/encode.h
diff options
context:
space:
mode:
authorSam Varshavchik2013-08-19 16:39:41 -0400
committerSam Varshavchik2013-08-25 14:43:51 -0400
commit9c45d9ad13fdf439d44d7443ae75da15ea0223ed (patch)
tree7a81a04cb51efb078ee350859a64be2ebc6b8813 /rfc822/encode.h
parenta9520698b770168d1f33d6301463bb70a19655ec (diff)
downloadcourier-libs-9c45d9ad13fdf439d44d7443ae75da15ea0223ed.tar.bz2
Initial checkin
Imported from subversion report, converted to git. Updated all paths in scripts and makefiles, reflecting the new directory hierarchy.
Diffstat (limited to 'rfc822/encode.h')
-rw-r--r--rfc822/encode.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/rfc822/encode.h b/rfc822/encode.h
new file mode 100644
index 0000000..e2d68b0
--- /dev/null
+++ b/rfc822/encode.h
@@ -0,0 +1,55 @@
+/*
+*/
+#ifndef rfc822_encode_h
+#define rfc822_encode_h
+
+/*
+** Copyright 2004 Double Precision, Inc.
+** See COPYING for distribution information.
+*/
+
+#if HAVE_CONFIG_H
+#include "rfc822/config.h"
+#endif
+#include <stdio.h>
+#include <sys/types.h>
+#include <stdlib.h>
+#include <time.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct libmail_encode_info {
+ char output_buffer[BUFSIZ];
+ int output_buf_cnt;
+
+ char input_buffer[57]; /* For base64 */
+ int input_buf_cnt;
+
+ int (*encoding_func)(struct libmail_encode_info *,
+ const char *, size_t);
+ int (*callback_func)(const char *, size_t, void *);
+ void *callback_arg;
+};
+
+const char *libmail_encode_autodetect_fp(FILE *, int, int *);
+const char *libmail_encode_autodetect_fpoff(FILE *, int, off_t, off_t, int *);
+const char *libmail_encode_autodetect_buf(const char *, int);
+
+void libmail_encode_start(struct libmail_encode_info *info,
+ const char *transfer_encoding,
+ int (*callback_func)(const char *, size_t, void *),
+ void *callback_arg);
+
+int libmail_encode(struct libmail_encode_info *info,
+ const char *ptr,
+ size_t cnt);
+
+int libmail_encode_end(struct libmail_encode_info *info);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif