/* +----------------------------------------------------------------------+ | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2018 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: | | http://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 /* * 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. */ PHP_FUNCTION(base64_decode); PHP_FUNCTION(base64_encode); #if (ZEND_INTRIN_AVX2_FUNC_PTR || ZEND_INTRIN_SSSE3_FUNC_PTR) && !ZEND_INTRIN_AVX2_NATIVE PHP_MINIT_FUNCTION(base64_intrin); 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, zend_bool); #else 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, zend_bool); #endif 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 */ /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
base64.h | File | 3.87 KB | 0644 |
|
basic_functions.h | File | 7.59 KB | 0644 |
|
crc32.h | File | 4.77 KB | 0644 |
|
credits.h | File | 1.67 KB | 0644 |
|
credits_ext.h | File | 5.37 KB | 0644 |
|
credits_sapi.h | File | 845 B | 0644 |
|
crypt_blowfish.h | File | 1.01 KB | 0644 |
|
crypt_freesec.h | File | 653 B | 0644 |
|
css.h | File | 1.19 KB | 0644 |
|
cyr_convert.h | File | 1.22 KB | 0644 |
|
datetime.h | File | 1.34 KB | 0644 |
|
dl.h | File | 1.59 KB | 0644 |
|
exec.h | File | 1.68 KB | 0644 |
|
file.h | File | 4.6 KB | 0644 |
|
flock_compat.h | File | 2.06 KB | 0644 |
|
fsock.h | File | 1.5 KB | 0644 |
|
head.h | File | 1.85 KB | 0644 |
|
hrtime.h | File | 2.48 KB | 0644 |
|
html.h | File | 2.62 KB | 0644 |
|
html_tables.h | File | 472.41 KB | 0644 |
|
info.h | File | 22.6 KB | 0644 |
|
md5.h | File | 2.1 KB | 0644 |
|
microtime.h | File | 1.32 KB | 0644 |
|
pack.h | File | 1.24 KB | 0644 |
|
pageinfo.h | File | 1.42 KB | 0644 |
|
php_array.h | File | 4.41 KB | 0644 |
|
php_assert.h | File | 1.38 KB | 0644 |
|
php_browscap.h | File | 1.28 KB | 0644 |
|
php_crypt.h | File | 1.61 KB | 0644 |
|
php_crypt_r.h | File | 1.99 KB | 0644 |
|
php_dir.h | File | 1.66 KB | 0644 |
|
php_dns.h | File | 2.83 KB | 0644 |
|
php_ext_syslog.h | File | 1.46 KB | 0644 |
|
php_filestat.h | File | 3.1 KB | 0644 |
|
php_fopen_wrappers.h | File | 1.94 KB | 0644 |
|
php_ftok.h | File | 1.22 KB | 0644 |
|
php_http.h | File | 1.74 KB | 0644 |
|
php_image.h | File | 2.37 KB | 0644 |
|
php_incomplete_class.h | File | 2.24 KB | 0644 |
|
php_iptc.h | File | 1.23 KB | 0644 |
|
php_lcg.h | File | 1.48 KB | 0644 |
|
php_link.h | File | 1.33 KB | 0644 |
|
php_mail.h | File | 2.37 KB | 0644 |
|
php_math.h | File | 4.65 KB | 0644 |
|
php_metaphone.h | File | 1.2 KB | 0644 |
|
php_mt_rand.h | File | 1.96 KB | 0644 |
|
php_net.h | File | 1.32 KB | 0644 |
|
php_password.h | File | 1.88 KB | 0644 |
|
php_rand.h | File | 3.14 KB | 0644 |
|
php_random.h | File | 2.14 KB | 0644 |
|
php_smart_string.h | File | 1.28 KB | 0644 |
|
php_smart_string_public.h | File | 1.29 KB | 0644 |
|
php_standard.h | File | 2.31 KB | 0644 |
|
php_string.h | File | 6.29 KB | 0644 |
|
php_type.h | File | 1.62 KB | 0644 |
|
php_uuencode.h | File | 1.45 KB | 0644 |
|
php_var.h | File | 3.25 KB | 0644 |
|
php_versioning.h | File | 1.36 KB | 0644 |
|
proc_open.h | File | 1.74 KB | 0644 |
|
quot_print.h | File | 1.45 KB | 0644 |
|
scanf.h | File | 2.24 KB | 0644 |
|
sha1.h | File | 1.69 KB | 0644 |
|
streamsfuncs.h | File | 2.86 KB | 0644 |
|
uniqid.h | File | 1.23 KB | 0644 |
|
url.h | File | 2.46 KB | 0644 |
|
url_scanner_ex.h | File | 2.44 KB | 0644 |
|