Imported Upstream version 0.66.1
[hcoop/debian/courier-authlib.git] / libs / rfc822 / encode.h
diff --git a/libs/rfc822/encode.h b/libs/rfc822/encode.h
new file mode 100644 (file)
index 0000000..e2d68b0
--- /dev/null
@@ -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