From 46aa88b0794ae6bd738e7950d8d8e032e8e1a4e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Tue, 12 Sep 2023 19:30:18 +0200 Subject: [PATCH] Address review comments --- ext/readline/tests/bug77812-libedit.phpt | 2 +- ext/standard/basic_functions.c | 5 +- ext/standard/basic_functions.stub.php | 6770 +++++++++++----------- ext/standard/basic_functions_arginfo.h | 16 +- ext/standard/exec.h | 1 - ext/standard/proc_open.c | 16 +- ext/standard/proc_open.h | 6 + ext/standard/tests/streams/bug46024.phpt | 2 +- sapi/cli/tests/022.phpt | 2 +- 9 files changed, 3406 insertions(+), 3414 deletions(-) diff --git a/ext/readline/tests/bug77812-libedit.phpt b/ext/readline/tests/bug77812-libedit.phpt index 42939764b954c..03e8b99f2a19f 100644 --- a/ext/readline/tests/bug77812-libedit.phpt +++ b/ext/readline/tests/bug77812-libedit.phpt @@ -23,7 +23,7 @@ fclose($pipes[0]); proc_close($proc); ?> --EXPECTF-- -object(Process)#1 (0) { +object(Standard\Process)#1 (0) { } Interactive shell diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 5d7f971abc3a0..932bf50ca53a6 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -304,7 +304,7 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */ assertion_error_ce = register_class_AssertionError(zend_ce_error); #ifdef PHP_CAN_SUPPORT_PROC_OPEN - process_ce = register_class_Process(); + process_ce = register_class_Standard_Process(); php_register_process_class_handlers(); #endif @@ -341,9 +341,6 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */ BASIC_MINIT_SUBMODULE(array) BASIC_MINIT_SUBMODULE(assert) BASIC_MINIT_SUBMODULE(url_scanner_ex) -#ifdef PHP_CAN_SUPPORT_PROC_OPEN - BASIC_MINIT_SUBMODULE(proc_open) -#endif BASIC_MINIT_SUBMODULE(exec) BASIC_MINIT_SUBMODULE(user_streams) diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 22c1219fc85e7..cff2bd79b3017 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -2,3765 +2,3769 @@ /** @generate-class-entries */ -/* array.c */ - -/** - * @var int - * @cvalue PHP_EXTR_OVERWRITE - */ -const EXTR_OVERWRITE = UNKNOWN; -/** - * @var int - * @cvalue PHP_EXTR_SKIP - */ -const EXTR_SKIP = UNKNOWN; -/** - * @var int - * @cvalue PHP_EXTR_PREFIX_SAME - */ -const EXTR_PREFIX_SAME = UNKNOWN; -/** - * @var int - * @cvalue PHP_EXTR_PREFIX_ALL - */ -const EXTR_PREFIX_ALL = UNKNOWN; -/** - * @var int - * @cvalue PHP_EXTR_PREFIX_INVALID - */ -const EXTR_PREFIX_INVALID = UNKNOWN; -/** - * @var int - * @cvalue PHP_EXTR_PREFIX_IF_EXISTS - */ -const EXTR_PREFIX_IF_EXISTS = UNKNOWN; -/** - * @var int - * @cvalue PHP_EXTR_IF_EXISTS - */ -const EXTR_IF_EXISTS = UNKNOWN; -/** - * @var int - * @cvalue PHP_EXTR_REFS - */ -const EXTR_REFS = UNKNOWN; - -/** - * @var int - * @cvalue PHP_SORT_ASC - */ -const SORT_ASC = UNKNOWN; -/** - * @var int - * @cvalue PHP_SORT_DESC - */ -const SORT_DESC = UNKNOWN; - -/** - * @var int - * @cvalue PHP_SORT_REGULAR - */ -const SORT_REGULAR = UNKNOWN; -/** - * @var int - * @cvalue PHP_SORT_NUMERIC - */ -const SORT_NUMERIC = UNKNOWN; -/** - * @var int - * @cvalue PHP_SORT_STRING - */ -const SORT_STRING = UNKNOWN; -/** - * @var int - * @cvalue PHP_SORT_LOCALE_STRING - */ -const SORT_LOCALE_STRING = UNKNOWN; -/** - * @var int - * @cvalue PHP_SORT_NATURAL - */ -const SORT_NATURAL = UNKNOWN; -/** - * @var int - * @cvalue PHP_SORT_FLAG_CASE - */ -const SORT_FLAG_CASE = UNKNOWN; - -/** - * @var int - * @cvalue PHP_CASE_LOWER - */ -const CASE_LOWER = UNKNOWN; -/** - * @var int - * @cvalue PHP_CASE_UPPER - */ -const CASE_UPPER = UNKNOWN; - -/** - * @var int - * @cvalue PHP_COUNT_NORMAL - */ -const COUNT_NORMAL = UNKNOWN; -/** - * @var int - * @cvalue PHP_COUNT_RECURSIVE - */ -const COUNT_RECURSIVE = UNKNOWN; - -/** - * @var int - * @cvalue ARRAY_FILTER_USE_BOTH - */ -const ARRAY_FILTER_USE_BOTH = UNKNOWN; -/** - * @var int - * @cvalue ARRAY_FILTER_USE_KEY - */ -const ARRAY_FILTER_USE_KEY = UNKNOWN; - -/* assert.c */ - -/** - * @var int - * @deprecated - * @cvalue PHP_ASSERT_ACTIVE - */ -const ASSERT_ACTIVE = UNKNOWN; -/** - * @var int - * @deprecated - * @cvalue PHP_ASSERT_CALLBACK - */ -const ASSERT_CALLBACK = UNKNOWN; -/** - * @var int - * @deprecated - * @cvalue PHP_ASSERT_BAIL - */ -const ASSERT_BAIL = UNKNOWN; -/** - * @var int - * @deprecated - * @cvalue PHP_ASSERT_WARNING - */ -const ASSERT_WARNING = UNKNOWN; -/** - * @var int - * @deprecated - * @cvalue PHP_ASSERT_EXCEPTION - */ -const ASSERT_EXCEPTION = UNKNOWN; - -/* basic_functions.h */ - -/** - * @var int - * @cvalue PHP_CONNECTION_ABORTED - */ -const CONNECTION_ABORTED = UNKNOWN; -/** - * @var int - * @cvalue PHP_CONNECTION_NORMAL - */ -const CONNECTION_NORMAL = UNKNOWN; -/** - * @var int - * @cvalue PHP_CONNECTION_TIMEOUT - */ -const CONNECTION_TIMEOUT = UNKNOWN; - -/** - * @var int - * @cvalue ZEND_INI_USER - */ -const INI_USER = UNKNOWN; -/** - * @var int - * @cvalue ZEND_INI_PERDIR - */ -const INI_PERDIR = UNKNOWN; -/** - * @var int - * @cvalue ZEND_INI_SYSTEM - */ -const INI_SYSTEM = UNKNOWN; -/** - * @var int - * @cvalue ZEND_INI_ALL - */ -const INI_ALL = UNKNOWN; - -/** - * @var int - * @cvalue ZEND_INI_SCANNER_NORMAL - */ -const INI_SCANNER_NORMAL = UNKNOWN; -/** - * @var int - * @cvalue ZEND_INI_SCANNER_RAW - */ -const INI_SCANNER_RAW = UNKNOWN; -/** - * @var int - * @cvalue ZEND_INI_SCANNER_TYPED - */ -const INI_SCANNER_TYPED = UNKNOWN; - -/** - * @var int - * @cvalue PHP_URL_SCHEME - */ -const PHP_URL_SCHEME = UNKNOWN; -/** - * @var int - * @cvalue PHP_URL_HOST - */ -const PHP_URL_HOST = UNKNOWN; -/** - * @var int - * @cvalue PHP_URL_PORT - */ -const PHP_URL_PORT = UNKNOWN; -/** - * @var int - * @cvalue PHP_URL_USER - */ -const PHP_URL_USER = UNKNOWN; -/** - * @var int - * @cvalue PHP_URL_PASS - */ -const PHP_URL_PASS = UNKNOWN; -/** - * @var int - * @cvalue PHP_URL_PATH - */ -const PHP_URL_PATH = UNKNOWN; -/** - * @var int - * @cvalue PHP_URL_QUERY - */ -const PHP_URL_QUERY = UNKNOWN; -/** - * @var int - * @cvalue PHP_URL_FRAGMENT - */ -const PHP_URL_FRAGMENT = UNKNOWN; -/** - * @var int - * @cvalue PHP_QUERY_RFC1738 - */ -const PHP_QUERY_RFC1738 = UNKNOWN; -/** - * @var int - * @cvalue PHP_QUERY_RFC3986 - */ -const PHP_QUERY_RFC3986 = UNKNOWN; - -/** - * @var float - * @cvalue M_E - */ -const M_E = 2.718281828459045; -/** - * @var float - * @cvalue M_LOG2E - */ -const M_LOG2E = 1.4426950408889634074; -/** - * @var float - * @cvalue M_LOG10E - */ -const M_LOG10E = 0.43429448190325182765; -/** - * @var float - * @cvalue M_LN2 - */ -const M_LN2 = 0.69314718055994530942; -/** - * @var float - * @cvalue M_LN10 - */ -const M_LN10 = 2.30258509299404568402; -/** - * @var float - * @cvalue M_PI - */ -const M_PI = 3.14159265358979323846; -/** - * @var float - * @cvalue M_PI_2 - */ -const M_PI_2 = 1.57079632679489661923; -/** - * @var float - * @cvalue M_PI_4 - */ -const M_PI_4 = 0.78539816339744830962; -/** - * @var float - * @cvalue M_1_PI - */ -const M_1_PI = 0.31830988618379067154; -/** - * @var float - * @cvalue M_2_PI - */ -const M_2_PI = 0.63661977236758134308; -/** - * @var float - * @cvalue M_SQRTPI - */ -const M_SQRTPI = 1.77245385090551602729; -/** - * @var float - * @cvalue M_2_SQRTPI - */ -const M_2_SQRTPI = 1.12837916709551257390; -/** - * @var float - * @cvalue M_LNPI - */ -const M_LNPI = 1.14472988584940017414; -/** - * @var float - * @cvalue M_EULER - */ -const M_EULER = 0.57721566490153286061; -/** - * @var float - * @cvalue M_SQRT2 - */ -const M_SQRT2 = 1.41421356237309504880; -/** - * @var float - * @cvalue M_SQRT1_2 - */ -const M_SQRT1_2 = 0.70710678118654752440; -/** - * @var float - * @cvalue M_SQRT3 - */ -const M_SQRT3 = 1.73205080756887729352; -/** - * @var float - * @cvalue ZEND_INFINITY - */ -const INF = UNKNOWN; -/** - * @var float - * @cvalue ZEND_NAN - */ -const NAN = UNKNOWN; - -/** - * @var int - * @cvalue PHP_ROUND_HALF_UP - */ -const PHP_ROUND_HALF_UP = UNKNOWN; -/** - * @var int - * @cvalue PHP_ROUND_HALF_DOWN - */ -const PHP_ROUND_HALF_DOWN = UNKNOWN; -/** - * @var int - * @cvalue PHP_ROUND_HALF_EVEN - */ -const PHP_ROUND_HALF_EVEN = UNKNOWN; -/** - * @var int - * @cvalue PHP_ROUND_HALF_ODD - */ -const PHP_ROUND_HALF_ODD = UNKNOWN; - -/* crypt.c */ - -/** - * @var int - * @cvalue PHP_MAX_SALT_LEN - */ -const CRYPT_SALT_LENGTH = UNKNOWN; -/** @var int */ -const CRYPT_STD_DES = 1; -/** @var int */ -const CRYPT_EXT_DES = 1; -/** @var int */ -const CRYPT_MD5 = 1; -/** @var int */ -const CRYPT_BLOWFISH = 1; -/** @var int */ -const CRYPT_SHA256 = 1; -/** @var int */ -const CRYPT_SHA512 = 1; - -/* dns.c */ - -#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) -/** - * @var int - * @cvalue PHP_DNS_A - */ -const DNS_A = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_NS - */ -const DNS_NS = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_CNAME - */ -const DNS_CNAME = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_SOA - */ -const DNS_SOA = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_PTR - */ -const DNS_PTR = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_HINFO - */ -const DNS_HINFO = UNKNOWN; -#if (!defined(PHP_WIN32)) -/** - * @var int - * @cvalue PHP_DNS_CAA - */ -const DNS_CAA = UNKNOWN; -#endif -/** - * @var int - * @cvalue PHP_DNS_MX - */ -const DNS_MX = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_TXT - */ -const DNS_TXT = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_SRV - */ -const DNS_SRV = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_NAPTR - */ -const DNS_NAPTR = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_AAAA - */ -const DNS_AAAA = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_A6 - */ -const DNS_A6 = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_ANY - */ -const DNS_ANY = UNKNOWN; -/** - * @var int - * @cvalue PHP_DNS_ALL - */ -const DNS_ALL = UNKNOWN; -#endif +namespace { + /* array.c */ + + /** + * @var int + * @cvalue PHP_EXTR_OVERWRITE + */ + const EXTR_OVERWRITE = UNKNOWN; + /** + * @var int + * @cvalue PHP_EXTR_SKIP + */ + const EXTR_SKIP = UNKNOWN; + /** + * @var int + * @cvalue PHP_EXTR_PREFIX_SAME + */ + const EXTR_PREFIX_SAME = UNKNOWN; + /** + * @var int + * @cvalue PHP_EXTR_PREFIX_ALL + */ + const EXTR_PREFIX_ALL = UNKNOWN; + /** + * @var int + * @cvalue PHP_EXTR_PREFIX_INVALID + */ + const EXTR_PREFIX_INVALID = UNKNOWN; + /** + * @var int + * @cvalue PHP_EXTR_PREFIX_IF_EXISTS + */ + const EXTR_PREFIX_IF_EXISTS = UNKNOWN; + /** + * @var int + * @cvalue PHP_EXTR_IF_EXISTS + */ + const EXTR_IF_EXISTS = UNKNOWN; + /** + * @var int + * @cvalue PHP_EXTR_REFS + */ + const EXTR_REFS = UNKNOWN; + + /** + * @var int + * @cvalue PHP_SORT_ASC + */ + const SORT_ASC = UNKNOWN; + /** + * @var int + * @cvalue PHP_SORT_DESC + */ + const SORT_DESC = UNKNOWN; + + /** + * @var int + * @cvalue PHP_SORT_REGULAR + */ + const SORT_REGULAR = UNKNOWN; + /** + * @var int + * @cvalue PHP_SORT_NUMERIC + */ + const SORT_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue PHP_SORT_STRING + */ + const SORT_STRING = UNKNOWN; + /** + * @var int + * @cvalue PHP_SORT_LOCALE_STRING + */ + const SORT_LOCALE_STRING = UNKNOWN; + /** + * @var int + * @cvalue PHP_SORT_NATURAL + */ + const SORT_NATURAL = UNKNOWN; + /** + * @var int + * @cvalue PHP_SORT_FLAG_CASE + */ + const SORT_FLAG_CASE = UNKNOWN; + + /** + * @var int + * @cvalue PHP_CASE_LOWER + */ + const CASE_LOWER = UNKNOWN; + /** + * @var int + * @cvalue PHP_CASE_UPPER + */ + const CASE_UPPER = UNKNOWN; + + /** + * @var int + * @cvalue PHP_COUNT_NORMAL + */ + const COUNT_NORMAL = UNKNOWN; + /** + * @var int + * @cvalue PHP_COUNT_RECURSIVE + */ + const COUNT_RECURSIVE = UNKNOWN; + + /** + * @var int + * @cvalue ARRAY_FILTER_USE_BOTH + */ + const ARRAY_FILTER_USE_BOTH = UNKNOWN; + /** + * @var int + * @cvalue ARRAY_FILTER_USE_KEY + */ + const ARRAY_FILTER_USE_KEY = UNKNOWN; + + /* assert.c */ + + /** + * @var int + * @deprecated + * @cvalue PHP_ASSERT_ACTIVE + */ + const ASSERT_ACTIVE = UNKNOWN; + /** + * @var int + * @deprecated + * @cvalue PHP_ASSERT_CALLBACK + */ + const ASSERT_CALLBACK = UNKNOWN; + /** + * @var int + * @deprecated + * @cvalue PHP_ASSERT_BAIL + */ + const ASSERT_BAIL = UNKNOWN; + /** + * @var int + * @deprecated + * @cvalue PHP_ASSERT_WARNING + */ + const ASSERT_WARNING = UNKNOWN; + /** + * @var int + * @deprecated + * @cvalue PHP_ASSERT_EXCEPTION + */ + const ASSERT_EXCEPTION = UNKNOWN; + + /* basic_functions.h */ + + /** + * @var int + * @cvalue PHP_CONNECTION_ABORTED + */ + const CONNECTION_ABORTED = UNKNOWN; + /** + * @var int + * @cvalue PHP_CONNECTION_NORMAL + */ + const CONNECTION_NORMAL = UNKNOWN; + /** + * @var int + * @cvalue PHP_CONNECTION_TIMEOUT + */ + const CONNECTION_TIMEOUT = UNKNOWN; + + /** + * @var int + * @cvalue ZEND_INI_USER + */ + const INI_USER = UNKNOWN; + /** + * @var int + * @cvalue ZEND_INI_PERDIR + */ + const INI_PERDIR = UNKNOWN; + /** + * @var int + * @cvalue ZEND_INI_SYSTEM + */ + const INI_SYSTEM = UNKNOWN; + /** + * @var int + * @cvalue ZEND_INI_ALL + */ + const INI_ALL = UNKNOWN; + + /** + * @var int + * @cvalue ZEND_INI_SCANNER_NORMAL + */ + const INI_SCANNER_NORMAL = UNKNOWN; + /** + * @var int + * @cvalue ZEND_INI_SCANNER_RAW + */ + const INI_SCANNER_RAW = UNKNOWN; + /** + * @var int + * @cvalue ZEND_INI_SCANNER_TYPED + */ + const INI_SCANNER_TYPED = UNKNOWN; + + /** + * @var int + * @cvalue PHP_URL_SCHEME + */ + const PHP_URL_SCHEME = UNKNOWN; + /** + * @var int + * @cvalue PHP_URL_HOST + */ + const PHP_URL_HOST = UNKNOWN; + /** + * @var int + * @cvalue PHP_URL_PORT + */ + const PHP_URL_PORT = UNKNOWN; + /** + * @var int + * @cvalue PHP_URL_USER + */ + const PHP_URL_USER = UNKNOWN; + /** + * @var int + * @cvalue PHP_URL_PASS + */ + const PHP_URL_PASS = UNKNOWN; + /** + * @var int + * @cvalue PHP_URL_PATH + */ + const PHP_URL_PATH = UNKNOWN; + /** + * @var int + * @cvalue PHP_URL_QUERY + */ + const PHP_URL_QUERY = UNKNOWN; + /** + * @var int + * @cvalue PHP_URL_FRAGMENT + */ + const PHP_URL_FRAGMENT = UNKNOWN; + /** + * @var int + * @cvalue PHP_QUERY_RFC1738 + */ + const PHP_QUERY_RFC1738 = UNKNOWN; + /** + * @var int + * @cvalue PHP_QUERY_RFC3986 + */ + const PHP_QUERY_RFC3986 = UNKNOWN; + + /** + * @var float + * @cvalue M_E + */ + const M_E = 2.718281828459045; + /** + * @var float + * @cvalue M_LOG2E + */ + const M_LOG2E = 1.4426950408889634074; + /** + * @var float + * @cvalue M_LOG10E + */ + const M_LOG10E = 0.43429448190325182765; + /** + * @var float + * @cvalue M_LN2 + */ + const M_LN2 = 0.69314718055994530942; + /** + * @var float + * @cvalue M_LN10 + */ + const M_LN10 = 2.30258509299404568402; + /** + * @var float + * @cvalue M_PI + */ + const M_PI = 3.14159265358979323846; + /** + * @var float + * @cvalue M_PI_2 + */ + const M_PI_2 = 1.57079632679489661923; + /** + * @var float + * @cvalue M_PI_4 + */ + const M_PI_4 = 0.78539816339744830962; + /** + * @var float + * @cvalue M_1_PI + */ + const M_1_PI = 0.31830988618379067154; + /** + * @var float + * @cvalue M_2_PI + */ + const M_2_PI = 0.63661977236758134308; + /** + * @var float + * @cvalue M_SQRTPI + */ + const M_SQRTPI = 1.77245385090551602729; + /** + * @var float + * @cvalue M_2_SQRTPI + */ + const M_2_SQRTPI = 1.12837916709551257390; + /** + * @var float + * @cvalue M_LNPI + */ + const M_LNPI = 1.14472988584940017414; + /** + * @var float + * @cvalue M_EULER + */ + const M_EULER = 0.57721566490153286061; + /** + * @var float + * @cvalue M_SQRT2 + */ + const M_SQRT2 = 1.41421356237309504880; + /** + * @var float + * @cvalue M_SQRT1_2 + */ + const M_SQRT1_2 = 0.70710678118654752440; + /** + * @var float + * @cvalue M_SQRT3 + */ + const M_SQRT3 = 1.73205080756887729352; + /** + * @var float + * @cvalue ZEND_INFINITY + */ + const INF = UNKNOWN; + /** + * @var float + * @cvalue ZEND_NAN + */ + const NAN = UNKNOWN; + + /** + * @var int + * @cvalue PHP_ROUND_HALF_UP + */ + const PHP_ROUND_HALF_UP = UNKNOWN; + /** + * @var int + * @cvalue PHP_ROUND_HALF_DOWN + */ + const PHP_ROUND_HALF_DOWN = UNKNOWN; + /** + * @var int + * @cvalue PHP_ROUND_HALF_EVEN + */ + const PHP_ROUND_HALF_EVEN = UNKNOWN; + /** + * @var int + * @cvalue PHP_ROUND_HALF_ODD + */ + const PHP_ROUND_HALF_ODD = UNKNOWN; + + /* crypt.c */ + + /** + * @var int + * @cvalue PHP_MAX_SALT_LEN + */ + const CRYPT_SALT_LENGTH = UNKNOWN; + /** @var int */ + const CRYPT_STD_DES = 1; + /** @var int */ + const CRYPT_EXT_DES = 1; + /** @var int */ + const CRYPT_MD5 = 1; + /** @var int */ + const CRYPT_BLOWFISH = 1; + /** @var int */ + const CRYPT_SHA256 = 1; + /** @var int */ + const CRYPT_SHA512 = 1; + + /* dns.c */ + + #if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) + /** + * @var int + * @cvalue PHP_DNS_A + */ + const DNS_A = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_NS + */ + const DNS_NS = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_CNAME + */ + const DNS_CNAME = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_SOA + */ + const DNS_SOA = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_PTR + */ + const DNS_PTR = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_HINFO + */ + const DNS_HINFO = UNKNOWN; + #if (!defined(PHP_WIN32)) + /** + * @var int + * @cvalue PHP_DNS_CAA + */ + const DNS_CAA = UNKNOWN; + #endif + /** + * @var int + * @cvalue PHP_DNS_MX + */ + const DNS_MX = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_TXT + */ + const DNS_TXT = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_SRV + */ + const DNS_SRV = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_NAPTR + */ + const DNS_NAPTR = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_AAAA + */ + const DNS_AAAA = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_A6 + */ + const DNS_A6 = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_ANY + */ + const DNS_ANY = UNKNOWN; + /** + * @var int + * @cvalue PHP_DNS_ALL + */ + const DNS_ALL = UNKNOWN; + #endif + + /* html.c */ + + /** + * @var int + * @cvalue PHP_HTML_SPECIALCHARS + */ + const HTML_SPECIALCHARS = UNKNOWN; + /** + * @var int + * @cvalue PHP_HTML_ENTITIES + */ + const HTML_ENTITIES = UNKNOWN; + /** + * @var int + * @cvalue ENT_COMPAT + */ + const ENT_COMPAT = UNKNOWN; + /** + * @var int + * @cvalue ENT_QUOTES + */ + const ENT_QUOTES = UNKNOWN; + /** + * @var int + * @cvalue ENT_NOQUOTES + */ + const ENT_NOQUOTES = UNKNOWN; + /** + * @var int + * @cvalue ENT_IGNORE + */ + const ENT_IGNORE = UNKNOWN; + /** + * @var int + * @cvalue ENT_SUBSTITUTE + */ + const ENT_SUBSTITUTE = UNKNOWN; + /** + * @var int + * @cvalue ENT_DISALLOWED + */ + const ENT_DISALLOWED = UNKNOWN; + /** + * @var int + * @cvalue ENT_HTML401 + */ + const ENT_HTML401 = UNKNOWN; + /** + * @var int + * @cvalue ENT_XML1 + */ + const ENT_XML1 = UNKNOWN; + /** + * @var int + * @cvalue ENT_XHTML + */ + const ENT_XHTML = UNKNOWN; + /** + * @var int + * @cvalue ENT_HTML5 + */ + const ENT_HTML5 = UNKNOWN; + + /* image.c */ + + /** + * @var int + * @cvalue IMAGE_FILETYPE_GIF + */ + const IMAGETYPE_GIF = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_JPEG + */ + const IMAGETYPE_JPEG = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_PNG + */ + const IMAGETYPE_PNG = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_SWF + */ + const IMAGETYPE_SWF = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_PSD + */ + const IMAGETYPE_PSD = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_BMP + */ + const IMAGETYPE_BMP = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_TIFF_II + */ + const IMAGETYPE_TIFF_II = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_TIFF_MM + */ + const IMAGETYPE_TIFF_MM = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_JPC + */ + const IMAGETYPE_JPC = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_JP2 + */ + const IMAGETYPE_JP2 = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_JPX + */ + const IMAGETYPE_JPX = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_JB2 + */ + const IMAGETYPE_JB2 = UNKNOWN; + #if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB)) + /** + * @var int + * @cvalue IMAGE_FILETYPE_SWC + */ + const IMAGETYPE_SWC = UNKNOWN; + #endif + /** + * @var int + * @cvalue IMAGE_FILETYPE_IFF + */ + const IMAGETYPE_IFF = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_WBMP + */ + const IMAGETYPE_WBMP = UNKNOWN; + /* keep alias */ + /** + * @var int + * @cvalue IMAGE_FILETYPE_JPC + */ + const IMAGETYPE_JPEG2000 = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_XBM + */ + const IMAGETYPE_XBM = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_ICO + */ + const IMAGETYPE_ICO = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_WEBP + */ + const IMAGETYPE_WEBP = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_AVIF + */ + const IMAGETYPE_AVIF = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_UNKNOWN + */ + const IMAGETYPE_UNKNOWN = UNKNOWN; + /** + * @var int + * @cvalue IMAGE_FILETYPE_COUNT + */ + const IMAGETYPE_COUNT = UNKNOWN; + + /* info.c */ + + /** + * @var int + * @cvalue PHP_INFO_GENERAL + */ + const INFO_GENERAL = UNKNOWN; + /** + * @var int + * @cvalue PHP_INFO_CREDITS + */ + const INFO_CREDITS = UNKNOWN; + /** + * @var int + * @cvalue PHP_INFO_CONFIGURATION + */ + const INFO_CONFIGURATION = UNKNOWN; + /** + * @var int + * @cvalue PHP_INFO_MODULES + */ + const INFO_MODULES = UNKNOWN; + /** + * @var int + * @cvalue PHP_INFO_ENVIRONMENT + */ + const INFO_ENVIRONMENT = UNKNOWN; + /** + * @var int + * @cvalue PHP_INFO_VARIABLES + */ + const INFO_VARIABLES = UNKNOWN; + /** + * @var int + * @cvalue PHP_INFO_LICENSE + */ + const INFO_LICENSE = UNKNOWN; + /** + * @var int + * @cvalue PHP_INFO_ALL + */ + const INFO_ALL = UNKNOWN; + /** + * @var int + * @cvalue PHP_CREDITS_GROUP + */ + const CREDITS_GROUP = UNKNOWN; + /** + * @var int + * @cvalue PHP_CREDITS_GENERAL + */ + const CREDITS_GENERAL = UNKNOWN; + /** + * @var int + * @cvalue PHP_CREDITS_SAPI + */ + const CREDITS_SAPI = UNKNOWN; + /** + * @var int + * @cvalue PHP_CREDITS_MODULES + */ + const CREDITS_MODULES = UNKNOWN; + /** + * @var int + * @cvalue PHP_CREDITS_DOCS + */ + const CREDITS_DOCS = UNKNOWN; + /** + * @var int + * @cvalue PHP_CREDITS_FULLPAGE + */ + const CREDITS_FULLPAGE = UNKNOWN; + /** + * @var int + * @cvalue PHP_CREDITS_QA + */ + const CREDITS_QA = UNKNOWN; + /** + * @var int + * @cvalue PHP_CREDITS_ALL + */ + const CREDITS_ALL = UNKNOWN; + + /* syslog.c */ + + /* error levels */ + + /** + * system unusable + * @var int + * @cvalue LOG_EMERG + */ + const LOG_EMERG = UNKNOWN; + /** + * immediate action required + * @var int + * @cvalue LOG_ALERT + */ + const LOG_ALERT = UNKNOWN; + /** + * critical conditions + * @var int + * @cvalue LOG_CRIT + */ + const LOG_CRIT = UNKNOWN; + /** + * @var int + * @cvalue LOG_ERR + */ + const LOG_ERR = UNKNOWN; + /** + * @var int + * @cvalue LOG_WARNING + */ + const LOG_WARNING = UNKNOWN; + /** + * @var int + * @cvalue LOG_NOTICE + */ + const LOG_NOTICE = UNKNOWN; + /** + * @var int + * @cvalue LOG_INFO + */ + const LOG_INFO = UNKNOWN; + /** + * @var int + * @cvalue LOG_DEBUG + */ + const LOG_DEBUG = UNKNOWN; + /* facility: type of program logging the message */ + /** + * @var int + * @cvalue LOG_KERN + */ + const LOG_KERN = UNKNOWN; + /** + * generic user level + * @var int + * @cvalue LOG_USER + */ + const LOG_USER = UNKNOWN; + /** + * log to email + * @var int + * @cvalue LOG_MAIL + */ + const LOG_MAIL = UNKNOWN; + /** + * other system daemons + * @var int + * @cvalue LOG_DAEMON + */ + const LOG_DAEMON = UNKNOWN; + /** + * @var int + * @cvalue LOG_AUTH + */ + const LOG_AUTH = UNKNOWN; + /** + * @var int + * @cvalue LOG_SYSLOG + */ + const LOG_SYSLOG = UNKNOWN; + /** + * @var int + * @cvalue LOG_LPR + */ + const LOG_LPR = UNKNOWN; + #ifdef LOG_NEWS + /* No LOG_NEWS on HP-UX */ + /** + * usenet new + * @var int + * @cvalue LOG_NEWS + */ + const LOG_NEWS = UNKNOWN; + #endif + #ifdef LOG_UUCP + /* No LOG_UUCP on HP-UX */ + /** + * @var int + * @cvalue LOG_UUCP + */ + const LOG_UUCP = UNKNOWN; + #endif + #ifdef LOG_CRON + /* apparently some systems don't have this one */ + /** + * @var int + * @cvalue LOG_CRON + */ + const LOG_CRON = UNKNOWN; + #endif + #ifdef LOG_AUTHPRIV + /* AIX doesn't have LOG_AUTHPRIV */ + /** + * @var int + * @cvalue LOG_AUTHPRIV + */ + const LOG_AUTHPRIV = UNKNOWN; + #endif + #ifndef PHP_WIN32 + /** + * @var int + * @cvalue LOG_LOCAL0 + */ + const LOG_LOCAL0 = UNKNOWN; + /** + * @var int + * @cvalue LOG_LOCAL1 + */ + const LOG_LOCAL1 = UNKNOWN; + /** + * @var int + * @cvalue LOG_LOCAL2 + */ + const LOG_LOCAL2 = UNKNOWN; + /** + * @var int + * @cvalue LOG_LOCAL3 + */ + const LOG_LOCAL3 = UNKNOWN; + /** + * @var int + * @cvalue LOG_LOCAL4 + */ + const LOG_LOCAL4 = UNKNOWN; + /** + * @var int + * @cvalue LOG_LOCAL5 + */ + const LOG_LOCAL5 = UNKNOWN; + /** + * @var int + * @cvalue LOG_LOCAL6 + */ + const LOG_LOCAL6 = UNKNOWN; + /** + * @var int + * @cvalue LOG_LOCAL7 + */ + const LOG_LOCAL7 = UNKNOWN; + #endif + /* options */ + /** + * @var int + * @cvalue LOG_PID + */ + const LOG_PID = UNKNOWN; + /** + * @var int + * @cvalue LOG_CONS + */ + const LOG_CONS = UNKNOWN; + /** + * @var int + * @cvalue LOG_ODELAY + */ + const LOG_ODELAY = UNKNOWN; + /** + * @var int + * @cvalue LOG_NDELAY + */ + const LOG_NDELAY = UNKNOWN; + #ifdef LOG_NOWAIT + /** + * @var int + * @cvalue LOG_NOWAIT + */ + const LOG_NOWAIT = UNKNOWN; + #endif + #ifdef LOG_PERROR + /* AIX doesn't have LOG_PERROR */ + /** + * log to stderr + * @var int + * @cvalue LOG_PERROR + */ + const LOG_PERROR = UNKNOWN; + #endif + + /* string.c */ + + /** + * @var int + * @cvalue PHP_STR_PAD_LEFT + */ + const STR_PAD_LEFT = UNKNOWN; + /** + * @var int + * @cvalue PHP_STR_PAD_RIGHT + */ + const STR_PAD_RIGHT = UNKNOWN; + /** + * @var int + * @cvalue PHP_STR_PAD_BOTH + */ + const STR_PAD_BOTH = UNKNOWN; + /** + * @var int + * @cvalue PHP_PATHINFO_DIRNAME + */ + const PATHINFO_DIRNAME = UNKNOWN; + /** + * @var int + * @cvalue PHP_PATHINFO_BASENAME + */ + const PATHINFO_BASENAME = UNKNOWN; + /** + * @var int + * @cvalue PHP_PATHINFO_EXTENSION + */ + const PATHINFO_EXTENSION = UNKNOWN; + /** + * @var int + * @cvalue PHP_PATHINFO_FILENAME + */ + const PATHINFO_FILENAME = UNKNOWN; + /** + * @var int + * @cvalue PHP_PATHINFO_ALL + */ + const PATHINFO_ALL = UNKNOWN; + + /** + * If last members of struct lconv equal CHAR_MAX, no grouping is done + * @var int + * @cvalue CHAR_MAX + */ + const CHAR_MAX = UNKNOWN; + /** + * @var int + * @cvalue LC_CTYPE + */ + const LC_CTYPE = UNKNOWN; + /** + * @var int + * @cvalue LC_NUMERIC + */ + const LC_NUMERIC = UNKNOWN; + /** + * @var int + * @cvalue LC_TIME + */ + const LC_TIME = UNKNOWN; + /** + * @var int + * @cvalue LC_COLLATE + */ + const LC_COLLATE = UNKNOWN; + /** + * @var int + * @cvalue LC_MONETARY + */ + const LC_MONETARY = UNKNOWN; + /** + * @var int + * @cvalue LC_ALL + */ + const LC_ALL = UNKNOWN; + #ifdef LC_MESSAGES + /** + * @var int + * @cvalue LC_MESSAGES + */ + const LC_MESSAGES = UNKNOWN; + #endif + + #ifdef HAVE_NL_LANGINFO + #ifdef ABDAY_1 + /** + * @var int + * @cvalue ABDAY_1 + */ + const ABDAY_1 = UNKNOWN; + /** + * @var int + * @cvalue ABDAY_2 + */ + const ABDAY_2 = UNKNOWN; + /** + * @var int + * @cvalue ABDAY_3 + */ + const ABDAY_3 = UNKNOWN; + /** + * @var int + * @cvalue ABDAY_4 + */ + const ABDAY_4 = UNKNOWN; + /** + * @var int + * @cvalue ABDAY_5 + */ + const ABDAY_5 = UNKNOWN; + /** + * @var int + * @cvalue ABDAY_6 + */ + const ABDAY_6 = UNKNOWN; + /** + * @var int + * @cvalue ABDAY_7 + */ + const ABDAY_7 = UNKNOWN; + #endif + #ifdef DAY_1 + /** + * @var int + * @cvalue DAY_1 + */ + const DAY_1 = UNKNOWN; + /** + * @var int + * @cvalue DAY_2 + */ + const DAY_2 = UNKNOWN; + /** + * @var int + * @cvalue DAY_3 + */ + const DAY_3 = UNKNOWN; + /** + * @var int + * @cvalue DAY_4 + */ + const DAY_4 = UNKNOWN; + /** + * @var int + * @cvalue DAY_5 + */ + const DAY_5 = UNKNOWN; + /** + * @var int + * @cvalue DAY_6 + */ + const DAY_6 = UNKNOWN; + /** + * @var int + * @cvalue DAY_7 + */ + const DAY_7 = UNKNOWN; + #endif + #ifdef ABMON_1 + /** + * @var int + * @cvalue ABMON_1 + */ + const ABMON_1 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_2 + */ + const ABMON_2 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_3 + */ + const ABMON_3 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_4 + */ + const ABMON_4 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_5 + */ + const ABMON_5 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_6 + */ + const ABMON_6 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_7 + */ + const ABMON_7 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_8 + */ + const ABMON_8 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_9 + */ + const ABMON_9 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_10 + */ + const ABMON_10 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_11 + */ + const ABMON_11 = UNKNOWN; + /** + * @var int + * @cvalue ABMON_12 + */ + const ABMON_12 = UNKNOWN; + #endif + #ifdef MON_1 + /** + * @var int + * @cvalue MON_1 + */ + const MON_1 = UNKNOWN; + /** + * @var int + * @cvalue MON_2 + */ + const MON_2 = UNKNOWN; + /** + * @var int + * @cvalue MON_3 + */ + const MON_3 = UNKNOWN; + /** + * @var int + * @cvalue MON_4 + */ + const MON_4 = UNKNOWN; + /** + * @var int + * @cvalue MON_5 + */ + const MON_5 = UNKNOWN; + /** + * @var int + * @cvalue MON_6 + */ + const MON_6 = UNKNOWN; + /** + * @var int + * @cvalue MON_7 + */ + const MON_7 = UNKNOWN; + /** + * @var int + * @cvalue MON_8 + */ + const MON_8 = UNKNOWN; + /** + * @var int + * @cvalue MON_9 + */ + const MON_9 = UNKNOWN; + /** + * @var int + * @cvalue MON_10 + */ + const MON_10 = UNKNOWN; + /** + * @var int + * @cvalue MON_11 + */ + const MON_11 = UNKNOWN; + /** + * @var int + * @cvalue MON_12 + */ + const MON_12 = UNKNOWN; + #endif + #ifdef AM_STR + /** + * @var int + * @cvalue AM_STR + */ + const AM_STR = UNKNOWN; + #endif + #ifdef PM_STR + /** + * @var int + * @cvalue PM_STR + */ + const PM_STR = UNKNOWN; + #endif + #ifdef D_T_FMT + /** + * @var int + * @cvalue D_T_FMT + */ + const D_T_FMT = UNKNOWN; + #endif + #ifdef D_FMT + /** + * @var int + * @cvalue D_FMT + */ + const D_FMT = UNKNOWN; + #endif + #ifdef T_FMT + /** + * @var int + * @cvalue T_FMT + */ + const T_FMT = UNKNOWN; + #endif + #ifdef T_FMT_AMPM + /** + * @var int + * @cvalue T_FMT_AMPM + */ + const T_FMT_AMPM = UNKNOWN; + #endif + #ifdef ERA + /** + * @var int + * @cvalue ERA + */ + const ERA = UNKNOWN; + #endif + #ifdef ERA_YEAR + /** + * @var int + * @cvalue ERA_YEAR + */ + const ERA_YEAR = UNKNOWN; + #endif + #ifdef ERA_D_T_FMT + /** + * @var int + * @cvalue ERA_D_T_FMT + */ + const ERA_D_T_FMT = UNKNOWN; + #endif + #ifdef ERA_D_FMT + /** + * @var int + * @cvalue ERA_D_FMT + */ + const ERA_D_FMT = UNKNOWN; + #endif + #ifdef ERA_T_FMT + /** + * @var int + * @cvalue ERA_T_FMT + */ + const ERA_T_FMT = UNKNOWN; + #endif + #ifdef ALT_DIGITS + /** + * @var int + * @cvalue ALT_DIGITS + */ + const ALT_DIGITS = UNKNOWN; + #endif + #ifdef INT_CURR_SYMBOL + /** + * @var int + * @cvalue INT_CURR_SYMBOL + */ + const INT_CURR_SYMBOL = UNKNOWN; + #endif + #ifdef CURRENCY_SYMBOL + /** + * @var int + * @cvalue CURRENCY_SYMBOL + */ + const CURRENCY_SYMBOL = UNKNOWN; + #endif + #ifdef CRNCYSTR + /** + * @var int + * @cvalue CRNCYSTR + */ + const CRNCYSTR = UNKNOWN; + #endif + #ifdef MON_DECIMAL_POINT + /** + * @var int + * @cvalue MON_DECIMAL_POINT + */ + const MON_DECIMAL_POINT = UNKNOWN; + #endif + #ifdef MON_THOUSANDS_SEP + /** + * @var int + * @cvalue MON_THOUSANDS_SEP + */ + const MON_THOUSANDS_SEP = UNKNOWN; + #endif + #ifdef MON_GROUPING + /** + * @var int + * @cvalue MON_GROUPING + */ + const MON_GROUPING = UNKNOWN; + #endif + #ifdef POSITIVE_SIGN + /** + * @var int + * @cvalue POSITIVE_SIGN + */ + const POSITIVE_SIGN = UNKNOWN; + #endif + #ifdef NEGATIVE_SIGN + /** + * @var int + * @cvalue NEGATIVE_SIGN + */ + const NEGATIVE_SIGN = UNKNOWN; + #endif + #ifdef INT_FRAC_DIGITS + /** + * @var int + * @cvalue INT_FRAC_DIGITS + */ + const INT_FRAC_DIGITS = UNKNOWN; + #endif + #ifdef FRAC_DIGITS + /** + * @var int + * @cvalue FRAC_DIGITS + */ + const FRAC_DIGITS = UNKNOWN; + #endif + #ifdef P_CS_PRECEDES + /** + * @var int + * @cvalue P_CS_PRECEDES + */ + const P_CS_PRECEDES = UNKNOWN; + #endif + #ifdef P_SEP_BY_SPACE + /** + * @var int + * @cvalue P_SEP_BY_SPACE + */ + const P_SEP_BY_SPACE = UNKNOWN; + #endif + #ifdef N_CS_PRECEDES + /** + * @var int + * @cvalue N_CS_PRECEDES + */ + const N_CS_PRECEDES = UNKNOWN; + #endif + #ifdef N_SEP_BY_SPACE + /** + * @var int + * @cvalue N_SEP_BY_SPACE + */ + const N_SEP_BY_SPACE = UNKNOWN; + #endif + #ifdef P_SIGN_POSN + /** + * @var int + * @cvalue P_SIGN_POSN + */ + const P_SIGN_POSN = UNKNOWN; + #endif + #ifdef N_SIGN_POSN + /** + * @var int + * @cvalue N_SIGN_POSN + */ + const N_SIGN_POSN = UNKNOWN; + #endif + #ifdef DECIMAL_POINT + /** + * @var int + * @cvalue DECIMAL_POINT + */ + const DECIMAL_POINT = UNKNOWN; + #endif + #ifdef RADIXCHAR + /** + * @var int + * @cvalue RADIXCHAR + */ + const RADIXCHAR = UNKNOWN; + #endif + #ifdef THOUSANDS_SEP + /** + * @var int + * @cvalue THOUSANDS_SEP + */ + const THOUSANDS_SEP = UNKNOWN; + #endif + #ifdef THOUSEP + /** + * @var int + * @cvalue THOUSEP + */ + const THOUSEP = UNKNOWN; + #endif + #ifdef GROUPING + /** + * @var int + * @cvalue GROUPING + */ + const GROUPING = UNKNOWN; + #endif + #ifdef YESEXPR + /** + * @var int + * @cvalue YESEXPR + */ + const YESEXPR = UNKNOWN; + #endif + #ifdef NOEXPR + /** + * @var int + * @cvalue NOEXPR + */ + const NOEXPR = UNKNOWN; + #endif + #ifdef YESSTR + /** + * @var int + * @cvalue YESSTR + */ + const YESSTR = UNKNOWN; + #endif + #ifdef NOSTR + /** + * @var int + * @cvalue NOSTR + */ + const NOSTR = UNKNOWN; + #endif + #ifdef CODESET + /** + * @var int + * @cvalue CODESET + */ + const CODESET = UNKNOWN; + #endif + #endif + + /** @undocumentable */ + #[AllowDynamicProperties] + final class __PHP_Incomplete_Class + { + } + + class AssertionError extends Error + { + } + + /* main/main.c */ + + function set_time_limit(int $seconds): bool {} + + /* main/SAPI.c */ + + function header_register_callback(callable $callback): bool {} + + /* main/output.c */ -/* html.c */ - -/** -* @var int -* @cvalue PHP_HTML_SPECIALCHARS -*/ -const HTML_SPECIALCHARS = UNKNOWN; -/** -* @var int -* @cvalue PHP_HTML_ENTITIES -*/ -const HTML_ENTITIES = UNKNOWN; -/** -* @var int -* @cvalue ENT_COMPAT -*/ -const ENT_COMPAT = UNKNOWN; -/** -* @var int -* @cvalue ENT_QUOTES -*/ -const ENT_QUOTES = UNKNOWN; -/** -* @var int -* @cvalue ENT_NOQUOTES -*/ -const ENT_NOQUOTES = UNKNOWN; -/** -* @var int -* @cvalue ENT_IGNORE -*/ -const ENT_IGNORE = UNKNOWN; -/** -* @var int -* @cvalue ENT_SUBSTITUTE -*/ -const ENT_SUBSTITUTE = UNKNOWN; -/** -* @var int -* @cvalue ENT_DISALLOWED -*/ -const ENT_DISALLOWED = UNKNOWN; -/** -* @var int -* @cvalue ENT_HTML401 -*/ -const ENT_HTML401 = UNKNOWN; -/** -* @var int -* @cvalue ENT_XML1 -*/ -const ENT_XML1 = UNKNOWN; -/** -* @var int -* @cvalue ENT_XHTML -*/ -const ENT_XHTML = UNKNOWN; -/** -* @var int -* @cvalue ENT_HTML5 -*/ -const ENT_HTML5 = UNKNOWN; - -/* image.c */ - -/** - * @var int - * @cvalue IMAGE_FILETYPE_GIF - */ -const IMAGETYPE_GIF = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_JPEG - */ -const IMAGETYPE_JPEG = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_PNG - */ -const IMAGETYPE_PNG = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_SWF - */ -const IMAGETYPE_SWF = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_PSD - */ -const IMAGETYPE_PSD = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_BMP - */ -const IMAGETYPE_BMP = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_TIFF_II - */ -const IMAGETYPE_TIFF_II = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_TIFF_MM - */ -const IMAGETYPE_TIFF_MM = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_JPC - */ -const IMAGETYPE_JPC = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_JP2 - */ -const IMAGETYPE_JP2 = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_JPX - */ -const IMAGETYPE_JPX = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_JB2 - */ -const IMAGETYPE_JB2 = UNKNOWN; -#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB)) -/** - * @var int - * @cvalue IMAGE_FILETYPE_SWC - */ -const IMAGETYPE_SWC = UNKNOWN; -#endif -/** - * @var int - * @cvalue IMAGE_FILETYPE_IFF - */ -const IMAGETYPE_IFF = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_WBMP - */ -const IMAGETYPE_WBMP = UNKNOWN; -/* keep alias */ -/** - * @var int - * @cvalue IMAGE_FILETYPE_JPC - */ -const IMAGETYPE_JPEG2000 = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_XBM - */ -const IMAGETYPE_XBM = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_ICO - */ -const IMAGETYPE_ICO = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_WEBP - */ -const IMAGETYPE_WEBP = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_AVIF - */ -const IMAGETYPE_AVIF = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_UNKNOWN - */ -const IMAGETYPE_UNKNOWN = UNKNOWN; -/** - * @var int - * @cvalue IMAGE_FILETYPE_COUNT - */ -const IMAGETYPE_COUNT = UNKNOWN; - -/* info.c */ - -/** - * @var int - * @cvalue PHP_INFO_GENERAL - */ -const INFO_GENERAL = UNKNOWN; -/** -* @var int -* @cvalue PHP_INFO_CREDITS -*/ -const INFO_CREDITS = UNKNOWN; -/** -* @var int -* @cvalue PHP_INFO_CONFIGURATION -*/ -const INFO_CONFIGURATION = UNKNOWN; -/** -* @var int -* @cvalue PHP_INFO_MODULES -*/ -const INFO_MODULES = UNKNOWN; -/** -* @var int -* @cvalue PHP_INFO_ENVIRONMENT -*/ -const INFO_ENVIRONMENT = UNKNOWN; -/** -* @var int -* @cvalue PHP_INFO_VARIABLES -*/ -const INFO_VARIABLES = UNKNOWN; -/** -* @var int -* @cvalue PHP_INFO_LICENSE -*/ -const INFO_LICENSE = UNKNOWN; -/** -* @var int -* @cvalue PHP_INFO_ALL -*/ -const INFO_ALL = UNKNOWN; -/** -* @var int -* @cvalue PHP_CREDITS_GROUP -*/ -const CREDITS_GROUP = UNKNOWN; -/** -* @var int -* @cvalue PHP_CREDITS_GENERAL -*/ -const CREDITS_GENERAL = UNKNOWN; -/** -* @var int -* @cvalue PHP_CREDITS_SAPI -*/ -const CREDITS_SAPI = UNKNOWN; -/** -* @var int -* @cvalue PHP_CREDITS_MODULES -*/ -const CREDITS_MODULES = UNKNOWN; -/** -* @var int -* @cvalue PHP_CREDITS_DOCS -*/ -const CREDITS_DOCS = UNKNOWN; -/** -* @var int -* @cvalue PHP_CREDITS_FULLPAGE -*/ -const CREDITS_FULLPAGE = UNKNOWN; -/** -* @var int -* @cvalue PHP_CREDITS_QA -*/ -const CREDITS_QA = UNKNOWN; -/** -* @var int -* @cvalue PHP_CREDITS_ALL -*/ -const CREDITS_ALL = UNKNOWN; - -/* syslog.c */ - -/* error levels */ - -/** - * system unusable - * @var int - * @cvalue LOG_EMERG - */ -const LOG_EMERG = UNKNOWN; -/** - * immediate action required - * @var int - * @cvalue LOG_ALERT - */ -const LOG_ALERT = UNKNOWN; -/** - * critical conditions - * @var int - * @cvalue LOG_CRIT - */ -const LOG_CRIT = UNKNOWN; -/** - * @var int - * @cvalue LOG_ERR - */ -const LOG_ERR = UNKNOWN; -/** - * @var int - * @cvalue LOG_WARNING - */ -const LOG_WARNING = UNKNOWN; -/** - * @var int - * @cvalue LOG_NOTICE - */ -const LOG_NOTICE = UNKNOWN; -/** - * @var int - * @cvalue LOG_INFO - */ -const LOG_INFO = UNKNOWN; -/** - * @var int - * @cvalue LOG_DEBUG - */ -const LOG_DEBUG = UNKNOWN; -/* facility: type of program logging the message */ -/** - * @var int - * @cvalue LOG_KERN - */ -const LOG_KERN = UNKNOWN; -/** - * generic user level - * @var int - * @cvalue LOG_USER - */ -const LOG_USER = UNKNOWN; -/** - * log to email - * @var int - * @cvalue LOG_MAIL - */ -const LOG_MAIL = UNKNOWN; -/** - * other system daemons - * @var int - * @cvalue LOG_DAEMON - */ -const LOG_DAEMON = UNKNOWN; -/** - * @var int - * @cvalue LOG_AUTH - */ -const LOG_AUTH = UNKNOWN; -/** - * @var int - * @cvalue LOG_SYSLOG - */ -const LOG_SYSLOG = UNKNOWN; -/** - * @var int - * @cvalue LOG_LPR - */ -const LOG_LPR = UNKNOWN; -#ifdef LOG_NEWS -/* No LOG_NEWS on HP-UX */ -/** - * usenet new - * @var int - * @cvalue LOG_NEWS - */ -const LOG_NEWS = UNKNOWN; -#endif -#ifdef LOG_UUCP -/* No LOG_UUCP on HP-UX */ -/** - * @var int - * @cvalue LOG_UUCP - */ -const LOG_UUCP = UNKNOWN; -#endif -#ifdef LOG_CRON -/* apparently some systems don't have this one */ -/** - * @var int - * @cvalue LOG_CRON - */ -const LOG_CRON = UNKNOWN; -#endif -#ifdef LOG_AUTHPRIV -/* AIX doesn't have LOG_AUTHPRIV */ -/** - * @var int - * @cvalue LOG_AUTHPRIV - */ -const LOG_AUTHPRIV = UNKNOWN; -#endif -#ifndef PHP_WIN32 -/** - * @var int - * @cvalue LOG_LOCAL0 - */ -const LOG_LOCAL0 = UNKNOWN; -/** - * @var int - * @cvalue LOG_LOCAL1 - */ -const LOG_LOCAL1 = UNKNOWN; -/** - * @var int - * @cvalue LOG_LOCAL2 - */ -const LOG_LOCAL2 = UNKNOWN; -/** - * @var int - * @cvalue LOG_LOCAL3 - */ -const LOG_LOCAL3 = UNKNOWN; -/** - * @var int - * @cvalue LOG_LOCAL4 - */ -const LOG_LOCAL4 = UNKNOWN; -/** - * @var int - * @cvalue LOG_LOCAL5 - */ -const LOG_LOCAL5 = UNKNOWN; -/** - * @var int - * @cvalue LOG_LOCAL6 - */ -const LOG_LOCAL6 = UNKNOWN; -/** - * @var int - * @cvalue LOG_LOCAL7 - */ -const LOG_LOCAL7 = UNKNOWN; -#endif -/* options */ -/** - * @var int - * @cvalue LOG_PID - */ -const LOG_PID = UNKNOWN; -/** - * @var int - * @cvalue LOG_CONS - */ -const LOG_CONS = UNKNOWN; -/** - * @var int - * @cvalue LOG_ODELAY - */ -const LOG_ODELAY = UNKNOWN; -/** - * @var int - * @cvalue LOG_NDELAY - */ -const LOG_NDELAY = UNKNOWN; -#ifdef LOG_NOWAIT -/** - * @var int - * @cvalue LOG_NOWAIT - */ -const LOG_NOWAIT = UNKNOWN; -#endif -#ifdef LOG_PERROR -/* AIX doesn't have LOG_PERROR */ -/** - * log to stderr - * @var int - * @cvalue LOG_PERROR - */ -const LOG_PERROR = UNKNOWN; -#endif + /** @param callable $callback */ + function ob_start($callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {} -/* string.c */ - -/** - * @var int - * @cvalue PHP_STR_PAD_LEFT - */ -const STR_PAD_LEFT = UNKNOWN; -/** - * @var int - * @cvalue PHP_STR_PAD_RIGHT - */ -const STR_PAD_RIGHT = UNKNOWN; -/** - * @var int - * @cvalue PHP_STR_PAD_BOTH - */ -const STR_PAD_BOTH = UNKNOWN; -/** - * @var int - * @cvalue PHP_PATHINFO_DIRNAME - */ -const PATHINFO_DIRNAME = UNKNOWN; -/** - * @var int - * @cvalue PHP_PATHINFO_BASENAME - */ -const PATHINFO_BASENAME = UNKNOWN; -/** - * @var int - * @cvalue PHP_PATHINFO_EXTENSION - */ -const PATHINFO_EXTENSION = UNKNOWN; -/** - * @var int - * @cvalue PHP_PATHINFO_FILENAME - */ -const PATHINFO_FILENAME = UNKNOWN; -/** - * @var int - * @cvalue PHP_PATHINFO_ALL - */ -const PATHINFO_ALL = UNKNOWN; - -/** - * If last members of struct lconv equal CHAR_MAX, no grouping is done - * @var int - * @cvalue CHAR_MAX - */ -const CHAR_MAX = UNKNOWN; -/** - * @var int - * @cvalue LC_CTYPE - */ -const LC_CTYPE = UNKNOWN; -/** - * @var int - * @cvalue LC_NUMERIC - */ -const LC_NUMERIC = UNKNOWN; -/** - * @var int - * @cvalue LC_TIME - */ -const LC_TIME = UNKNOWN; -/** - * @var int - * @cvalue LC_COLLATE - */ -const LC_COLLATE = UNKNOWN; -/** - * @var int - * @cvalue LC_MONETARY - */ -const LC_MONETARY = UNKNOWN; -/** - * @var int - * @cvalue LC_ALL - */ -const LC_ALL = UNKNOWN; -#ifdef LC_MESSAGES -/** - * @var int - * @cvalue LC_MESSAGES - */ -const LC_MESSAGES = UNKNOWN; -#endif + function ob_flush(): bool {} -#ifdef HAVE_NL_LANGINFO -#ifdef ABDAY_1 -/** - * @var int - * @cvalue ABDAY_1 - */ -const ABDAY_1 = UNKNOWN; -/** - * @var int - * @cvalue ABDAY_2 - */ -const ABDAY_2 = UNKNOWN; -/** - * @var int - * @cvalue ABDAY_3 - */ -const ABDAY_3 = UNKNOWN; -/** - * @var int - * @cvalue ABDAY_4 - */ -const ABDAY_4 = UNKNOWN; -/** - * @var int - * @cvalue ABDAY_5 - */ -const ABDAY_5 = UNKNOWN; -/** - * @var int - * @cvalue ABDAY_6 - */ -const ABDAY_6 = UNKNOWN; -/** - * @var int - * @cvalue ABDAY_7 - */ -const ABDAY_7 = UNKNOWN; -#endif -#ifdef DAY_1 -/** - * @var int - * @cvalue DAY_1 - */ -const DAY_1 = UNKNOWN; -/** - * @var int - * @cvalue DAY_2 - */ -const DAY_2 = UNKNOWN; -/** - * @var int - * @cvalue DAY_3 - */ -const DAY_3 = UNKNOWN; -/** - * @var int - * @cvalue DAY_4 - */ -const DAY_4 = UNKNOWN; -/** - * @var int - * @cvalue DAY_5 - */ -const DAY_5 = UNKNOWN; -/** - * @var int - * @cvalue DAY_6 - */ -const DAY_6 = UNKNOWN; -/** - * @var int - * @cvalue DAY_7 - */ -const DAY_7 = UNKNOWN; -#endif -#ifdef ABMON_1 -/** - * @var int - * @cvalue ABMON_1 - */ -const ABMON_1 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_2 - */ -const ABMON_2 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_3 - */ -const ABMON_3 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_4 - */ -const ABMON_4 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_5 - */ -const ABMON_5 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_6 - */ -const ABMON_6 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_7 - */ -const ABMON_7 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_8 - */ -const ABMON_8 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_9 - */ -const ABMON_9 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_10 - */ -const ABMON_10 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_11 - */ -const ABMON_11 = UNKNOWN; -/** - * @var int - * @cvalue ABMON_12 - */ -const ABMON_12 = UNKNOWN; -#endif -#ifdef MON_1 -/** - * @var int - * @cvalue MON_1 - */ -const MON_1 = UNKNOWN; -/** - * @var int - * @cvalue MON_2 - */ -const MON_2 = UNKNOWN; -/** - * @var int - * @cvalue MON_3 - */ -const MON_3 = UNKNOWN; -/** - * @var int - * @cvalue MON_4 - */ -const MON_4 = UNKNOWN; -/** - * @var int - * @cvalue MON_5 - */ -const MON_5 = UNKNOWN; -/** - * @var int - * @cvalue MON_6 - */ -const MON_6 = UNKNOWN; -/** - * @var int - * @cvalue MON_7 - */ -const MON_7 = UNKNOWN; -/** - * @var int - * @cvalue MON_8 - */ -const MON_8 = UNKNOWN; -/** - * @var int - * @cvalue MON_9 - */ -const MON_9 = UNKNOWN; -/** - * @var int - * @cvalue MON_10 - */ -const MON_10 = UNKNOWN; -/** - * @var int - * @cvalue MON_11 - */ -const MON_11 = UNKNOWN; -/** - * @var int - * @cvalue MON_12 - */ -const MON_12 = UNKNOWN; -#endif -#ifdef AM_STR -/** - * @var int - * @cvalue AM_STR - */ -const AM_STR = UNKNOWN; -#endif -#ifdef PM_STR -/** - * @var int - * @cvalue PM_STR - */ -const PM_STR = UNKNOWN; -#endif -#ifdef D_T_FMT -/** - * @var int - * @cvalue D_T_FMT - */ -const D_T_FMT = UNKNOWN; -#endif -#ifdef D_FMT -/** - * @var int - * @cvalue D_FMT - */ -const D_FMT = UNKNOWN; -#endif -#ifdef T_FMT -/** - * @var int - * @cvalue T_FMT - */ -const T_FMT = UNKNOWN; -#endif -#ifdef T_FMT_AMPM -/** - * @var int - * @cvalue T_FMT_AMPM - */ -const T_FMT_AMPM = UNKNOWN; -#endif -#ifdef ERA -/** - * @var int - * @cvalue ERA - */ -const ERA = UNKNOWN; -#endif -#ifdef ERA_YEAR -/** - * @var int - * @cvalue ERA_YEAR - */ -const ERA_YEAR = UNKNOWN; -#endif -#ifdef ERA_D_T_FMT -/** - * @var int - * @cvalue ERA_D_T_FMT - */ -const ERA_D_T_FMT = UNKNOWN; -#endif -#ifdef ERA_D_FMT -/** - * @var int - * @cvalue ERA_D_FMT - */ -const ERA_D_FMT = UNKNOWN; -#endif -#ifdef ERA_T_FMT -/** - * @var int - * @cvalue ERA_T_FMT - */ -const ERA_T_FMT = UNKNOWN; -#endif -#ifdef ALT_DIGITS -/** - * @var int - * @cvalue ALT_DIGITS - */ -const ALT_DIGITS = UNKNOWN; -#endif -#ifdef INT_CURR_SYMBOL -/** - * @var int - * @cvalue INT_CURR_SYMBOL - */ -const INT_CURR_SYMBOL = UNKNOWN; -#endif -#ifdef CURRENCY_SYMBOL -/** - * @var int - * @cvalue CURRENCY_SYMBOL - */ -const CURRENCY_SYMBOL = UNKNOWN; -#endif -#ifdef CRNCYSTR -/** - * @var int - * @cvalue CRNCYSTR - */ -const CRNCYSTR = UNKNOWN; -#endif -#ifdef MON_DECIMAL_POINT -/** - * @var int - * @cvalue MON_DECIMAL_POINT - */ -const MON_DECIMAL_POINT = UNKNOWN; -#endif -#ifdef MON_THOUSANDS_SEP -/** - * @var int - * @cvalue MON_THOUSANDS_SEP - */ -const MON_THOUSANDS_SEP = UNKNOWN; -#endif -#ifdef MON_GROUPING -/** - * @var int - * @cvalue MON_GROUPING - */ -const MON_GROUPING = UNKNOWN; -#endif -#ifdef POSITIVE_SIGN -/** - * @var int - * @cvalue POSITIVE_SIGN - */ -const POSITIVE_SIGN = UNKNOWN; -#endif -#ifdef NEGATIVE_SIGN -/** - * @var int - * @cvalue NEGATIVE_SIGN - */ -const NEGATIVE_SIGN = UNKNOWN; -#endif -#ifdef INT_FRAC_DIGITS -/** - * @var int - * @cvalue INT_FRAC_DIGITS - */ -const INT_FRAC_DIGITS = UNKNOWN; -#endif -#ifdef FRAC_DIGITS -/** - * @var int - * @cvalue FRAC_DIGITS - */ -const FRAC_DIGITS = UNKNOWN; -#endif -#ifdef P_CS_PRECEDES -/** - * @var int - * @cvalue P_CS_PRECEDES - */ -const P_CS_PRECEDES = UNKNOWN; -#endif -#ifdef P_SEP_BY_SPACE -/** - * @var int - * @cvalue P_SEP_BY_SPACE - */ -const P_SEP_BY_SPACE = UNKNOWN; -#endif -#ifdef N_CS_PRECEDES -/** - * @var int - * @cvalue N_CS_PRECEDES - */ -const N_CS_PRECEDES = UNKNOWN; -#endif -#ifdef N_SEP_BY_SPACE -/** - * @var int - * @cvalue N_SEP_BY_SPACE - */ -const N_SEP_BY_SPACE = UNKNOWN; -#endif -#ifdef P_SIGN_POSN -/** - * @var int - * @cvalue P_SIGN_POSN - */ -const P_SIGN_POSN = UNKNOWN; -#endif -#ifdef N_SIGN_POSN -/** - * @var int - * @cvalue N_SIGN_POSN - */ -const N_SIGN_POSN = UNKNOWN; -#endif -#ifdef DECIMAL_POINT -/** - * @var int - * @cvalue DECIMAL_POINT - */ -const DECIMAL_POINT = UNKNOWN; -#endif -#ifdef RADIXCHAR -/** - * @var int - * @cvalue RADIXCHAR - */ -const RADIXCHAR = UNKNOWN; -#endif -#ifdef THOUSANDS_SEP -/** - * @var int - * @cvalue THOUSANDS_SEP - */ -const THOUSANDS_SEP = UNKNOWN; -#endif -#ifdef THOUSEP -/** - * @var int - * @cvalue THOUSEP - */ -const THOUSEP = UNKNOWN; -#endif -#ifdef GROUPING -/** - * @var int - * @cvalue GROUPING - */ -const GROUPING = UNKNOWN; -#endif -#ifdef YESEXPR -/** - * @var int - * @cvalue YESEXPR - */ -const YESEXPR = UNKNOWN; -#endif -#ifdef NOEXPR -/** - * @var int - * @cvalue NOEXPR - */ -const NOEXPR = UNKNOWN; -#endif -#ifdef YESSTR -/** - * @var int - * @cvalue YESSTR - */ -const YESSTR = UNKNOWN; -#endif -#ifdef NOSTR -/** - * @var int - * @cvalue NOSTR - */ -const NOSTR = UNKNOWN; -#endif -#ifdef CODESET -/** - * @var int - * @cvalue CODESET - */ -const CODESET = UNKNOWN; -#endif -#endif + function ob_clean(): bool {} -/** @undocumentable */ -#[AllowDynamicProperties] -final class __PHP_Incomplete_Class -{ -} + function ob_end_flush(): bool {} -class AssertionError extends Error -{ -} + function ob_end_clean(): bool {} -#ifdef PHP_CAN_SUPPORT_PROC_OPEN -/** - * @strict-properties - * @not-serializable - */ -final class Process -{ -} -#endif + /** @refcount 1 */ + function ob_get_flush(): string|false {} -/* main/main.c */ + /** @refcount 1 */ + function ob_get_clean(): string|false {} -function set_time_limit(int $seconds): bool {} + function ob_get_contents(): string|false {} -/* main/SAPI.c */ + function ob_get_level(): int {} -function header_register_callback(callable $callback): bool {} + function ob_get_length(): int|false {} -/* main/output.c */ + /** + * @return array + * @refcount 1 + */ + function ob_list_handlers(): array {} -/** @param callable $callback */ -function ob_start($callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {} + /** + * @return array + * @refcount 1 + */ + function ob_get_status(bool $full_status = false): array {} -function ob_flush(): bool {} + function ob_implicit_flush(bool $enable = true): void {} -function ob_clean(): bool {} + function output_reset_rewrite_vars(): bool {} -function ob_end_flush(): bool {} + function output_add_rewrite_var(string $name, string $value): bool {} -function ob_end_clean(): bool {} + /* main/streams/userspace.c */ -/** @refcount 1 */ -function ob_get_flush(): string|false {} + function stream_wrapper_register(string $protocol, string $class, int $flags = 0): bool {} -/** @refcount 1 */ -function ob_get_clean(): string|false {} + /** @alias stream_wrapper_register */ + function stream_register_wrapper(string $protocol, string $class, int $flags = 0): bool {} -function ob_get_contents(): string|false {} + function stream_wrapper_unregister(string $protocol): bool {} -function ob_get_level(): int {} + function stream_wrapper_restore(string $protocol): bool {} -function ob_get_length(): int|false {} + /* array.c */ -/** - * @return array - * @refcount 1 - */ -function ob_list_handlers(): array {} + function array_push(array &$array, mixed ...$values): int {} -/** - * @return array - * @refcount 1 - */ -function ob_get_status(bool $full_status = false): array {} + function krsort(array &$array, int $flags = SORT_REGULAR): true {} -function ob_implicit_flush(bool $enable = true): void {} + function ksort(array &$array, int $flags = SORT_REGULAR): true {} -function output_reset_rewrite_vars(): bool {} + /** @compile-time-eval */ + function count(Countable|array $value, int $mode = COUNT_NORMAL): int {} -function output_add_rewrite_var(string $name, string $value): bool {} + /** @alias count */ + function sizeof(Countable|array $value, int $mode = COUNT_NORMAL): int {} -/* main/streams/userspace.c */ + function natsort(array &$array): true {} -function stream_wrapper_register(string $protocol, string $class, int $flags = 0): bool {} + function natcasesort(array &$array): true {} -/** @alias stream_wrapper_register */ -function stream_register_wrapper(string $protocol, string $class, int $flags = 0): bool {} + function asort(array &$array, int $flags = SORT_REGULAR): true {} -function stream_wrapper_unregister(string $protocol): bool {} + function arsort(array &$array, int $flags = SORT_REGULAR): true {} -function stream_wrapper_restore(string $protocol): bool {} + function sort(array &$array, int $flags = SORT_REGULAR): true {} -/* array.c */ + function rsort(array &$array, int $flags = SORT_REGULAR): true {} -function array_push(array &$array, mixed ...$values): int {} + function usort(array &$array, callable $callback): true {} -function krsort(array &$array, int $flags = SORT_REGULAR): true {} + function uasort(array &$array, callable $callback): true {} -function ksort(array &$array, int $flags = SORT_REGULAR): true {} + function uksort(array &$array, callable $callback): true {} -/** @compile-time-eval */ -function count(Countable|array $value, int $mode = COUNT_NORMAL): int {} + function end(array|object &$array): mixed {} -/** @alias count */ -function sizeof(Countable|array $value, int $mode = COUNT_NORMAL): int {} + function prev(array|object &$array): mixed {} -function natsort(array &$array): true {} + function next(array|object &$array): mixed {} -function natcasesort(array &$array): true {} + function reset(array|object &$array): mixed {} -function asort(array &$array, int $flags = SORT_REGULAR): true {} + function current(array|object $array): mixed {} -function arsort(array &$array, int $flags = SORT_REGULAR): true {} + /** @alias current */ + function pos(array|object $array): mixed {} -function sort(array &$array, int $flags = SORT_REGULAR): true {} + function key(array|object $array): int|string|null {} -function rsort(array &$array, int $flags = SORT_REGULAR): true {} + /** @compile-time-eval */ + function min(mixed $value, mixed ...$values): mixed {} -function usort(array &$array, callable $callback): true {} + /** @compile-time-eval */ + function max(mixed $value, mixed ...$values): mixed {} -function uasort(array &$array, callable $callback): true {} + function array_walk(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {} -function uksort(array &$array, callable $callback): true {} + function array_walk_recursive(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {} -function end(array|object &$array): mixed {} + /** + * @compile-time-eval + */ + function in_array(mixed $needle, array $haystack, bool $strict = false): bool {} -function prev(array|object &$array): mixed {} + /** + * @compile-time-eval + */ + function array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false {} -function next(array|object &$array): mixed {} + /** @prefer-ref $array */ + function extract(array &$array, int $flags = EXTR_OVERWRITE, string $prefix = ""): int {} -function reset(array|object &$array): mixed {} + /** + * @param array|string $var_name + * @param array|string $var_names + * @return array + * @refcount 1 + */ + function compact($var_name, ...$var_names): array {} -function current(array|object $array): mixed {} + /** @return array */ + function array_fill(int $start_index, int $count, mixed $value): array {} -/** @alias current */ -function pos(array|object $array): mixed {} + /** @refcount 1 */ + function array_fill_keys(array $keys, mixed $value): array {} -function key(array|object $array): int|string|null {} + function range(string|int|float $start, string|int|float $end, int|float $step = 1): array {} -/** @compile-time-eval */ -function min(mixed $value, mixed ...$values): mixed {} + function shuffle(array &$array): true {} -/** @compile-time-eval */ -function max(mixed $value, mixed ...$values): mixed {} + function array_pop(array &$array): mixed {} -function array_walk(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {} + function array_shift(array &$array): mixed {} -function array_walk_recursive(array|object &$array, callable $callback, mixed $arg = UNKNOWN): true {} + function array_unshift(array &$array, mixed ...$values): int {} -/** - * @compile-time-eval - */ -function in_array(mixed $needle, array $haystack, bool $strict = false): bool {} + function array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array {} -/** - * @compile-time-eval - */ -function array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false {} + /** + * @compile-time-eval + */ + function array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array {} -/** @prefer-ref $array */ -function extract(array &$array, int $flags = EXTR_OVERWRITE, string $prefix = ""): int {} + /** + * @compile-time-eval + */ + function array_merge(array ...$arrays): array {} -/** - * @param array|string $var_name - * @param array|string $var_names - * @return array - * @refcount 1 - */ -function compact($var_name, ...$var_names): array {} + /** + * @compile-time-eval + */ + function array_merge_recursive(array ...$arrays): array {} -/** @return array */ -function array_fill(int $start_index, int $count, mixed $value): array {} + /** + * @compile-time-eval + * @refcount 1 + */ + function array_replace(array $array, array ...$replacements): array {} -/** @refcount 1 */ -function array_fill_keys(array $keys, mixed $value): array {} + /** + * @compile-time-eval + * @refcount 1 + */ + function array_replace_recursive(array $array, array ...$replacements): array {} -function range(string|int|float $start, string|int|float $end, int|float $step = 1): array {} + /** + * @return array + * @compile-time-eval + */ + function array_keys(array $array, mixed $filter_value = UNKNOWN, bool $strict = false): array {} + + /** + * @compile-time-eval + */ + function array_key_first(array $array): int|string|null {} + + /** + * @compile-time-eval + */ + function array_key_last(array $array): int|string|null {} + + /** + * @return array + * @compile-time-eval + */ + function array_values(array $array): array {} + + /** + * @return array + * @compile-time-eval + * @refcount 1 + */ + function array_count_values(array $array): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function array_reverse(array $array, bool $preserve_keys = false): array {} + + function array_pad(array $array, int $length, mixed $value): array {} + + /** + * @return array + * @compile-time-eval + * @refcount 1 + */ + function array_flip(array $array): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function array_change_key_case(array $array, int $case = CASE_LOWER): array {} + + /** + * @compile-time-eval + */ + function array_unique(array $array, int $flags = SORT_STRING): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function array_intersect_key(array $array, array ...$arrays): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_intersect_ukey(array $array, ...$rest): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function array_intersect(array $array, array ...$arrays): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_uintersect(array $array, ...$rest): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function array_intersect_assoc(array $array, array ...$arrays): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_uintersect_assoc(array $array, ...$rest): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_intersect_uassoc(array $array, ...$rest): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_uintersect_uassoc(array $array, ...$rest): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function array_diff_key(array $array, array ...$arrays): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_diff_ukey(array $array, ...$rest): array {} + + /** + * @compile-time-eval + */ + function array_diff(array $array, array ...$arrays): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_udiff(array $array, ...$rest): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function array_diff_assoc(array $array, array ...$arrays): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_diff_uassoc(array $array, ...$rest): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_udiff_assoc(array $array, ...$rest): array {} + + /** + * @param array|callable $rest + * @refcount 1 + */ + function array_udiff_uassoc(array $array, ...$rest): array {} + + /** + * @param array $array + * @param array|int $rest + * @prefer-ref $array + * @prefer-ref $rest + */ + function array_multisort(&$array, &...$rest): bool {} + + /** @return int|string|array */ + function array_rand(array $array, int $num = 1): int|string|array {} + + /** + * @compile-time-eval + */ + function array_sum(array $array): int|float {} + + /** + * @compile-time-eval + */ + function array_product(array $array): int|float {} + + function array_reduce(array $array, callable $callback, mixed $initial = null): mixed {} + + function array_filter(array $array, ?callable $callback = null, int $mode = 0): array {} + + function array_map(?callable $callback, array $array, array ...$arrays): array {} + + /** + * @param string|int $key + * @compile-time-eval + */ + function array_key_exists($key, array $array): bool {} + + /** + * @param string|int $key + * @alias array_key_exists + */ + function key_exists($key, array $array): bool {} + + /** + * @compile-time-eval + */ + function array_chunk(array $array, int $length, bool $preserve_keys = false): array {} -function shuffle(array &$array): true {} + /** + * @compile-time-eval + */ + function array_combine(array $keys, array $values): array {} -function array_pop(array &$array): mixed {} + /** @compile-time-eval */ + function array_is_list(array $array): bool {} -function array_shift(array &$array): mixed {} + /* base64.c */ -function array_unshift(array &$array, mixed ...$values): int {} + /** + * @compile-time-eval + * @refcount 1 + */ + function base64_encode(string $string): string {} -function array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array {} + /** + * @compile-time-eval + * @refcount 1 + */ + function base64_decode(string $string, bool $strict = false): string|false {} -/** - * @compile-time-eval - */ -function array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array {} + /* basic_functions.c */ -/** - * @compile-time-eval - */ -function array_merge(array ...$arrays): array {} + function constant(string $name): mixed {} -/** - * @compile-time-eval - */ -function array_merge_recursive(array ...$arrays): array {} + function ip2long(string $ip): int|false {} -/** - * @compile-time-eval - * @refcount 1 - */ -function array_replace(array $array, array ...$replacements): array {} + /** @refcount 1 */ + function long2ip(int $ip): string|false {} -/** - * @compile-time-eval - * @refcount 1 - */ -function array_replace_recursive(array $array, array ...$replacements): array {} + /** + * @return string|array|false + * @refcount 1 + */ + function getenv(?string $name = null, bool $local_only = false): string|array|false {} -/** - * @return array - * @compile-time-eval - */ -function array_keys(array $array, mixed $filter_value = UNKNOWN, bool $strict = false): array {} - -/** - * @compile-time-eval - */ -function array_key_first(array $array): int|string|null {} - -/** - * @compile-time-eval - */ -function array_key_last(array $array): int|string|null {} - -/** - * @return array - * @compile-time-eval - */ -function array_values(array $array): array {} - -/** - * @return array - * @compile-time-eval - * @refcount 1 - */ -function array_count_values(array $array): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function array_reverse(array $array, bool $preserve_keys = false): array {} - -function array_pad(array $array, int $length, mixed $value): array {} - -/** - * @return array - * @compile-time-eval - * @refcount 1 - */ -function array_flip(array $array): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function array_change_key_case(array $array, int $case = CASE_LOWER): array {} - -/** - * @compile-time-eval - */ -function array_unique(array $array, int $flags = SORT_STRING): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function array_intersect_key(array $array, array ...$arrays): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_intersect_ukey(array $array, ...$rest): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function array_intersect(array $array, array ...$arrays): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_uintersect(array $array, ...$rest): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function array_intersect_assoc(array $array, array ...$arrays): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_uintersect_assoc(array $array, ...$rest): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_intersect_uassoc(array $array, ...$rest): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_uintersect_uassoc(array $array, ...$rest): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function array_diff_key(array $array, array ...$arrays): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_diff_ukey(array $array, ...$rest): array {} - -/** - * @compile-time-eval - */ -function array_diff(array $array, array ...$arrays): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_udiff(array $array, ...$rest): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function array_diff_assoc(array $array, array ...$arrays): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_diff_uassoc(array $array, ...$rest): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_udiff_assoc(array $array, ...$rest): array {} - -/** - * @param array|callable $rest - * @refcount 1 - */ -function array_udiff_uassoc(array $array, ...$rest): array {} - -/** - * @param array $array - * @param array|int $rest - * @prefer-ref $array - * @prefer-ref $rest - */ -function array_multisort(&$array, &...$rest): bool {} - -/** @return int|string|array */ -function array_rand(array $array, int $num = 1): int|string|array {} - -/** - * @compile-time-eval - */ -function array_sum(array $array): int|float {} - -/** - * @compile-time-eval - */ -function array_product(array $array): int|float {} - -function array_reduce(array $array, callable $callback, mixed $initial = null): mixed {} - -function array_filter(array $array, ?callable $callback = null, int $mode = 0): array {} - -function array_map(?callable $callback, array $array, array ...$arrays): array {} - -/** - * @param string|int $key - * @compile-time-eval - */ -function array_key_exists($key, array $array): bool {} - -/** - * @param string|int $key - * @alias array_key_exists - */ -function key_exists($key, array $array): bool {} - -/** - * @compile-time-eval - */ -function array_chunk(array $array, int $length, bool $preserve_keys = false): array {} - -/** - * @compile-time-eval - */ -function array_combine(array $keys, array $values): array {} - -/** @compile-time-eval */ -function array_is_list(array $array): bool {} - -/* base64.c */ - -/** - * @compile-time-eval - * @refcount 1 - */ -function base64_encode(string $string): string {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function base64_decode(string $string, bool $strict = false): string|false {} - -/* basic_functions.c */ - -function constant(string $name): mixed {} - -function ip2long(string $ip): int|false {} - -/** @refcount 1 */ -function long2ip(int $ip): string|false {} - -/** - * @return string|array|false - * @refcount 1 - */ -function getenv(?string $name = null, bool $local_only = false): string|array|false {} - -#ifdef HAVE_PUTENV -function putenv(string $assignment): bool {} -#endif + #ifdef HAVE_PUTENV + function putenv(string $assignment): bool {} + #endif -/** - * @param int $rest_index - * @return array|false - * @refcount 1 - */ -function getopt(string $short_options, array $long_options = [], &$rest_index = null): array|false {} + /** + * @param int $rest_index + * @return array|false + * @refcount 1 + */ + function getopt(string $short_options, array $long_options = [], &$rest_index = null): array|false {} -function flush(): void {} + function flush(): void {} -function sleep(int $seconds): int {} + function sleep(int $seconds): int {} -function usleep(int $microseconds): void {} + function usleep(int $microseconds): void {} -#ifdef HAVE_NANOSLEEP -/** - * @return array|bool - * @refcount 1 - */ -function time_nanosleep(int $seconds, int $nanoseconds): array|bool {} + #ifdef HAVE_NANOSLEEP + /** + * @return array|bool + * @refcount 1 + */ + function time_nanosleep(int $seconds, int $nanoseconds): array|bool {} -function time_sleep_until(float $timestamp): bool {} -#endif + function time_sleep_until(float $timestamp): bool {} + #endif -/** @refcount 1 */ -function get_current_user(): string {} + /** @refcount 1 */ + function get_current_user(): string {} -/** @return string|array|false */ -function get_cfg_var(string $option): string|array|false {} + /** @return string|array|false */ + function get_cfg_var(string $option): string|array|false {} -function error_log(string $message, int $message_type = 0, ?string $destination = null, ?string $additional_headers = null): bool {} + function error_log(string $message, int $message_type = 0, ?string $destination = null, ?string $additional_headers = null): bool {} -/** - * @return array|null - * @refcount 1 - */ -function error_get_last(): ?array {} + /** + * @return array|null + * @refcount 1 + */ + function error_get_last(): ?array {} -function error_clear_last(): void {} + function error_clear_last(): void {} -function call_user_func(callable $callback, mixed ...$args): mixed {} + function call_user_func(callable $callback, mixed ...$args): mixed {} -function call_user_func_array(callable $callback, array $args): mixed {} + function call_user_func_array(callable $callback, array $args): mixed {} -function forward_static_call(callable $callback, mixed ...$args): mixed {} + function forward_static_call(callable $callback, mixed ...$args): mixed {} -function forward_static_call_array(callable $callback, array $args): mixed {} + function forward_static_call_array(callable $callback, array $args): mixed {} -function register_shutdown_function(callable $callback, mixed ...$args): void {} + function register_shutdown_function(callable $callback, mixed ...$args): void {} -/** @refcount 1 */ -function highlight_file(string $filename, bool $return = false): string|bool {} + /** @refcount 1 */ + function highlight_file(string $filename, bool $return = false): string|bool {} -/** @alias highlight_file */ -function show_source(string $filename, bool $return = false): string|bool {} + /** @alias highlight_file */ + function show_source(string $filename, bool $return = false): string|bool {} -/** @refcount 1 */ -function php_strip_whitespace(string $filename): string {} + /** @refcount 1 */ + function php_strip_whitespace(string $filename): string {} -/** @refcount 1 */ -function highlight_string(string $string, bool $return = false): string|bool {} + /** @refcount 1 */ + function highlight_string(string $string, bool $return = false): string|bool {} -function ini_get(string $option): string|false {} + function ini_get(string $option): string|false {} -/** - * @return array|false - * @refcount 1 - */ -function ini_get_all(?string $extension = null, bool $details = true): array|false {} + /** + * @return array|false + * @refcount 1 + */ + function ini_get_all(?string $extension = null, bool $details = true): array|false {} -function ini_set(string $option, string|int|float|bool|null $value): string|false {} + function ini_set(string $option, string|int|float|bool|null $value): string|false {} -/** @alias ini_set */ -function ini_alter(string $option, string|int|float|bool|null $value): string|false {} + /** @alias ini_set */ + function ini_alter(string $option, string|int|float|bool|null $value): string|false {} -function ini_restore(string $option): void {} + function ini_restore(string $option): void {} -function ini_parse_quantity(string $shorthand): int {} + function ini_parse_quantity(string $shorthand): int {} -/** @refcount 1 */ -function set_include_path(string $include_path): string|false {} + /** @refcount 1 */ + function set_include_path(string $include_path): string|false {} -/** @refcount 1 */ -function get_include_path(): string|false {} + /** @refcount 1 */ + function get_include_path(): string|false {} -/** @refcount 1 */ -function print_r(mixed $value, bool $return = false): string|bool {} + /** @refcount 1 */ + function print_r(mixed $value, bool $return = false): string|bool {} -function connection_aborted(): int {} + function connection_aborted(): int {} -function connection_status(): int {} + function connection_status(): int {} -function ignore_user_abort(?bool $enable = null): int {} + function ignore_user_abort(?bool $enable = null): int {} -#ifdef HAVE_GETSERVBYNAME -function getservbyname(string $service, string $protocol): int|false {} -#endif + #ifdef HAVE_GETSERVBYNAME + function getservbyname(string $service, string $protocol): int|false {} + #endif -#ifdef HAVE_GETSERVBYPORT -/** @refcount 1 */ -function getservbyport(int $port, string $protocol): string|false {} -#endif + #ifdef HAVE_GETSERVBYPORT + /** @refcount 1 */ + function getservbyport(int $port, string $protocol): string|false {} + #endif -#ifdef HAVE_GETPROTOBYNAME -function getprotobyname(string $protocol): int|false {} -#endif - -#ifdef HAVE_GETPROTOBYNUMBER -/** @refcount 1 */ -function getprotobynumber(int $protocol): string|false {} -#endif - -function register_tick_function(callable $callback, mixed ...$args): bool {} - -function unregister_tick_function(callable $callback): void {} - -function is_uploaded_file(string $filename): bool {} - -function move_uploaded_file(string $from, string $to): bool {} - -/** - * @return array|false - * @refcount 1 - */ -function parse_ini_file(string $filename, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {} - -/** - * @return array|false - * @compile-time-eval - * @refcount 1 - */ -function parse_ini_string(string $ini_string, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {} - -#if ZEND_DEBUG -/** - * @return array - * @refcount 1 - */ -function config_get_hash(): array {} -#endif - -#ifdef HAVE_GETLOADAVG -/** - * @return array|false - * @refcount 1 - */ -function sys_getloadavg(): array|false {} -#endif - -/* browscap.c */ - -/** - * @return object|array|false - * @refcount 1 - */ -function get_browser(?string $user_agent = null, bool $return_array = false): object|array|false {} - -/* crc32.c */ - -/** @compile-time-eval */ -function crc32(string $string): int {} - -/* crypt.c */ - -/** @refcount 1 */ -function crypt(#[\SensitiveParameter] string $string, string $salt): string {} - -/* datetime.c */ - -#ifdef HAVE_STRPTIME -/** - * @return array|false - * @deprecated - * @refcount 1 - */ -function strptime(string $timestamp, string $format): array|false {} -#endif - -/* dns.c */ - -#ifdef HAVE_GETHOSTNAME -/** @refcount 1 */ -function gethostname(): string|false {} -#endif - -/** @refcount 1 */ -function gethostbyaddr(string $ip): string|false {} - -/** @refcount 1 */ -function gethostbyname(string $hostname): string {} - -/** - * @return array|false - * @refcount 1 - */ -function gethostbynamel(string $hostname): array|false {} - -#if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) -function dns_check_record(string $hostname, string $type = "MX"): bool {} - -/** @alias dns_check_record */ -function checkdnsrr(string $hostname, string $type = "MX"): bool {} - -/** - * @param array $authoritative_name_servers - * @param array $additional_records - * @return array|false - * @refcount 1 - */ -function dns_get_record(string $hostname, int $type = DNS_ANY, &$authoritative_name_servers = null, &$additional_records = null, bool $raw = false): array|false {} - -/** - * @param array $hosts - * @param array $weights - */ -function dns_get_mx(string $hostname, &$hosts, &$weights = null): bool {} - -/** - * @param array $hosts - * @param array $weights - * @alias dns_get_mx - */ -function getmxrr(string $hostname, &$hosts, &$weights = null): bool {} -#endif - -/* net.c */ - -#if (defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__)) -function net_get_interfaces(): array|false {} -#endif - -/* ftok.c */ + #ifdef HAVE_GETPROTOBYNAME + function getprotobyname(string $protocol): int|false {} + #endif -#ifdef HAVE_FTOK -function ftok(string $filename, string $project_id): int {} -#endif + #ifdef HAVE_GETPROTOBYNUMBER + /** @refcount 1 */ + function getprotobynumber(int $protocol): string|false {} + #endif -/* hrtime.c */ + function register_tick_function(callable $callback, mixed ...$args): bool {} -function hrtime(bool $as_number = false): array|int|float|false {} + function unregister_tick_function(callable $callback): void {} -/* md5.c */ + function is_uploaded_file(string $filename): bool {} -/** @refcount 1 */ -function md5(string $string, bool $binary = false): string {} + function move_uploaded_file(string $from, string $to): bool {} -/** @refcount 1 */ -function md5_file(string $filename, bool $binary = false): string|false {} + /** + * @return array|false + * @refcount 1 + */ + function parse_ini_file(string $filename, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {} -/* pageinfo.c */ + /** + * @return array|false + * @compile-time-eval + * @refcount 1 + */ + function parse_ini_string(string $ini_string, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {} -function getmyuid(): int|false {} + #if ZEND_DEBUG + /** + * @return array + * @refcount 1 + */ + function config_get_hash(): array {} + #endif -function getmygid(): int|false {} + #ifdef HAVE_GETLOADAVG + /** + * @return array|false + * @refcount 1 + */ + function sys_getloadavg(): array|false {} + #endif -function getmypid(): int|false {} + /* browscap.c */ -function getmyinode(): int|false {} + /** + * @return object|array|false + * @refcount 1 + */ + function get_browser(?string $user_agent = null, bool $return_array = false): object|array|false {} -function getlastmod(): int|false {} + /* crc32.c */ -/* sha1.c */ + /** @compile-time-eval */ + function crc32(string $string): int {} -/** @refcount 1 */ -function sha1(string $string, bool $binary = false): string {} + /* crypt.c */ -/** @refcount 1 */ -function sha1_file(string $filename, bool $binary = false): string|false {} + /** @refcount 1 */ + function crypt(#[\SensitiveParameter] string $string, string $salt): string {} -/* syslog.c */ + /* datetime.c */ -#ifdef HAVE_SYSLOG_H -function openlog(string $prefix, int $flags, int $facility): true {} + #ifdef HAVE_STRPTIME + /** + * @return array|false + * @deprecated + * @refcount 1 + */ + function strptime(string $timestamp, string $format): array|false {} + #endif -function closelog(): true {} + /* dns.c */ -function syslog(int $priority, string $message): true {} // TODO make return type void -#endif + #ifdef HAVE_GETHOSTNAME + /** @refcount 1 */ + function gethostname(): string|false {} + #endif -#ifdef HAVE_INET_NTOP -/** @refcount 1 */ -function inet_ntop(string $ip): string|false {} -#endif + /** @refcount 1 */ + function gethostbyaddr(string $ip): string|false {} -#ifdef HAVE_INET_PTON -/** @refcount 1 */ -function inet_pton(string $ip): string|false {} -#endif + /** @refcount 1 */ + function gethostbyname(string $hostname): string {} -/* metaphone.c */ + /** + * @return array|false + * @refcount 1 + */ + function gethostbynamel(string $hostname): array|false {} -/** @refcount 1 */ -function metaphone(string $string, int $max_phonemes = 0): string {} + #if (defined(PHP_WIN32) || defined(HAVE_DNS_SEARCH_FUNC)) + function dns_check_record(string $hostname, string $type = "MX"): bool {} -/* {{{ head.c */ -function header(string $header, bool $replace = true, int $response_code = 0): void {} + /** @alias dns_check_record */ + function checkdnsrr(string $hostname, string $type = "MX"): bool {} -function header_remove(?string $name = null): void {} + /** + * @param array $authoritative_name_servers + * @param array $additional_records + * @return array|false + * @refcount 1 + */ + function dns_get_record(string $hostname, int $type = DNS_ANY, &$authoritative_name_servers = null, &$additional_records = null, bool $raw = false): array|false {} -function setrawcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {} + /** + * @param array $hosts + * @param array $weights + */ + function dns_get_mx(string $hostname, &$hosts, &$weights = null): bool {} -function setcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {} + /** + * @param array $hosts + * @param array $weights + * @alias dns_get_mx + */ + function getmxrr(string $hostname, &$hosts, &$weights = null): bool {} + #endif -function http_response_code(int $response_code = 0): int|bool {} + /* net.c */ -/** - * @param string $filename - * @param int $line - */ -function headers_sent(&$filename = null, &$line = null): bool {} + #if (defined(PHP_WIN32) || HAVE_GETIFADDRS || defined(__PASE__)) + function net_get_interfaces(): array|false {} + #endif -/** - * @return array - * @refcount 1 - */ -function headers_list(): array {} + /* ftok.c */ -/* {{{ html.c */ + #ifdef HAVE_FTOK + function ftok(string $filename, string $project_id): int {} + #endif -/** @refcount 1 */ -function htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {} + /* hrtime.c */ -function htmlspecialchars_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string {} + function hrtime(bool $as_number = false): array|int|float|false {} -function html_entity_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string {} + /* md5.c */ -/** @refcount 1 */ -function htmlentities(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {} + /** @refcount 1 */ + function md5(string $string, bool $binary = false): string {} -/** - * @return array - * @refcount 1 - */ -function get_html_translation_table(int $table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): array {} + /** @refcount 1 */ + function md5_file(string $filename, bool $binary = false): string|false {} -/* }}} */ + /* pageinfo.c */ -/* assert.c */ + function getmyuid(): int|false {} -function assert(mixed $assertion, Throwable|string|null $description = null): bool {} + function getmygid(): int|false {} -/** @deprecated */ -function assert_options(int $option, mixed $value = UNKNOWN): mixed {} + function getmypid(): int|false {} -/* string.c */ + function getmyinode(): int|false {} -/** - * @compile-time-eval - * @refcount 1 - */ -function bin2hex(string $string): string {} + function getlastmod(): int|false {} -/** - * @compile-time-eval - * @refcount 1 - */ -function hex2bin(string $string): string|false {} + /* sha1.c */ -/** - * @compile-time-eval - */ -function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {} + /** @refcount 1 */ + function sha1(string $string, bool $binary = false): string {} -/** - * @compile-time-eval - */ -function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {} + /** @refcount 1 */ + function sha1_file(string $filename, bool $binary = false): string|false {} -#ifdef HAVE_NL_LANGINFO -/** @refcount 1 */ -function nl_langinfo(int $item): string|false {} -#endif + /* syslog.c */ -function strcoll(string $string1, string $string2): int {} + #ifdef HAVE_SYSLOG_H + function openlog(string $prefix, int $flags, int $facility): true {} -/** @compile-time-eval */ -function trim(string $string, string $characters = " \n\r\t\v\0"): string {} + function closelog(): true {} -/** @compile-time-eval */ -function rtrim(string $string, string $characters = " \n\r\t\v\0"): string {} + function syslog(int $priority, string $message): true {} // TODO make return type void + #endif -/** @alias rtrim */ -function chop(string $string, string $characters = " \n\r\t\v\0"): string {} + #ifdef HAVE_INET_NTOP + /** @refcount 1 */ + function inet_ntop(string $ip): string|false {} + #endif -/** @compile-time-eval */ -function ltrim(string $string, string $characters = " \n\r\t\v\0"): string {} + #ifdef HAVE_INET_PTON + /** @refcount 1 */ + function inet_pton(string $ip): string|false {} + #endif -/** - * @compile-time-eval - * @refcount 1 - */ -function wordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false): string {} + /* metaphone.c */ -/** - * @return array - * @compile-time-eval - * @refcount 1 - */ -function explode(string $separator, string $string, int $limit = PHP_INT_MAX): array {} + /** @refcount 1 */ + function metaphone(string $string, int $max_phonemes = 0): string {} -/** - * @compile-time-eval - */ -function implode(string|array $separator, ?array $array = null): string {} + /* {{{ head.c */ + function header(string $header, bool $replace = true, int $response_code = 0): void {} -/** @alias implode */ -function join(string|array $separator, ?array $array = null): string {} + function header_remove(?string $name = null): void {} -/** - * @compile-time-eval - * @refcount 1 - */ -function strtok(string $string, ?string $token = null): string|false {} + function setrawcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {} -/** @compile-time-eval */ -function strtoupper(string $string): string {} + function setcookie(string $name, string $value = "", array|int $expires_or_options = 0, string $path = "", string $domain = "", bool $secure = false, bool $httponly = false): bool {} -/** @compile-time-eval */ -function strtolower(string $string): string {} + function http_response_code(int $response_code = 0): int|bool {} -function str_increment(string $string): string {} + /** + * @param string $filename + * @param int $line + */ + function headers_sent(&$filename = null, &$line = null): bool {} -function str_decrement(string $string): string {} + /** + * @return array + * @refcount 1 + */ + function headers_list(): array {} -/** @refcount 1 */ -function basename(string $path, string $suffix = ""): string {} + /* {{{ html.c */ -/** @refcount 1 */ -function dirname(string $path, int $levels = 1): string {} + /** @refcount 1 */ + function htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {} -/** - * @return array|string - * @refcount 1 - */ -function pathinfo(string $path, int $flags = PATHINFO_ALL): array|string {} + function htmlspecialchars_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string {} -/** - * @compile-time-eval - * @refcount 1 - */ -function stristr(string $haystack, string $needle, bool $before_needle = false): string|false {} + function html_entity_decode(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null): string {} -/** - * @compile-time-eval - * @refcount 1 - */ -function strstr(string $haystack, string $needle, bool $before_needle = false): string|false {} - -/** @alias strstr */ -function strchr(string $haystack, string $needle, bool $before_needle = false): string|false {} + /** @refcount 1 */ + function htmlentities(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string {} -/** @compile-time-eval */ -function strpos(string $haystack, string $needle, int $offset = 0): int|false {} - -/** @compile-time-eval */ -function stripos(string $haystack, string $needle, int $offset = 0): int|false {} - -/** @compile-time-eval */ -function strrpos(string $haystack, string $needle, int $offset = 0): int|false {} - -/** @compile-time-eval */ -function strripos(string $haystack, string $needle, int $offset = 0): int|false {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function strrchr(string $haystack, string $needle, bool $before_needle = false): string|false {} - -/** @compile-time-eval */ -function str_contains(string $haystack, string $needle): bool {} - -/** @compile-time-eval */ -function str_starts_with(string $haystack, string $needle): bool {} - -/** @compile-time-eval */ -function str_ends_with(string $haystack, string $needle): bool {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string {} - -/** @compile-time-eval */ -function substr(string $string, int $offset, ?int $length = null): string {} - -/** - * @return string|array - * @compile-time-eval - */ -function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function quotemeta(string $string): string {} - -/** @compile-time-eval */ -function ord(string $character): int {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function chr(int $codepoint): string {} - -/** @compile-time-eval */ -function ucfirst(string $string): string {} - -/** @compile-time-eval */ -function lcfirst(string $string): string {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function ucwords(string $string, string $separators = " \t\r\n\f\v"): string {} - -/** - * @compile-time-eval - */ -function strtr(string $string, string|array $from, ?string $to = null): string {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function strrev(string $string): string {} - -/** @param float $percent */ -function similar_text(string $string1, string $string2, &$percent = null): int {} - -/** - * @compile-time-eval - */ -function addcslashes(string $string, string $characters): string {} - -/** - * @compile-time-eval - */ -function addslashes(string $string): string {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function stripcslashes(string $string): string {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function stripslashes(string $string): string {} - -/** - * @param int $count - * @return string|array - * @compile-time-eval - */ -function str_replace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {} - -/** - * @param int $count - * @return string|array - * @compile-time-eval - */ -function str_ireplace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {} - -/** @refcount 1 */ -function hebrev(string $string, int $max_chars_per_line = 0): string {} - -/** - * @compile-time-eval - */ -function nl2br(string $string, bool $use_xhtml = true): string {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function strip_tags(string $string, array|string|null $allowed_tags = null): string {} - -/** - * @param array|string $locales - * @param string $rest - */ -function setlocale(int $category, $locales, ...$rest): string|false {} - -/** @param array $result */ -function parse_str(string $string, &$result): void {} - -/** - * @return array - * @refcount 1 - */ -function str_getcsv(string $string, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array {} - -/** @refcount 1 */ -function str_repeat(string $string, int $times): string {} - -/** - * @return array|string - * @compile-time-eval - * @refcount 1 - */ -function count_chars(string $string, int $mode = 0): array|string {} - -function strnatcmp(string $string1, string $string2): int {} - -/** - * @return array - * @refcount 1 - */ -function localeconv(): array {} - -function strnatcasecmp(string $string1, string $string2): int {} - -/** - * @compile-time-eval - */ -function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int {} - -function str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string {} - -/** - * @return array|int|null - * @refcount 1 - */ -function sscanf(string $string, string $format, mixed &...$vars): array|int|null {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function str_rot13(string $string): string {} - -/** @refcount 1 */ -function str_shuffle(string $string): string {} - -/** - * @return array|int - * @refcount 1 - */ -function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int {} - -/** - * @return array - * @compile-time-eval - */ -function str_split(string $string, int $length = 1): array {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function strpbrk(string $string, string $characters): string|false {} - -/** - * @compile-time-eval - */ -function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int {} - -/** - * @compile-time-eval - * @refcount 1 - * @deprecated - */ -function utf8_encode(string $string): string {} - -/** - * @compile-time-eval - * @refcount 1 - * @deprecated - */ -function utf8_decode(string $string): string {} - -/* dir.c */ - -/** - * @param resource|null $context - * @return resource|false - */ -function opendir(string $directory, $context = null) {} - -/** - * @param resource|null $context - * @refcount 1 - */ -function dir(string $directory, $context = null): Directory|false {} - -/** @param resource|null $dir_handle */ -function closedir($dir_handle = null): void {} - -function chdir(string $directory): bool {} - -#if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC)) -function chroot(string $directory): bool {} -#endif + /** + * @return array + * @refcount 1 + */ + function get_html_translation_table(int $table = HTML_SPECIALCHARS, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8"): array {} -/** @refcount 1 */ -function getcwd(): string|false {} - -/** @param resource|null $dir_handle */ -function rewinddir($dir_handle = null): void {} - -/** - * @param resource|null $dir_handle - * @refcount 1 - */ -function readdir($dir_handle = null): string|false {} - -/** - * @param resource|null $context - * @return array|false - * @refcount 1 - */ -function scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, $context = null): array|false {} - -#ifdef HAVE_GLOB -/** - * @return array|false - * @refcount 1 - */ -function glob(string $pattern, int $flags = 0): array|false {} -#endif + /* }}} */ -/* exec.c */ + /* assert.c */ -/** - * @param array $output - * @param int $result_code - * @refcount 1 - */ -function exec(string $command, &$output = null, &$result_code = null): string|false {} + function assert(mixed $assertion, Throwable|string|null $description = null): bool {} -/** - * @param int $result_code - * @refcount 1 - */ -function system(string $command, &$result_code = null): string|false {} + /** @deprecated */ + function assert_options(int $option, mixed $value = UNKNOWN): mixed {} -/** @param int $result_code */ -function passthru(string $command, &$result_code = null): false|null {} + /* string.c */ -/** @refcount 1 */ -function escapeshellcmd(string $command): string {} + /** + * @compile-time-eval + * @refcount 1 + */ + function bin2hex(string $string): string {} -/** @refcount 1 */ -function escapeshellarg(string $arg): string {} + /** + * @compile-time-eval + * @refcount 1 + */ + function hex2bin(string $string): string|false {} -/** @refcount 1 */ -function shell_exec(string $command): string|false|null {} + /** + * @compile-time-eval + */ + function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {} -#ifdef HAVE_NICE -function proc_nice(int $priority): bool {} -#endif + /** + * @compile-time-eval + */ + function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {} -/* file.c */ + #ifdef HAVE_NL_LANGINFO + /** @refcount 1 */ + function nl_langinfo(int $item): string|false {} + #endif -/** - * @param resource $stream - * @param int $would_block - */ -function flock($stream, int $operation, &$would_block = null): bool {} + function strcoll(string $string1, string $string2): int {} -/** - * @return array|false - * @refcount 1 - */ -function get_meta_tags(string $filename, bool $use_include_path = false): array|false {} + /** @compile-time-eval */ + function trim(string $string, string $characters = " \n\r\t\v\0"): string {} -/** @param resource $handle */ -function pclose($handle): int {} + /** @compile-time-eval */ + function rtrim(string $string, string $characters = " \n\r\t\v\0"): string {} -/** - * @return resource|false - * @refcount 1 - */ -function popen(string $command, string $mode) {} + /** @alias rtrim */ + function chop(string $string, string $characters = " \n\r\t\v\0"): string {} -/** @param resource|null $context */ -function readfile(string $filename, bool $use_include_path = false, $context = null): int|false {} + /** @compile-time-eval */ + function ltrim(string $string, string $characters = " \n\r\t\v\0"): string {} -/** @param resource $stream */ -function rewind($stream): bool {} + /** + * @compile-time-eval + * @refcount 1 + */ + function wordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false): string {} -/** @param resource|null $context */ -function rmdir(string $directory, $context = null): bool {} + /** + * @return array + * @compile-time-eval + * @refcount 1 + */ + function explode(string $separator, string $string, int $limit = PHP_INT_MAX): array {} -function umask(?int $mask = null): int {} + /** + * @compile-time-eval + */ + function implode(string|array $separator, ?array $array = null): string {} -/** @param resource $stream */ -function fclose($stream): bool {} + /** @alias implode */ + function join(string|array $separator, ?array $array = null): string {} -/** @param resource $stream */ -function feof($stream): bool {} + /** + * @compile-time-eval + * @refcount 1 + */ + function strtok(string $string, ?string $token = null): string|false {} -/** @param resource $stream */ -function fgetc($stream): string|false {} + /** @compile-time-eval */ + function strtoupper(string $string): string {} -/** - * @param resource $stream - * @refcount 1 - */ -function fgets($stream, ?int $length = null): string|false {} + /** @compile-time-eval */ + function strtolower(string $string): string {} -/** - * @param resource $stream - * @refcount 1 - */ -function fread($stream, int $length): string|false {} - -/** - * @param resource|null $context - * @return resource|false - * @refcount 1 - */ -function fopen(string $filename, string $mode, bool $use_include_path = false, $context = null) {} + function str_increment(string $string): string {} -/** - * @param resource $stream - * @return array|int|false|null - * @refcount 1 - */ -function fscanf($stream, string $format, mixed &...$vars): array|int|false|null {} + function str_decrement(string $string): string {} -/** @param resource $stream */ -function fpassthru($stream): int {} + /** @refcount 1 */ + function basename(string $path, string $suffix = ""): string {} -/** @param resource $stream */ -function ftruncate($stream, int $size): bool {} + /** @refcount 1 */ + function dirname(string $path, int $levels = 1): string {} + + /** + * @return array|string + * @refcount 1 + */ + function pathinfo(string $path, int $flags = PATHINFO_ALL): array|string {} -/** - * @param resource $stream - * @return array|false - * @refcount 1 - */ -function fstat($stream): array|false {} + /** + * @compile-time-eval + * @refcount 1 + */ + function stristr(string $haystack, string $needle, bool $before_needle = false): string|false {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function strstr(string $haystack, string $needle, bool $before_needle = false): string|false {} + + /** @alias strstr */ + function strchr(string $haystack, string $needle, bool $before_needle = false): string|false {} + + /** @compile-time-eval */ + function strpos(string $haystack, string $needle, int $offset = 0): int|false {} + + /** @compile-time-eval */ + function stripos(string $haystack, string $needle, int $offset = 0): int|false {} + + /** @compile-time-eval */ + function strrpos(string $haystack, string $needle, int $offset = 0): int|false {} + + /** @compile-time-eval */ + function strripos(string $haystack, string $needle, int $offset = 0): int|false {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function strrchr(string $haystack, string $needle, bool $before_needle = false): string|false {} + + /** @compile-time-eval */ + function str_contains(string $haystack, string $needle): bool {} + + /** @compile-time-eval */ + function str_starts_with(string $haystack, string $needle): bool {} + + /** @compile-time-eval */ + function str_ends_with(string $haystack, string $needle): bool {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string {} + + /** @compile-time-eval */ + function substr(string $string, int $offset, ?int $length = null): string {} + + /** + * @return string|array + * @compile-time-eval + */ + function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function quotemeta(string $string): string {} + + /** @compile-time-eval */ + function ord(string $character): int {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function chr(int $codepoint): string {} + + /** @compile-time-eval */ + function ucfirst(string $string): string {} + + /** @compile-time-eval */ + function lcfirst(string $string): string {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function ucwords(string $string, string $separators = " \t\r\n\f\v"): string {} + + /** + * @compile-time-eval + */ + function strtr(string $string, string|array $from, ?string $to = null): string {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function strrev(string $string): string {} + + /** @param float $percent */ + function similar_text(string $string1, string $string2, &$percent = null): int {} + + /** + * @compile-time-eval + */ + function addcslashes(string $string, string $characters): string {} + + /** + * @compile-time-eval + */ + function addslashes(string $string): string {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function stripcslashes(string $string): string {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function stripslashes(string $string): string {} + + /** + * @param int $count + * @return string|array + * @compile-time-eval + */ + function str_replace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {} + + /** + * @param int $count + * @return string|array + * @compile-time-eval + */ + function str_ireplace(array|string $search, array|string $replace, string|array $subject, &$count = null): string|array {} + + /** @refcount 1 */ + function hebrev(string $string, int $max_chars_per_line = 0): string {} + + /** + * @compile-time-eval + */ + function nl2br(string $string, bool $use_xhtml = true): string {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function strip_tags(string $string, array|string|null $allowed_tags = null): string {} + + /** + * @param array|string $locales + * @param string $rest + */ + function setlocale(int $category, $locales, ...$rest): string|false {} + + /** @param array $result */ + function parse_str(string $string, &$result): void {} + + /** + * @return array + * @refcount 1 + */ + function str_getcsv(string $string, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array {} + + /** @refcount 1 */ + function str_repeat(string $string, int $times): string {} + + /** + * @return array|string + * @compile-time-eval + * @refcount 1 + */ + function count_chars(string $string, int $mode = 0): array|string {} + + function strnatcmp(string $string1, string $string2): int {} + + /** + * @return array + * @refcount 1 + */ + function localeconv(): array {} + + function strnatcasecmp(string $string1, string $string2): int {} + + /** + * @compile-time-eval + */ + function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int {} + + function str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string {} + + /** + * @return array|int|null + * @refcount 1 + */ + function sscanf(string $string, string $format, mixed &...$vars): array|int|null {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function str_rot13(string $string): string {} + + /** @refcount 1 */ + function str_shuffle(string $string): string {} + + /** + * @return array|int + * @refcount 1 + */ + function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int {} + + /** + * @return array + * @compile-time-eval + */ + function str_split(string $string, int $length = 1): array {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function strpbrk(string $string, string $characters): string|false {} + + /** + * @compile-time-eval + */ + function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int {} + + /** + * @compile-time-eval + * @refcount 1 + * @deprecated + */ + function utf8_encode(string $string): string {} + + /** + * @compile-time-eval + * @refcount 1 + * @deprecated + */ + function utf8_decode(string $string): string {} + + /* dir.c */ + + /** + * @param resource|null $context + * @return resource|false + */ + function opendir(string $directory, $context = null) {} + + /** + * @param resource|null $context + * @refcount 1 + */ + function dir(string $directory, $context = null): Directory|false {} + + /** @param resource|null $dir_handle */ + function closedir($dir_handle = null): void {} + + function chdir(string $directory): bool {} + + #if (defined(HAVE_CHROOT) && !defined(ZTS) && defined(ENABLE_CHROOT_FUNC)) + function chroot(string $directory): bool {} + #endif + + /** @refcount 1 */ + function getcwd(): string|false {} + + /** @param resource|null $dir_handle */ + function rewinddir($dir_handle = null): void {} + + /** + * @param resource|null $dir_handle + * @refcount 1 + */ + function readdir($dir_handle = null): string|false {} + + /** + * @param resource|null $context + * @return array|false + * @refcount 1 + */ + function scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, $context = null): array|false {} + + #ifdef HAVE_GLOB + /** + * @return array|false + * @refcount 1 + */ + function glob(string $pattern, int $flags = 0): array|false {} + #endif + + /* exec.c */ + + /** + * @param array $output + * @param int $result_code + * @refcount 1 + */ + function exec(string $command, &$output = null, &$result_code = null): string|false {} + + /** + * @param int $result_code + * @refcount 1 + */ + function system(string $command, &$result_code = null): string|false {} + + /** @param int $result_code */ + function passthru(string $command, &$result_code = null): false|null {} + + /** @refcount 1 */ + function escapeshellcmd(string $command): string {} + + /** @refcount 1 */ + function escapeshellarg(string $arg): string {} + + /** @refcount 1 */ + function shell_exec(string $command): string|false|null {} + + #ifdef HAVE_NICE + function proc_nice(int $priority): bool {} + #endif + + /* file.c */ + + /** + * @param resource $stream + * @param int $would_block + */ + function flock($stream, int $operation, &$would_block = null): bool {} + + /** + * @return array|false + * @refcount 1 + */ + function get_meta_tags(string $filename, bool $use_include_path = false): array|false {} + + /** @param resource $handle */ + function pclose($handle): int {} + + /** + * @return resource|false + * @refcount 1 + */ + function popen(string $command, string $mode) {} + + /** @param resource|null $context */ + function readfile(string $filename, bool $use_include_path = false, $context = null): int|false {} + + /** @param resource $stream */ + function rewind($stream): bool {} + + /** @param resource|null $context */ + function rmdir(string $directory, $context = null): bool {} + + function umask(?int $mask = null): int {} + + /** @param resource $stream */ + function fclose($stream): bool {} + + /** @param resource $stream */ + function feof($stream): bool {} + + /** @param resource $stream */ + function fgetc($stream): string|false {} + + /** + * @param resource $stream + * @refcount 1 + */ + function fgets($stream, ?int $length = null): string|false {} + + /** + * @param resource $stream + * @refcount 1 + */ + function fread($stream, int $length): string|false {} + + /** + * @param resource|null $context + * @return resource|false + * @refcount 1 + */ + function fopen(string $filename, string $mode, bool $use_include_path = false, $context = null) {} + + /** + * @param resource $stream + * @return array|int|false|null + * @refcount 1 + */ + function fscanf($stream, string $format, mixed &...$vars): array|int|false|null {} -/** @param resource $stream */ -function fseek($stream, int $offset, int $whence = SEEK_SET): int {} + /** @param resource $stream */ + function fpassthru($stream): int {} -/** @param resource $stream */ -function ftell($stream): int|false {} + /** @param resource $stream */ + function ftruncate($stream, int $size): bool {} -/** @param resource $stream */ -function fflush($stream): bool {} + /** + * @param resource $stream + * @return array|false + * @refcount 1 + */ + function fstat($stream): array|false {} -/** @param resource $stream */ -function fsync($stream): bool {} + /** @param resource $stream */ + function fseek($stream, int $offset, int $whence = SEEK_SET): int {} -/** @param resource $stream */ -function fdatasync($stream): bool {} + /** @param resource $stream */ + function ftell($stream): int|false {} -/** @param resource $stream */ -function fwrite($stream, string $data, ?int $length = null): int|false {} + /** @param resource $stream */ + function fflush($stream): bool {} -/** - * @param resource $stream - * @alias fwrite - */ -function fputs($stream, string $data, ?int $length = null): int|false {} - -/** @param resource|null $context */ -function mkdir(string $directory, int $permissions = 0777, bool $recursive = false, $context = null): bool {} - -/** @param resource|null $context */ -function rename(string $from, string $to, $context = null): bool {} + /** @param resource $stream */ + function fsync($stream): bool {} -/** @param resource|null $context */ -function copy(string $from, string $to, $context = null): bool {} - -/** @refcount 1 */ -function tempnam(string $directory, string $prefix): string|false {} - -/** - * @return resource|false - * @refcount 1 - */ -function tmpfile() {} + /** @param resource $stream */ + function fdatasync($stream): bool {} -/** - * @param resource|null $context - * @return array|false - * @refcount 1 - */ -function file(string $filename, int $flags = 0, $context = null): array|false {} - -/** - * @param resource|null $context - * @refcount 1 - */ -function file_get_contents(string $filename, bool $use_include_path = false, $context = null, int $offset = 0, ?int $length = null): string|false {} - -/** @param resource|null $context */ -function unlink(string $filename, $context = null): bool {} - -/** @param resource|null $context */ -function file_put_contents(string $filename, mixed $data, int $flags = 0, $context = null): int|false {} - -/** @param resource $stream */ -function fputcsv($stream, array $fields, string $separator = ",", string $enclosure = "\"", string $escape = "\\", string $eol = "\n"): int|false {} - -/** - * @param resource $stream - * @return array|false - * @refcount 1 - */ -function fgetcsv($stream, ?int $length = null, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false {} - -/** @refcount 1 */ -function realpath(string $path): string|false {} - -#ifdef HAVE_FNMATCH -function fnmatch(string $pattern, string $filename, int $flags = 0): bool {} -#endif + /** @param resource $stream */ + function fwrite($stream, string $data, ?int $length = null): int|false {} -/** @refcount 1 */ -function sys_get_temp_dir(): string {} + /** + * @param resource $stream + * @alias fwrite + */ + function fputs($stream, string $data, ?int $length = null): int|false {} -/* filestat.c */ + /** @param resource|null $context */ + function mkdir(string $directory, int $permissions = 0777, bool $recursive = false, $context = null): bool {} -function fileatime(string $filename): int|false {} + /** @param resource|null $context */ + function rename(string $from, string $to, $context = null): bool {} -function filectime(string $filename): int|false {} + /** @param resource|null $context */ + function copy(string $from, string $to, $context = null): bool {} -function filegroup(string $filename): int|false {} + /** @refcount 1 */ + function tempnam(string $directory, string $prefix): string|false {} -function fileinode(string $filename): int|false {} + /** + * @return resource|false + * @refcount 1 + */ + function tmpfile() {} -function filemtime(string $filename): int|false {} + /** + * @param resource|null $context + * @return array|false + * @refcount 1 + */ + function file(string $filename, int $flags = 0, $context = null): array|false {} -function fileowner(string $filename): int|false {} + /** + * @param resource|null $context + * @refcount 1 + */ + function file_get_contents(string $filename, bool $use_include_path = false, $context = null, int $offset = 0, ?int $length = null): string|false {} -function fileperms(string $filename): int|false {} + /** @param resource|null $context */ + function unlink(string $filename, $context = null): bool {} -function filesize(string $filename): int|false {} + /** @param resource|null $context */ + function file_put_contents(string $filename, mixed $data, int $flags = 0, $context = null): int|false {} -/** @refcount 1 */ -function filetype(string $filename): string|false {} + /** @param resource $stream */ + function fputcsv($stream, array $fields, string $separator = ",", string $enclosure = "\"", string $escape = "\\", string $eol = "\n"): int|false {} -function file_exists(string $filename): bool {} + /** + * @param resource $stream + * @return array|false + * @refcount 1 + */ + function fgetcsv($stream, ?int $length = null, string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false {} -function is_writable(string $filename): bool {} + /** @refcount 1 */ + function realpath(string $path): string|false {} -/** @alias is_writable */ -function is_writeable(string $filename): bool {} + #ifdef HAVE_FNMATCH + function fnmatch(string $pattern, string $filename, int $flags = 0): bool {} + #endif -function is_readable(string $filename): bool {} + /** @refcount 1 */ + function sys_get_temp_dir(): string {} -function is_executable(string $filename): bool {} + /* filestat.c */ -function is_file(string $filename): bool {} + function fileatime(string $filename): int|false {} -function is_dir(string $filename): bool {} + function filectime(string $filename): int|false {} -function is_link(string $filename): bool {} + function filegroup(string $filename): int|false {} -/** - * @return array|false - * @refcount 1 - */ -function stat(string $filename): array|false {} + function fileinode(string $filename): int|false {} -/** - * @return array|false - * @refcount 1 - */ -function lstat(string $filename): array|false {} + function filemtime(string $filename): int|false {} -function chown(string $filename, string|int $user): bool {} + function fileowner(string $filename): int|false {} -function chgrp(string $filename, string|int $group): bool {} + function fileperms(string $filename): int|false {} -#ifdef HAVE_LCHOWN -function lchown(string $filename, string|int $user): bool {} + function filesize(string $filename): int|false {} -function lchgrp(string $filename, string|int $group): bool {} -#endif + /** @refcount 1 */ + function filetype(string $filename): string|false {} -function chmod(string $filename, int $permissions): bool {} + function file_exists(string $filename): bool {} -#ifdef HAVE_UTIME -function touch(string $filename, ?int $mtime = null, ?int $atime = null): bool {} -#endif + function is_writable(string $filename): bool {} -function clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void {} + /** @alias is_writable */ + function is_writeable(string $filename): bool {} -function disk_total_space(string $directory): float|false {} + function is_readable(string $filename): bool {} -function disk_free_space(string $directory): float|false {} + function is_executable(string $filename): bool {} -/** @alias disk_free_space */ -function diskfreespace(string $directory): float|false {} + function is_file(string $filename): bool {} -/** - * @return array - * @refcount 1 - */ -function realpath_cache_get(): array {} + function is_dir(string $filename): bool {} -function realpath_cache_size(): int {} + function is_link(string $filename): bool {} -/* formatted_print.c */ + /** + * @return array|false + * @refcount 1 + */ + function stat(string $filename): array|false {} -/** @refcount 1 */ -function sprintf(string $format, mixed ...$values): string {} + /** + * @return array|false + * @refcount 1 + */ + function lstat(string $filename): array|false {} -function printf(string $format, mixed ...$values): int {} + function chown(string $filename, string|int $user): bool {} -function vprintf(string $format, array $values): int {} + function chgrp(string $filename, string|int $group): bool {} -/** @refcount 1 */ -function vsprintf(string $format, array $values): string {} + #ifdef HAVE_LCHOWN + function lchown(string $filename, string|int $user): bool {} -/** @param resource $stream */ -function fprintf($stream, string $format, mixed ...$values): int {} + function lchgrp(string $filename, string|int $group): bool {} + #endif -/** @param resource $stream */ -function vfprintf($stream, string $format, array $values): int {} + function chmod(string $filename, int $permissions): bool {} -/* fsock.c */ + #ifdef HAVE_UTIME + function touch(string $filename, ?int $mtime = null, ?int $atime = null): bool {} + #endif -/** - * @param int $error_code - * @param string $error_message - * @return resource|false - * @refcount 1 - */ -function fsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {} + function clearstatcache(bool $clear_realpath_cache = false, string $filename = ""): void {} -/** - * @param int $error_code - * @param string $error_message - * @return resource|false - */ -function pfsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {} + function disk_total_space(string $directory): float|false {} -/* http.c */ + function disk_free_space(string $directory): float|false {} -/** @refcount 1 */ -function http_build_query(array|object $data, string $numeric_prefix = "", ?string $arg_separator = null, int $encoding_type = PHP_QUERY_RFC1738): string {} + /** @alias disk_free_space */ + function diskfreespace(string $directory): float|false {} -/* image.c */ + /** + * @return array + * @refcount 1 + */ + function realpath_cache_get(): array {} -/** - * @compile-time-eval - * @refcount 1 - */ -function image_type_to_mime_type(int $image_type): string {} + function realpath_cache_size(): int {} -/** - * @compile-time-eval - * @refcount 1 - */ -function image_type_to_extension(int $image_type, bool $include_dot = true): string|false {} + /* formatted_print.c */ -/** - * @param array $image_info - * @return array|false - * @refcount 1 - */ -function getimagesize(string $filename, &$image_info = null): array|false {} + /** @refcount 1 */ + function sprintf(string $format, mixed ...$values): string {} -/** - * @param array $image_info - * @return array|false - * @refcount 1 - */ -function getimagesizefromstring(string $string, &$image_info = null): array|false {} + function printf(string $format, mixed ...$values): int {} -/* info.c */ + function vprintf(string $format, array $values): int {} -function phpinfo(int $flags = INFO_ALL): true {} // make return type void + /** @refcount 1 */ + function vsprintf(string $format, array $values): string {} -/** - * @compile-time-eval - * @refcount 1 - */ -function phpversion(?string $extension = null): string|false {} + /** @param resource $stream */ + function fprintf($stream, string $format, mixed ...$values): int {} -function phpcredits(int $flags = CREDITS_ALL): true {} + /** @param resource $stream */ + function vfprintf($stream, string $format, array $values): int {} -/** - * @compile-time-eval - * @refcount 1 - */ -function php_sapi_name(): string|false {} + /* fsock.c */ -/** - * @compile-time-eval - * @refcount 1 - */ -function php_uname(string $mode = "a"): string {} + /** + * @param int $error_code + * @param string $error_message + * @return resource|false + * @refcount 1 + */ + function fsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {} -/** @refcount 1 */ -function php_ini_scanned_files(): string|false {} + /** + * @param int $error_code + * @param string $error_message + * @return resource|false + */ + function pfsockopen(string $hostname, int $port = -1, &$error_code = null, &$error_message = null, ?float $timeout = null) {} -/** @refcount 1 */ -function php_ini_loaded_file(): string|false {} + /* http.c */ -/* iptc.c */ + /** @refcount 1 */ + function http_build_query(array|object $data, string $numeric_prefix = "", ?string $arg_separator = null, int $encoding_type = PHP_QUERY_RFC1738): string {} -/** @refcount 1 */ -function iptcembed(string $iptc_data, string $filename, int $spool = 0): string|bool {} + /* image.c */ -/** - * @return array|false - * @refcount 1 - */ -function iptcparse(string $iptc_block): array|false {} + /** + * @compile-time-eval + * @refcount 1 + */ + function image_type_to_mime_type(int $image_type): string {} -/* levenshtein.c */ + /** + * @compile-time-eval + * @refcount 1 + */ + function image_type_to_extension(int $image_type, bool $include_dot = true): string|false {} -function levenshtein(string $string1, string $string2, int $insertion_cost = 1, int $replacement_cost = 1, int $deletion_cost = 1): int {} + /** + * @param array $image_info + * @return array|false + * @refcount 1 + */ + function getimagesize(string $filename, &$image_info = null): array|false {} -/* link.c */ + /** + * @param array $image_info + * @return array|false + * @refcount 1 + */ + function getimagesizefromstring(string $string, &$image_info = null): array|false {} -#if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) -/** @refcount 1 */ -function readlink(string $path): string|false {} + /* info.c */ -function linkinfo(string $path): int|false {} + function phpinfo(int $flags = INFO_ALL): true {} // make return type void -function symlink(string $target, string $link): bool {} + /** + * @compile-time-eval + * @refcount 1 + */ + function phpversion(?string $extension = null): string|false {} -function link(string $target, string $link): bool {} -#endif + function phpcredits(int $flags = CREDITS_ALL): true {} -/* mail.c */ + /** + * @compile-time-eval + * @refcount 1 + */ + function php_sapi_name(): string|false {} -function mail(string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool {} + /** + * @compile-time-eval + * @refcount 1 + */ + function php_uname(string $mode = "a"): string {} -/* math.c */ + /** @refcount 1 */ + function php_ini_scanned_files(): string|false {} -/** @compile-time-eval */ -function abs(int|float $num): int|float {} + /** @refcount 1 */ + function php_ini_loaded_file(): string|false {} -/** @compile-time-eval */ -function ceil(int|float $num): float {} + /* iptc.c */ -/** @compile-time-eval */ -function floor(int|float $num): float {} + /** @refcount 1 */ + function iptcembed(string $iptc_data, string $filename, int $spool = 0): string|bool {} -/** @compile-time-eval */ -function round(int|float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float {} + /** + * @return array|false + * @refcount 1 + */ + function iptcparse(string $iptc_block): array|false {} -/** @compile-time-eval */ -function sin(float $num): float {} + /* levenshtein.c */ -/** @compile-time-eval */ -function cos(float $num): float {} + function levenshtein(string $string1, string $string2, int $insertion_cost = 1, int $replacement_cost = 1, int $deletion_cost = 1): int {} -/** @compile-time-eval */ -function tan(float $num): float {} + /* link.c */ -/** @compile-time-eval */ -function asin(float $num): float {} + #if (defined(HAVE_SYMLINK) || defined(PHP_WIN32)) + /** @refcount 1 */ + function readlink(string $path): string|false {} -/** @compile-time-eval */ -function acos(float $num): float {} + function linkinfo(string $path): int|false {} -/** @compile-time-eval */ -function atan(float $num): float {} + function symlink(string $target, string $link): bool {} -/** @compile-time-eval */ -function atanh(float $num): float {} + function link(string $target, string $link): bool {} + #endif -/** @compile-time-eval */ -function atan2(float $y, float $x): float {} + /* mail.c */ -/** @compile-time-eval */ -function sinh(float $num): float {} + function mail(string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool {} -/** @compile-time-eval */ -function cosh(float $num): float {} + /* math.c */ -/** @compile-time-eval */ -function tanh(float $num): float {} + /** @compile-time-eval */ + function abs(int|float $num): int|float {} -/** @compile-time-eval */ -function asinh(float $num): float {} + /** @compile-time-eval */ + function ceil(int|float $num): float {} -/** @compile-time-eval */ -function acosh(float $num): float {} + /** @compile-time-eval */ + function floor(int|float $num): float {} -/** @compile-time-eval */ -function expm1(float $num): float {} + /** @compile-time-eval */ + function round(int|float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float {} -/** @compile-time-eval */ -function log1p(float $num): float {} + /** @compile-time-eval */ + function sin(float $num): float {} -/** @compile-time-eval */ -function pi(): float {} + /** @compile-time-eval */ + function cos(float $num): float {} -/** @compile-time-eval */ -function is_finite(float $num): bool {} + /** @compile-time-eval */ + function tan(float $num): float {} -/** @compile-time-eval */ -function is_nan(float $num): bool {} + /** @compile-time-eval */ + function asin(float $num): float {} -/** @compile-time-eval */ -function intdiv(int $num1, int $num2): int {} + /** @compile-time-eval */ + function acos(float $num): float {} -/** @compile-time-eval */ -function is_infinite(float $num): bool {} + /** @compile-time-eval */ + function atan(float $num): float {} -/** @compile-time-eval */ -function pow(mixed $num, mixed $exponent): int|float|object {} + /** @compile-time-eval */ + function atanh(float $num): float {} -/** @compile-time-eval */ -function exp(float $num): float {} + /** @compile-time-eval */ + function atan2(float $y, float $x): float {} -/** @compile-time-eval */ -function log(float $num, float $base = M_E): float {} + /** @compile-time-eval */ + function sinh(float $num): float {} -/** @compile-time-eval */ -function log10(float $num): float {} + /** @compile-time-eval */ + function cosh(float $num): float {} -/** @compile-time-eval */ -function sqrt(float $num): float {} + /** @compile-time-eval */ + function tanh(float $num): float {} -/** @compile-time-eval */ -function hypot(float $x, float $y): float {} + /** @compile-time-eval */ + function asinh(float $num): float {} -/** @compile-time-eval */ -function deg2rad(float $num): float {} + /** @compile-time-eval */ + function acosh(float $num): float {} -/** @compile-time-eval */ -function rad2deg(float $num): float {} + /** @compile-time-eval */ + function expm1(float $num): float {} -/** @compile-time-eval */ -function bindec(string $binary_string): int|float {} + /** @compile-time-eval */ + function log1p(float $num): float {} -/** @compile-time-eval */ -function hexdec(string $hex_string): int|float {} + /** @compile-time-eval */ + function pi(): float {} -/** @compile-time-eval */ -function octdec(string $octal_string): int|float {} + /** @compile-time-eval */ + function is_finite(float $num): bool {} -/** - * @compile-time-eval - * @refcount 1 - */ -function decbin(int $num): string {} + /** @compile-time-eval */ + function is_nan(float $num): bool {} -/** - * @compile-time-eval - * @refcount 1 - */ -function decoct(int $num): string {} + /** @compile-time-eval */ + function intdiv(int $num1, int $num2): int {} -/** - * @compile-time-eval - * @refcount 1 - */ -function dechex(int $num): string {} + /** @compile-time-eval */ + function is_infinite(float $num): bool {} -/** - * @compile-time-eval - * @refcount 1 - */ -function base_convert(string $num, int $from_base, int $to_base): string {} + /** @compile-time-eval */ + function pow(mixed $num, mixed $exponent): int|float|object {} -/** - * @compile-time-eval - * @refcount 1 - */ -function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string {} + /** @compile-time-eval */ + function exp(float $num): float {} -/** - * @compile-time-eval - */ -function fmod(float $num1, float $num2): float {} + /** @compile-time-eval */ + function log(float $num, float $base = M_E): float {} -/** - * @compile-time-eval - */ -function fdiv(float $num1, float $num2): float {} + /** @compile-time-eval */ + function log10(float $num): float {} -/* microtime.c */ + /** @compile-time-eval */ + function sqrt(float $num): float {} -#ifdef HAVE_GETTIMEOFDAY -/** @refcount 1 */ -function microtime(bool $as_float = false): string|float {} + /** @compile-time-eval */ + function hypot(float $x, float $y): float {} -/** - * @return array|float - * @refcount 1 - */ -function gettimeofday(bool $as_float = false): array|float {} -#endif + /** @compile-time-eval */ + function deg2rad(float $num): float {} -#ifdef HAVE_GETRUSAGE -/** - * @return array|false - * @refcount 1 - */ -function getrusage(int $mode = 0): array|false {} -#endif + /** @compile-time-eval */ + function rad2deg(float $num): float {} -/* pack.c */ + /** @compile-time-eval */ + function bindec(string $binary_string): int|float {} -/** - * @compile-time-eval - * @refcount 1 - */ -function pack(string $format, mixed ...$values): string {} + /** @compile-time-eval */ + function hexdec(string $hex_string): int|float {} -/** - * @return array|false - * @compile-time-eval - * @refcount 1 - */ -function unpack(string $format, string $string, int $offset = 0): array|false {} + /** @compile-time-eval */ + function octdec(string $octal_string): int|float {} -/* password.c */ + /** + * @compile-time-eval + * @refcount 1 + */ + function decbin(int $num): string {} -/** - * @return array - * @refcount 1 - */ -function password_get_info(string $hash): array {} + /** + * @compile-time-eval + * @refcount 1 + */ + function decoct(int $num): string {} -/** - * @refcount 1 - */ -function password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string {} + /** + * @compile-time-eval + * @refcount 1 + */ + function dechex(int $num): string {} -function password_needs_rehash(string $hash, string|int|null $algo, array $options = []): bool {} + /** + * @compile-time-eval + * @refcount 1 + */ + function base_convert(string $num, int $from_base, int $to_base): string {} -function password_verify(#[\SensitiveParameter] string $password, string $hash): bool {} + /** + * @compile-time-eval + * @refcount 1 + */ + function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string {} -/** - * @compile-time-eval - */ -function password_algos(): array {} + /** + * @compile-time-eval + */ + function fmod(float $num1, float $num2): float {} -/* proc_open.c */ + /** + * @compile-time-eval + */ + function fdiv(float $num1, float $num2): float {} -#ifdef PHP_CAN_SUPPORT_PROC_OPEN -/** - * @param array $pipes - * @refcount 1 - */ -function proc_open(array|string $command, array $descriptor_spec, &$pipes, ?string $cwd = null, ?array $env_vars = null, ?array $options = null): Process|false {} + /* microtime.c */ -function proc_close(Process $process): int {} + #ifdef HAVE_GETTIMEOFDAY + /** @refcount 1 */ + function microtime(bool $as_float = false): string|float {} -function proc_terminate(Process $process, int $signal = 15): bool {} + /** + * @return array|float + * @refcount 1 + */ + function gettimeofday(bool $as_float = false): array|float {} + #endif -/** - * @return array - * @refcount 1 - */ -function proc_get_status(Process $process): array {} -#endif + #ifdef HAVE_GETRUSAGE + /** + * @return array|false + * @refcount 1 + */ + function getrusage(int $mode = 0): array|false {} + #endif -/* quot_print.c */ - -/** - * @compile-time-eval - * @refcount 1 - */ -function quoted_printable_decode(string $string): string {} - -/** - * @compile-time-eval - * @refcount 1 - */ -function quoted_printable_encode(string $string): string {} - -/* soundex.c */ - -/** @refcount 1 */ -function soundex(string $string): string {} - -/* streamsfuncs.c */ - -function stream_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, ?int $microseconds = null): int|false {} - -/** - * @return resource - * @refcount 1 - */ -function stream_context_create(?array $options = null, ?array $params = null) {} - -/** @param resource $context */ -function stream_context_set_params($context, array $params): bool {} - -/** - * @param resource $context - * @return array - * @refcount 1 - */ -function stream_context_get_params($context): array {} - -/** @param resource $context */ -function stream_context_set_option($context, array|string $wrapper_or_options, ?string $option_name = null, mixed $value = UNKNOWN): bool {} - -/** @param resource $context */ -function stream_context_set_options($context, array $options): bool {} - -/** - * @param resource $stream_or_context - * @return array - */ -function stream_context_get_options($stream_or_context): array {} - -/** @return resource */ -function stream_context_get_default(?array $options = null) {} - -/** @return resource */ -function stream_context_set_default(array $options) {} - -/** - * @param resource $stream - * @return resource|false - */ -function stream_filter_prepend($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {} - -/** - * @param resource $stream - * @return resource|false - */ -function stream_filter_append($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {} - -/** @param resource $stream_filter */ -function stream_filter_remove($stream_filter): bool {} - -/** - * @param int $error_code - * @param string $error_message - * @param resource|null $context - * @return resource|false - * @refcount 1 - */ -function stream_socket_client(string $address, &$error_code = null, &$error_message = null, ?float $timeout = null, int $flags = STREAM_CLIENT_CONNECT, $context = null) {} - -/** - * @param int $error_code - * @param string $error_message - * @param resource|null $context - * @return resource|false - * @refcount 1 - */ -function stream_socket_server(string $address, &$error_code = null, &$error_message = null, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context = null) {} - -/** - * @param resource $socket - * @param string $peer_name - * @return resource|false - * @refcount 1 - */ -function stream_socket_accept($socket, ?float $timeout = null, &$peer_name = null) {} - -/** @param resource $socket */ -function stream_socket_get_name($socket, bool $remote): string|false {} - -/** - * @param resource $socket - * @param string|null $address - * @refcount 1 - */ -function stream_socket_recvfrom($socket, int $length, int $flags = 0, &$address = null): string|false {} - -/** @param resource $socket */ -function stream_socket_sendto($socket, string $data, int $flags = 0, string $address = ""): int|false {} - -/** - * @param resource $stream - * @param resource|null $session_stream - */ -function stream_socket_enable_crypto($stream, bool $enable, ?int $crypto_method = null, $session_stream = null): int|bool {} - -#ifdef HAVE_SHUTDOWN -/** @param resource $stream */ -function stream_socket_shutdown($stream, int $mode): bool {} -#endif - -#ifdef HAVE_SOCKETPAIR -/** - * @return array|false - * @refcount 1 - */ -function stream_socket_pair(int $domain, int $type, int $protocol): array|false {} -#endif - -/** - * @param resource $from - * @param resource $to - */ -function stream_copy_to_stream($from, $to, ?int $length = null, int $offset = 0): int|false {} - -/** - * @param resource $stream - * @refcount 1 - */ -function stream_get_contents($stream, ?int $length = null, int $offset = -1): string|false {} - -/** @param resource $stream */ -function stream_supports_lock($stream): bool {} - -/** @param resource $stream */ -function stream_set_write_buffer($stream, int $size): int {} - -/** - * @param resource $stream - * @alias stream_set_write_buffer - */ -function set_file_buffer($stream, int $size): int {} - -/** @param resource $stream */ -function stream_set_read_buffer($stream, int $size): int {} - -/** @param resource $stream */ -function stream_set_blocking($stream, bool $enable): bool {} - -/** - * @param resource $stream - * @alias stream_set_blocking - */ -function socket_set_blocking($stream, bool $enable): bool {} - -/** - * @param resource $stream - * @return array - */ -function stream_get_meta_data($stream): array {} - -/** - * @param resource $stream - * @return array - * @alias stream_get_meta_data - */ -function socket_get_status($stream): array {} - -/** - * @param resource $stream - * @refcount 1 - */ -function stream_get_line($stream, int $length, string $ending = ""): string|false {} - -/** @refcount 1 */ -function stream_resolve_include_path(string $filename): string|false {} - -/** - * @return array - * @refcount 1 - */ -function stream_get_wrappers(): array {} - -/** - * @return array - * @refcount 1 - */ -function stream_get_transports(): array {} - -/** @param resource|string $stream */ -function stream_is_local($stream): bool {} - -/** @param resource $stream */ -function stream_isatty($stream): bool {} - -#ifdef PHP_WIN32 -/** @param resource $stream */ -function sapi_windows_vt100_support($stream, ?bool $enable = null): bool {} -#endif - -/** @param resource $stream */ -function stream_set_chunk_size($stream, int $size): int {} + /* pack.c */ -#if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32)) -/** @param resource $stream */ -function stream_set_timeout($stream, int $seconds, int $microseconds = 0): bool {} + /** + * @compile-time-eval + * @refcount 1 + */ + function pack(string $format, mixed ...$values): string {} + + /** + * @return array|false + * @compile-time-eval + * @refcount 1 + */ + function unpack(string $format, string $string, int $offset = 0): array|false {} + + /* password.c */ + + /** + * @return array + * @refcount 1 + */ + function password_get_info(string $hash): array {} + + /** + * @refcount 1 + */ + function password_hash(#[\SensitiveParameter] string $password, string|int|null $algo, array $options = []): string {} + + function password_needs_rehash(string $hash, string|int|null $algo, array $options = []): bool {} + + function password_verify(#[\SensitiveParameter] string $password, string $hash): bool {} + + /** + * @compile-time-eval + */ + function password_algos(): array {} + + /* proc_open.c */ + + #ifdef PHP_CAN_SUPPORT_PROC_OPEN + /** + * @param array $pipes + * @refcount 1 + */ + function proc_open(array|string $command, array $descriptor_spec, &$pipes, ?string $cwd = null, ?array $env_vars = null, ?array $options = null): Standard\Process|false {} + + function proc_close(Standard\Process $process): int {} + + function proc_terminate(Standard\Process $process, int $signal = 15): bool {} + + /** + * @return array + * @refcount 1 + */ + function proc_get_status(Standard\Process $process): array {} + #endif + + /* quot_print.c */ + + /** + * @compile-time-eval + * @refcount 1 + */ + function quoted_printable_decode(string $string): string {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function quoted_printable_encode(string $string): string {} + + /* soundex.c */ + + /** @refcount 1 */ + function soundex(string $string): string {} + + /* streamsfuncs.c */ + + function stream_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, ?int $microseconds = null): int|false {} + + /** + * @return resource + * @refcount 1 + */ + function stream_context_create(?array $options = null, ?array $params = null) {} + + /** @param resource $context */ + function stream_context_set_params($context, array $params): bool {} + + /** + * @param resource $context + * @return array + * @refcount 1 + */ + function stream_context_get_params($context): array {} + + /** @param resource $context */ + function stream_context_set_option($context, array|string $wrapper_or_options, ?string $option_name = null, mixed $value = UNKNOWN): bool {} + + /** @param resource $context */ + function stream_context_set_options($context, array $options): bool {} + + /** + * @param resource $stream_or_context + * @return array + */ + function stream_context_get_options($stream_or_context): array {} + + /** @return resource */ + function stream_context_get_default(?array $options = null) {} + + /** @return resource */ + function stream_context_set_default(array $options) {} + + /** + * @param resource $stream + * @return resource|false + */ + function stream_filter_prepend($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {} + + /** + * @param resource $stream + * @return resource|false + */ + function stream_filter_append($stream, string $filter_name, int $mode = 0, mixed $params = UNKNOWN) {} + + /** @param resource $stream_filter */ + function stream_filter_remove($stream_filter): bool {} + + /** + * @param int $error_code + * @param string $error_message + * @param resource|null $context + * @return resource|false + * @refcount 1 + */ + function stream_socket_client(string $address, &$error_code = null, &$error_message = null, ?float $timeout = null, int $flags = STREAM_CLIENT_CONNECT, $context = null) {} + + /** + * @param int $error_code + * @param string $error_message + * @param resource|null $context + * @return resource|false + * @refcount 1 + */ + function stream_socket_server(string $address, &$error_code = null, &$error_message = null, int $flags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN, $context = null) {} + + /** + * @param resource $socket + * @param string $peer_name + * @return resource|false + * @refcount 1 + */ + function stream_socket_accept($socket, ?float $timeout = null, &$peer_name = null) {} + + /** @param resource $socket */ + function stream_socket_get_name($socket, bool $remote): string|false {} + + /** + * @param resource $socket + * @param string|null $address + * @refcount 1 + */ + function stream_socket_recvfrom($socket, int $length, int $flags = 0, &$address = null): string|false {} + + /** @param resource $socket */ + function stream_socket_sendto($socket, string $data, int $flags = 0, string $address = ""): int|false {} + + /** + * @param resource $stream + * @param resource|null $session_stream + */ + function stream_socket_enable_crypto($stream, bool $enable, ?int $crypto_method = null, $session_stream = null): int|bool {} + + #ifdef HAVE_SHUTDOWN + /** @param resource $stream */ + function stream_socket_shutdown($stream, int $mode): bool {} + #endif + + #ifdef HAVE_SOCKETPAIR + /** + * @return array|false + * @refcount 1 + */ + function stream_socket_pair(int $domain, int $type, int $protocol): array|false {} + #endif + + /** + * @param resource $from + * @param resource $to + */ + function stream_copy_to_stream($from, $to, ?int $length = null, int $offset = 0): int|false {} + + /** + * @param resource $stream + * @refcount 1 + */ + function stream_get_contents($stream, ?int $length = null, int $offset = -1): string|false {} + + /** @param resource $stream */ + function stream_supports_lock($stream): bool {} + + /** @param resource $stream */ + function stream_set_write_buffer($stream, int $size): int {} + + /** + * @param resource $stream + * @alias stream_set_write_buffer + */ + function set_file_buffer($stream, int $size): int {} + + /** @param resource $stream */ + function stream_set_read_buffer($stream, int $size): int {} + + /** @param resource $stream */ + function stream_set_blocking($stream, bool $enable): bool {} + + /** + * @param resource $stream + * @alias stream_set_blocking + */ + function socket_set_blocking($stream, bool $enable): bool {} + + /** + * @param resource $stream + * @return array + */ + function stream_get_meta_data($stream): array {} + + /** + * @param resource $stream + * @return array + * @alias stream_get_meta_data + */ + function socket_get_status($stream): array {} + + /** + * @param resource $stream + * @refcount 1 + */ + function stream_get_line($stream, int $length, string $ending = ""): string|false {} + + /** @refcount 1 */ + function stream_resolve_include_path(string $filename): string|false {} + + /** + * @return array + * @refcount 1 + */ + function stream_get_wrappers(): array {} + + /** + * @return array + * @refcount 1 + */ + function stream_get_transports(): array {} + + /** @param resource|string $stream */ + function stream_is_local($stream): bool {} + + /** @param resource $stream */ + function stream_isatty($stream): bool {} + + #ifdef PHP_WIN32 + /** @param resource $stream */ + function sapi_windows_vt100_support($stream, ?bool $enable = null): bool {} + #endif + + /** @param resource $stream */ + function stream_set_chunk_size($stream, int $size): int {} + + #if (defined(HAVE_SYS_TIME_H) || defined(PHP_WIN32)) + /** @param resource $stream */ + function stream_set_timeout($stream, int $seconds, int $microseconds = 0): bool {} + + /** + * @param resource $stream + * @alias stream_set_timeout + */ + function socket_set_timeout($stream, int $seconds, int $microseconds = 0): bool {} + #endif + + /* type.c */ + + /** + * @compile-time-eval + */ + function gettype(mixed $value): string {} + + /** + * @compile-time-eval + */ + function get_debug_type(mixed $value): string {} + + function settype(mixed &$var, string $type): bool {} + + /** + * @compile-time-eval + */ + function intval(mixed $value, int $base = 10): int {} + + /** + * @compile-time-eval + */ + function floatval(mixed $value): float {} + + /** @alias floatval */ + function doubleval(mixed $value): float {} + + /** + * @compile-time-eval + */ + function boolval(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function strval(mixed $value): string {} + + /** + * @compile-time-eval + */ + function is_null(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_resource(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_bool(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_int(mixed $value): bool {} + + /** @alias is_int */ + function is_integer(mixed $value): bool {} + + /** @alias is_int */ + function is_long(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_float(mixed $value): bool {} + + /** @alias is_float */ + function is_double(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_numeric(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_string(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_array(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_object(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_scalar(mixed $value): bool {} + + /** @param string $callable_name */ + function is_callable(mixed $value, bool $syntax_only = false, &$callable_name = null): bool {} + + /** + * @compile-time-eval + */ + function is_iterable(mixed $value): bool {} + + /** + * @compile-time-eval + */ + function is_countable(mixed $value): bool {} + + /* uniqid.c */ + + #ifdef HAVE_GETTIMEOFDAY + /** @refcount 1 */ + function uniqid(string $prefix = "", bool $more_entropy = false): string {} + #endif + + /* url.c */ + + /** + * @return int|string|array|null|false + * @compile-time-eval + * @refcount 1 + */ + function parse_url(string $url, int $component = -1): int|string|array|null|false {} + + /** + * @compile-time-eval + * @refcount 1 + */ + function urlencode(string $string): string {} -/** - * @param resource $stream - * @alias stream_set_timeout - */ -function socket_set_timeout($stream, int $seconds, int $microseconds = 0): bool {} -#endif + /** + * @compile-time-eval + * @refcount 1 + */ + function urldecode(string $string): string {} -/* type.c */ - -/** - * @compile-time-eval - */ -function gettype(mixed $value): string {} - -/** - * @compile-time-eval - */ -function get_debug_type(mixed $value): string {} - -function settype(mixed &$var, string $type): bool {} - -/** - * @compile-time-eval - */ -function intval(mixed $value, int $base = 10): int {} - -/** - * @compile-time-eval - */ -function floatval(mixed $value): float {} - -/** @alias floatval */ -function doubleval(mixed $value): float {} - -/** - * @compile-time-eval - */ -function boolval(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function strval(mixed $value): string {} - -/** - * @compile-time-eval - */ -function is_null(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_resource(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_bool(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_int(mixed $value): bool {} - -/** @alias is_int */ -function is_integer(mixed $value): bool {} - -/** @alias is_int */ -function is_long(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_float(mixed $value): bool {} - -/** @alias is_float */ -function is_double(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_numeric(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_string(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_array(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_object(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_scalar(mixed $value): bool {} - -/** @param string $callable_name */ -function is_callable(mixed $value, bool $syntax_only = false, &$callable_name = null): bool {} - -/** - * @compile-time-eval - */ -function is_iterable(mixed $value): bool {} - -/** - * @compile-time-eval - */ -function is_countable(mixed $value): bool {} - -/* uniqid.c */ - -#ifdef HAVE_GETTIMEOFDAY -/** @refcount 1 */ -function uniqid(string $prefix = "", bool $more_entropy = false): string {} -#endif + /** + * @compile-time-eval + * @refcount 1 + */ + function rawurlencode(string $string): string {} -/* url.c */ + /** + * @compile-time-eval + * @refcount 1 + */ + function rawurldecode(string $string): string {} -/** - * @return int|string|array|null|false - * @compile-time-eval - * @refcount 1 - */ -function parse_url(string $url, int $component = -1): int|string|array|null|false {} + /** + * @param resource|null $context + * @return array|false + * @refcount 1 + */ + function get_headers(string $url, bool $associative = false, $context = null): array|false {} -/** - * @compile-time-eval - * @refcount 1 - */ -function urlencode(string $string): string {} + /* user_filters.c */ -/** - * @compile-time-eval - * @refcount 1 - */ -function urldecode(string $string): string {} + /** + * @param resource $brigade + * @refcount 1 + */ + function stream_bucket_make_writeable($brigade): ?object {} -/** - * @compile-time-eval - * @refcount 1 - */ -function rawurlencode(string $string): string {} + /** @param resource $brigade */ + function stream_bucket_prepend($brigade, object $bucket): void {} -/** - * @compile-time-eval - * @refcount 1 - */ -function rawurldecode(string $string): string {} + /** @param resource $brigade */ + function stream_bucket_append($brigade, object $bucket): void {} -/** - * @param resource|null $context - * @return array|false - * @refcount 1 - */ -function get_headers(string $url, bool $associative = false, $context = null): array|false {} + /** + * @param resource $stream + * @refcount 1 + */ + function stream_bucket_new($stream, string $buffer): object {} -/* user_filters.c */ + /** + * @return array + * @refcount 1 + */ + function stream_get_filters(): array {} -/** - * @param resource $brigade - * @refcount 1 - */ -function stream_bucket_make_writeable($brigade): ?object {} + function stream_filter_register(string $filter_name, string $class): bool {} -/** @param resource $brigade */ -function stream_bucket_prepend($brigade, object $bucket): void {} + /* uuencode.c */ -/** @param resource $brigade */ -function stream_bucket_append($brigade, object $bucket): void {} + /** + * @compile-time-eval + * @refcount 1 + */ + function convert_uuencode(string $string): string {} -/** - * @param resource $stream - * @refcount 1 - */ -function stream_bucket_new($stream, string $buffer): object {} + /** + * @compile-time-eval + * @refcount 1 + */ + function convert_uudecode(string $string): string|false {} -/** - * @return array - * @refcount 1 - */ -function stream_get_filters(): array {} + /* var.c */ -function stream_filter_register(string $filter_name, string $class): bool {} + function var_dump(mixed $value, mixed ...$values): void {} -/* uuencode.c */ + /** @refcount 1 */ + function var_export(mixed $value, bool $return = false): ?string {} -/** - * @compile-time-eval - * @refcount 1 - */ -function convert_uuencode(string $string): string {} + function debug_zval_dump(mixed $value, mixed ...$values): void {} -/** - * @compile-time-eval - * @refcount 1 - */ -function convert_uudecode(string $string): string|false {} + /** + * @compile-time-eval + * @refcount 1 + */ + function serialize(mixed $value): string {} -/* var.c */ + function unserialize(string $data, array $options = []): mixed {} -function var_dump(mixed $value, mixed ...$values): void {} + function memory_get_usage(bool $real_usage = false): int {} -/** @refcount 1 */ -function var_export(mixed $value, bool $return = false): ?string {} + function memory_get_peak_usage(bool $real_usage = false): int {} -function debug_zval_dump(mixed $value, mixed ...$values): void {} + function memory_reset_peak_usage(): void {} -/** - * @compile-time-eval - * @refcount 1 - */ -function serialize(mixed $value): string {} + /* versioning.c */ -function unserialize(string $data, array $options = []): mixed {} + /** @compile-time-eval */ + function version_compare(string $version1, string $version2, ?string $operator = null): int|bool {} -function memory_get_usage(bool $real_usage = false): int {} + /* win32/codepage.c */ -function memory_get_peak_usage(bool $real_usage = false): int {} + #ifdef PHP_WIN32 + function sapi_windows_cp_set(int $codepage): bool {} -function memory_reset_peak_usage(): void {} + function sapi_windows_cp_get(string $kind = ""): int {} -/* versioning.c */ + function sapi_windows_cp_conv(int|string $in_codepage, int|string $out_codepage, string $subject): ?string {} -/** @compile-time-eval */ -function version_compare(string $version1, string $version2, ?string $operator = null): int|bool {} + function sapi_windows_cp_is_utf8(): bool {} -/* win32/codepage.c */ + function sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool {} -#ifdef PHP_WIN32 -function sapi_windows_cp_set(int $codepage): bool {} - -function sapi_windows_cp_get(string $kind = ""): int {} - -function sapi_windows_cp_conv(int|string $in_codepage, int|string $out_codepage, string $subject): ?string {} - -function sapi_windows_cp_is_utf8(): bool {} - -function sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool {} + function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {} + #endif +} -function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {} +namespace Standard { +#ifdef PHP_CAN_SUPPORT_PROC_OPEN + /** + * @strict-properties + * @not-serializable + */ + final class Process + { + } #endif +} diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 805a0678de67a..df22dc2e7515b 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 32a49230c44c313acaafe8fe67a919e5d4f09e02 */ + * Stub hash: 9d21ade883ac2e766a6a59a3ea1493c40c13a674 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -1782,7 +1782,7 @@ ZEND_END_ARG_INFO() #define arginfo_password_algos arginfo_ob_list_handlers #if defined(PHP_CAN_SUPPORT_PROC_OPEN) -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_proc_open, 0, 3, Process, MAY_BE_FALSE) +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_proc_open, 0, 3, Standard\\Process, MAY_BE_FALSE) ZEND_ARG_TYPE_MASK(0, command, MAY_BE_ARRAY|MAY_BE_STRING, NULL) ZEND_ARG_TYPE_INFO(0, descriptor_spec, IS_ARRAY, 0) ZEND_ARG_INFO(1, pipes) @@ -1794,20 +1794,20 @@ ZEND_END_ARG_INFO() #if defined(PHP_CAN_SUPPORT_PROC_OPEN) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_proc_close, 0, 1, IS_LONG, 0) - ZEND_ARG_OBJ_INFO(0, process, Process, 0) + ZEND_ARG_OBJ_INFO(0, process, Standard\\Process, 0) ZEND_END_ARG_INFO() #endif #if defined(PHP_CAN_SUPPORT_PROC_OPEN) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_proc_terminate, 0, 1, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, process, Process, 0) + ZEND_ARG_OBJ_INFO(0, process, Standard\\Process, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, signal, IS_LONG, 0, "15") ZEND_END_ARG_INFO() #endif #if defined(PHP_CAN_SUPPORT_PROC_OPEN) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_proc_get_status, 0, 1, IS_ARRAY, 0) - ZEND_ARG_OBJ_INFO(0, process, Process, 0) + ZEND_ARG_OBJ_INFO(0, process, Standard\\Process, 0) ZEND_END_ARG_INFO() #endif @@ -3490,7 +3490,7 @@ static const zend_function_entry class_AssertionError_methods[] = { #if defined(PHP_CAN_SUPPORT_PROC_OPEN) -static const zend_function_entry class_Process_methods[] = { +static const zend_function_entry class_Standard_Process_methods[] = { ZEND_FE_END }; #endif @@ -4030,11 +4030,11 @@ static zend_class_entry *register_class_AssertionError(zend_class_entry *class_e } #if defined(PHP_CAN_SUPPORT_PROC_OPEN) -static zend_class_entry *register_class_Process(void) +static zend_class_entry *register_class_Standard_Process(void) { zend_class_entry ce, *class_entry; - INIT_CLASS_ENTRY(ce, "Process", class_Process_methods); + INIT_NS_CLASS_ENTRY(ce, "Standard", "Process", class_Standard_Process_methods); class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE; diff --git a/ext/standard/exec.h b/ext/standard/exec.h index db8c74aa86735..daacffc7d7d31 100644 --- a/ext/standard/exec.h +++ b/ext/standard/exec.h @@ -17,7 +17,6 @@ #ifndef EXEC_H #define EXEC_H -PHP_MINIT_FUNCTION(proc_open); PHP_MINIT_FUNCTION(exec); PHPAPI zend_string *php_escape_shell_cmd(const char *str); diff --git a/ext/standard/proc_open.c b/ext/standard/proc_open.c index 3caeea0784380..dc11faabababa 100644 --- a/ext/standard/proc_open.c +++ b/ext/standard/proc_open.c @@ -138,12 +138,6 @@ int openpty(int *master, int *slave, char *name, struct termios *termp, struct w zend_class_entry *process_ce; static zend_object_handlers process_object_handlers; -static inline php_process_handle *php_process_from_obj(zend_object *obj) { - return (php_process_handle *)((char *)(obj) - XtOffsetOf(php_process_handle, std)); -} - -#define Z_PROCESS_P(zv) php_process_from_obj(Z_OBJ_P(zv)) - static zend_object *php_process_create_object(zend_class_entry *class_type) { php_process_handle *intern = zend_object_alloc(sizeof(php_process_handle), class_type); @@ -268,7 +262,7 @@ static void php_process_free_obj(zend_object *object) } static zend_function *php_process_get_constructor(zend_object *object) { - zend_throw_error(NULL, "Cannot directly construct Process, use proc_open() instead"); + zend_throw_error(NULL, "Cannot directly construct Standard\\Process, use proc_open() instead"); return NULL; } @@ -371,13 +365,6 @@ static php_process_env _php_array_to_envp(zval *environment) } /* }}} */ -/* {{{ PHP_MINIT_FUNCTION(proc_open) */ -PHP_MINIT_FUNCTION(proc_open) -{ - return SUCCESS; -} -/* }}} */ - /* {{{ Kill a process opened by `proc_open` */ PHP_FUNCTION(proc_terminate) { @@ -1463,7 +1450,6 @@ PHP_FUNCTION(proc_open) } else { exit_fail: _php_free_envp(env); - zval_ptr_dtor(return_value); RETVAL_FALSE; } diff --git a/ext/standard/proc_open.h b/ext/standard/proc_open.h index 63e4f3978bc12..d65046f39bcdd 100644 --- a/ext/standard/proc_open.h +++ b/ext/standard/proc_open.h @@ -51,3 +51,9 @@ typedef struct _php_process_handle { #endif zend_object std; } php_process_handle; + +static inline php_process_handle *php_process_from_obj(zend_object *obj) { + return (php_process_handle *)((char *)(obj) - XtOffsetOf(php_process_handle, std)); +} + +#define Z_PROCESS_P(zv) php_process_from_obj(Z_OBJ_P(zv)) diff --git a/ext/standard/tests/streams/bug46024.phpt b/ext/standard/tests/streams/bug46024.phpt index 49c3ec8133de6..b44f354cf3248 100644 --- a/ext/standard/tests/streams/bug46024.phpt +++ b/ext/standard/tests/streams/bug46024.phpt @@ -45,7 +45,7 @@ if (defined('SIGKILL')) { proc_close($proc); ?> --EXPECTF-- -object(Process)#1 (0) { +object(Standard\Process)#1 (0) { } bool(true) bool(true) diff --git a/sapi/cli/tests/022.phpt b/sapi/cli/tests/022.phpt index 56f93e3004000..9d07342db8580 100644 --- a/sapi/cli/tests/022.phpt +++ b/sapi/cli/tests/022.phpt @@ -41,7 +41,7 @@ unlink($socket_file); ?> --EXPECTF-- resource(%d) of type (stream) -object(Process)#1 (0) { +object(Standard\Process)#1 (0) { } resource(%d) of type (stream) resource(%d) of type (stream)