00001 /** 00002 * @copyright 00003 * ==================================================================== 00004 * Copyright (c) 2000-2004 CollabNet. All rights reserved. 00005 * 00006 * This software is licensed as described in the file COPYING, which 00007 * you should have received as part of this distribution. The terms 00008 * are also available at http://subversion.tigris.org/license-1.html. 00009 * If newer versions of this license are posted there, you may use a 00010 * newer version instead, at your option. 00011 * 00012 * This software consists of voluntary contributions made by many 00013 * individuals. For exact contribution history, see the revision 00014 * history and logs, available at http://subversion.tigris.org/. 00015 * ==================================================================== 00016 * @endcopyright 00017 * 00018 * @file svn_quoprint.h 00019 * @brief quoted-printable encoding and decoding functions. 00020 */ 00021 00022 00023 #ifndef SVN_QUOPRINT_H 00024 #define SVN_QUOPRINT_H 00025 00026 #include "svn_io.h" 00027 00028 #ifdef __cplusplus 00029 extern "C" { 00030 #endif /* __cplusplus */ 00031 00032 /** Return a writable generic stream which will encode binary data in 00033 * quoted-printable format and write the encoded data to @a output. Be 00034 * sure to close the stream when done writing in order to squeeze out 00035 * the last bit of encoded data. 00036 */ 00037 svn_stream_t *svn_quoprint_encode (svn_stream_t *output, apr_pool_t *pool); 00038 00039 /** Return a writable generic stream which will decode binary data in 00040 * quoted-printable format and write the decoded data to @a output. Be 00041 * sure to close the stream when done writing in order to squeeze out 00042 * the last bit of encoded data. 00043 */ 00044 svn_stream_t *svn_quoprint_decode (svn_stream_t *output, apr_pool_t *pool); 00045 00046 00047 /** Simpler interface for encoding quoted-printable data assuming we have all 00048 * of it present at once. The returned string will be allocated from @a pool. 00049 */ 00050 svn_stringbuf_t *svn_quoprint_encode_string (svn_stringbuf_t *str, 00051 apr_pool_t *pool); 00052 00053 /** Simpler interface for decoding quoted-printable data assuming we have all 00054 * of it present at once. The returned string will be allocated from @a pool. 00055 */ 00056 svn_stringbuf_t *svn_quoprint_decode_string (svn_stringbuf_t *str, 00057 apr_pool_t *pool); 00058 00059 00060 #ifdef __cplusplus 00061 } 00062 #endif /* __cplusplus */ 00063 00064 #endif /* SVN_QUOPRINT_H */