/*
 * Base64 encode/decode functions used in sxmp
 * openssl stuff wasn't used to avoid additional memleaks and allocation,
 * deallocation of BIO and to avoid dependency, since not only openssl
 * might be in use
 *
 * (c) Alexander Vdolainen 2016 <avdolainen@zoho.com>
 *
 * libsxmp is free software: you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published
 * by the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * libsxmp is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.";
 */

#ifndef __SXT_BASE64_H__
#define __SXT_BASE64_H__

size_t sxt_rawlen2b64len(size_t raw_length);

size_t sxt_b64encode_in(const char *data, char *bdata, size_t data_len);

char *sxt_b64encode(const char *data, size_t data_len);

size_t sxt_b64decode_in(const char *idata, size_t idata_len, char *data, size_t data_len);

#endif /* __SXT_BASE64_H__ */