diff options
Diffstat (limited to 'rfc822/encode.h')
| -rw-r--r-- | rfc822/encode.h | 55 | 
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 | 
