Subversion
svn_quoprint.h
Go to the documentation of this file.
00001 /**
00002  * @copyright
00003  * ====================================================================
00004  *    Licensed to the Apache Software Foundation (ASF) under one
00005  *    or more contributor license agreements.  See the NOTICE file
00006  *    distributed with this work for additional information
00007  *    regarding copyright ownership.  The ASF licenses this file
00008  *    to you under the Apache License, Version 2.0 (the
00009  *    "License"); you may not use this file except in compliance
00010  *    with the License.  You may obtain a copy of the License at
00011  *
00012  *      http://www.apache.org/licenses/LICENSE-2.0
00013  *
00014  *    Unless required by applicable law or agreed to in writing,
00015  *    software distributed under the License is distributed on an
00016  *    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
00017  *    KIND, either express or implied.  See the License for the
00018  *    specific language governing permissions and limitations
00019  *    under the License.
00020  * ====================================================================
00021  * @endcopyright
00022  *
00023  * @file svn_quoprint.h
00024  * @brief quoted-printable encoding and decoding functions.
00025  */
00026 
00027 #ifndef SVN_QUOPRINT_H
00028 #define SVN_QUOPRINT_H
00029 
00030 #include <apr_pools.h>
00031 
00032 #include "svn_string.h"  /* for svn_strinbuf_t */
00033 #include "svn_io.h"      /* for svn_stream_t */
00034 
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif /* __cplusplus */
00038 
00039 /** Return a writable generic stream which will encode binary data in
00040  * quoted-printable format and write the encoded 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 *
00045 svn_quoprint_encode(svn_stream_t *output,
00046                     apr_pool_t *pool);
00047 
00048 /** Return a writable generic stream which will decode binary data in
00049  * quoted-printable format and write the decoded data to @a output.  Be
00050  * sure to close the stream when done writing in order to squeeze out
00051  * the last bit of encoded data.
00052  */
00053 svn_stream_t *
00054 svn_quoprint_decode(svn_stream_t *output,
00055                     apr_pool_t *pool);
00056 
00057 
00058 /** Simpler interface for encoding quoted-printable data assuming we have all
00059  * of it present at once.  The returned string will be allocated from @a pool.
00060  */
00061 svn_stringbuf_t *
00062 svn_quoprint_encode_string(const svn_stringbuf_t *str,
00063                            apr_pool_t *pool);
00064 
00065 /** Simpler interface for decoding quoted-printable data assuming we have all
00066  * of it present at once.  The returned string will be allocated from @a pool.
00067  */
00068 svn_stringbuf_t *
00069 svn_quoprint_decode_string(const svn_stringbuf_t *str,
00070                            apr_pool_t *pool);
00071 
00072 
00073 #ifdef __cplusplus
00074 }
00075 #endif /* __cplusplus */
00076 
00077 #endif /* SVN_QUOPRINT_H */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines