/* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | https://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Jim Winstead <jimw@php.net> | | Xinchen Hui <laruence@php.net> | +----------------------------------------------------------------------+ */ #ifndef BASE64_H #define BASE64_H /* * NEON implementation is based on https://github.com/WojciechMula/base64simd * which is copyrighted to: * Copyright (c) 2015-2018, Wojciech Mula * All rights reserved. * * SSSE3 and AVX2 implementation are based on https://github.com/aklomp/base64 * which is copyrighted to: * * Copyright (c) 2005-2007, Nick Galbreath * Copyright (c) 2013-2017, Alfred Klomp * Copyright (c) 2015-2017, Wojciech Mula * Copyright (c) 2016-2017, Matthieu Darbois * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #if (ZEND_INTRIN_AVX2_FUNC_PTR || ZEND_INTRIN_SSSE3_FUNC_PTR) && !ZEND_INTRIN_AVX2_NATIVE PHP_MINIT_FUNCTION(base64_intrin); #endif PHPAPI extern zend_string *php_base64_encode(const unsigned char *, size_t); PHPAPI extern zend_string *php_base64_decode_ex(const unsigned char *, size_t, bool); static inline zend_string *php_base64_encode_str(const zend_string *str) { return php_base64_encode((const unsigned char*)(ZSTR_VAL(str)), ZSTR_LEN(str)); } static inline zend_string *php_base64_decode(const unsigned char *str, size_t len) { return php_base64_decode_ex(str, len, 0); } static inline zend_string *php_base64_decode_str(const zend_string *str) { return php_base64_decode_ex((const unsigned char*)(ZSTR_VAL(str)), ZSTR_LEN(str), 0); } #endif /* BASE64_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
base64.h | File | 3.59 KB | 0644 |
|
basic_functions.h | File | 4.87 KB | 0644 |
|
basic_functions_arginfo.h | File | 125.21 KB | 0644 |
|
crc32.h | File | 4.79 KB | 0644 |
|
crc32_x86.h | File | 1.82 KB | 0644 |
|
credits.h | File | 1.53 KB | 0644 |
|
credits_ext.h | File | 5.24 KB | 0644 |
|
credits_sapi.h | File | 835 B | 0644 |
|
crypt_blowfish.h | File | 790 B | 0644 |
|
crypt_freesec.h | File | 662 B | 0644 |
|
css.h | File | 1.04 KB | 0644 |
|
datetime.h | File | 1.14 KB | 0644 |
|
dir_arginfo.h | File | 1.83 KB | 0644 |
|
dl.h | File | 1.46 KB | 0644 |
|
dl_arginfo.h | File | 269 B | 0644 |
|
exec.h | File | 1.27 KB | 0644 |
|
file.h | File | 3.93 KB | 0644 |
|
flock_compat.h | File | 2.06 KB | 0644 |
|
fsock.h | File | 1.22 KB | 0644 |
|
head.h | File | 1.53 KB | 0644 |
|
hrtime.h | File | 2.31 KB | 0644 |
|
html.h | File | 2.34 KB | 0644 |
|
html_tables.h | File | 472.26 KB | 0644 |
|
info.h | File | 22.94 KB | 0644 |
|
md5.h | File | 2.02 KB | 0644 |
|
pack.h | File | 1.05 KB | 0644 |
|
pageinfo.h | File | 1.15 KB | 0644 |
|
php_array.h | File | 2.24 KB | 0644 |
|
php_assert.h | File | 1.24 KB | 0644 |
|
php_browscap.h | File | 1.11 KB | 0644 |
|
php_crypt.h | File | 1.37 KB | 0644 |
|
php_crypt_r.h | File | 1.64 KB | 0644 |
|
php_dir.h | File | 1.28 KB | 0644 |
|
php_dns.h | File | 2.58 KB | 0644 |
|
php_ext_syslog.h | File | 1.17 KB | 0644 |
|
php_filestat.h | File | 2.1 KB | 0644 |
|
php_fopen_wrappers.h | File | 1.79 KB | 0644 |
|
php_http.h | File | 1.33 KB | 0644 |
|
php_image.h | File | 2.17 KB | 0644 |
|
php_incomplete_class.h | File | 2.15 KB | 0644 |
|
php_lcg.h | File | 1.31 KB | 0644 |
|
php_mail.h | File | 2.16 KB | 0644 |
|
php_math.h | File | 3.55 KB | 0644 |
|
php_mt_rand.h | File | 1.81 KB | 0644 |
|
php_net.h | File | 1.14 KB | 0644 |
|
php_password.h | File | 2.76 KB | 0644 |
|
php_rand.h | File | 3.05 KB | 0644 |
|
php_random.h | File | 1.86 KB | 0644 |
|
php_smart_string.h | File | 1.13 KB | 0644 |
|
php_smart_string_public.h | File | 1.14 KB | 0644 |
|
php_standard.h | File | 1.91 KB | 0644 |
|
php_string.h | File | 3.95 KB | 0644 |
|
php_uuencode.h | File | 1.18 KB | 0644 |
|
php_var.h | File | 3.41 KB | 0644 |
|
php_versioning.h | File | 1.18 KB | 0644 |
|
proc_open.h | File | 1.67 KB | 0644 |
|
quot_print.h | File | 1.23 KB | 0644 |
|
scanf.h | File | 1.95 KB | 0644 |
|
sha1.h | File | 1.62 KB | 0644 |
|
streamsfuncs.h | File | 1.11 KB | 0644 |
|
url.h | File | 2.08 KB | 0644 |
|
url_scanner_ex.h | File | 2.32 KB | 0644 |
|
user_filters_arginfo.h | File | 2.45 KB | 0644 |
|