#ifndef _ICONV_STREAM_H_ #define _ICONV_STREAM_H_ #include /* FILE */ #include "iconv.h" /* iconv_t */ typedef apr_ssize_t (*iconv_stream_func)(void *d, void *buf, apr_size_t nbytes); typedef struct { apr_iconv_t cd; apr_size_t chars; apr_size_t in_bytes; apr_size_t out_bytes; char * buffer; char * buf_ptr; void * handle; iconv_stream_func method; } iconv_stream; iconv_stream *iconv_stream_open(apr_iconv_t cd, void *handle, iconv_stream_func method); void iconv_stream_close(iconv_stream *stream); iconv_stream *iconv_ostream_fopen(apr_iconv_t cd, FILE *handle); apr_ssize_t iconv_write(void *stream, const void *buf, apr_size_t nbytes); apr_ssize_t iconv_bwrite(void *stream, const void *buf, apr_size_t nbytes); #endif /*_ICONV_STREAM_H_*/