F1("fgets", MAY_BE_FALSE | MAY_BE_STRING),
F1("fread", MAY_BE_FALSE | MAY_BE_STRING),
F1("fopen", MAY_BE_FALSE | MAY_BE_RESOURCE),
- F0("fpassthru", MAY_BE_FALSE | MAY_BE_LONG),
+ F0("fpassthru", MAY_BE_LONG),
F0("ftruncate", MAY_BE_FALSE | MAY_BE_TRUE),
F1("fstat", MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_LONG),
- F0("fseek", MAY_BE_FALSE | MAY_BE_LONG),
+ F0("fseek", MAY_BE_LONG),
F0("ftell", MAY_BE_FALSE | MAY_BE_LONG),
F0("fflush", MAY_BE_FALSE | MAY_BE_TRUE),
F0("fwrite", MAY_BE_FALSE | MAY_BE_LONG),
/* {{{ arginfo */
-/* {{{ exec.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_exec, 0, 0, 1)
- ZEND_ARG_INFO(0, command)
- ZEND_ARG_INFO(1, output) /* ARRAY_INFO(1, output, 1) */
- ZEND_ARG_INFO(1, return_value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_system, 0, 0, 1)
- ZEND_ARG_INFO(0, command)
- ZEND_ARG_INFO(1, return_value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_passthru, 0, 0, 1)
- ZEND_ARG_INFO(0, command)
- ZEND_ARG_INFO(1, return_value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_escapeshellcmd, 0)
- ZEND_ARG_INFO(0, command)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_escapeshellarg, 0)
- ZEND_ARG_INFO(0, arg)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_shell_exec, 0)
- ZEND_ARG_INFO(0, cmd)
-ZEND_END_ARG_INFO()
-
-#ifdef HAVE_NICE
-ZEND_BEGIN_ARG_INFO(arginfo_proc_nice, 0)
- ZEND_ARG_INFO(0, priority)
-ZEND_END_ARG_INFO()
-#endif
-/* }}} */
-/* {{{ file.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_flock, 0, 0, 2)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, operation)
- ZEND_ARG_INFO(1, wouldblock)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_get_meta_tags, 0, 0, 1)
- ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, use_include_path)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_file_get_contents, 0, 0, 1)
- ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, flags)
- ZEND_ARG_INFO(0, context)
- ZEND_ARG_INFO(0, offset)
- ZEND_ARG_INFO(0, maxlen)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_file_put_contents, 0, 0, 2)
- ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, data)
- ZEND_ARG_INFO(0, flags)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_file, 0, 0, 1)
- ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, flags)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_tempnam, 0)
- ZEND_ARG_INFO(0, dir)
- ZEND_ARG_INFO(0, prefix)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_tmpfile, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fopen, 0, 0, 2)
- ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, mode)
- ZEND_ARG_INFO(0, use_include_path)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_fclose, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_popen, 0)
- ZEND_ARG_INFO(0, command)
- ZEND_ARG_INFO(0, mode)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_pclose, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_feof, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fgets, 0, 0, 1)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, length)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_fgetc, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fscanf, 0, 0, 2)
- ZEND_ARG_INFO(0, stream)
- ZEND_ARG_INFO(0, format)
- ZEND_ARG_VARIADIC_INFO(1, vars)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fwrite, 0, 0, 2)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, str)
- ZEND_ARG_INFO(0, length)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_fflush, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_rewind, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_ftell, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fseek, 0, 0, 2)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, offset)
- ZEND_ARG_INFO(0, whence)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_mkdir, 0, 0, 1)
- ZEND_ARG_INFO(0, pathname)
- ZEND_ARG_INFO(0, mode)
- ZEND_ARG_INFO(0, recursive)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_rmdir, 0, 0, 1)
- ZEND_ARG_INFO(0, dirname)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_readfile, 0, 0, 1)
- ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, flags)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_umask, 0, 0, 0)
- ZEND_ARG_INFO(0, mask)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_fpassthru, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_rename, 0, 0, 2)
- ZEND_ARG_INFO(0, old_name)
- ZEND_ARG_INFO(0, new_name)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_unlink, 0, 0, 1)
- ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_ftruncate, 0)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, size)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_fstat, 0)
- ZEND_ARG_INFO(0, fp)
-ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_copy, 0, 0, 2)
- ZEND_ARG_INFO(0, source_file)
- ZEND_ARG_INFO(0, destination_file)
- ZEND_ARG_INFO(0, context)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_fread, 0)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, length)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fputcsv, 0, 0, 2)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, fields) /* ARRAY_INFO(0, fields, 1) */
- ZEND_ARG_INFO(0, delimiter)
- ZEND_ARG_INFO(0, enclosure)
- ZEND_ARG_INFO(0, escape_char)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fgetcsv, 0, 0, 1)
- ZEND_ARG_INFO(0, fp)
- ZEND_ARG_INFO(0, length)
- ZEND_ARG_INFO(0, delimiter)
- ZEND_ARG_INFO(0, enclosure)
- ZEND_ARG_INFO(0, escape)
-ZEND_END_ARG_INFO()
-
-#if HAVE_REALPATH || defined(ZTS)
-ZEND_BEGIN_ARG_INFO(arginfo_realpath, 0)
- ZEND_ARG_INFO(0, path)
-ZEND_END_ARG_INFO()
-#endif
-
-#ifdef HAVE_FNMATCH
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fnmatch, 0, 0, 2)
- ZEND_ARG_INFO(0, pattern)
- ZEND_ARG_INFO(0, filename)
- ZEND_ARG_INFO(0, flags)
-ZEND_END_ARG_INFO()
-#endif
-
-ZEND_BEGIN_ARG_INFO(arginfo_sys_get_temp_dir, 0)
-ZEND_END_ARG_INFO()
-/* }}} */
-
-/* {{{ formatted_print.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_sprintf, 0, 0, 1)
- ZEND_ARG_INFO(0, format)
- ZEND_ARG_VARIADIC_INFO(0, args)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_vsprintf, 0)
- ZEND_ARG_INFO(0, format)
- ZEND_ARG_INFO(0, args) /* ARRAY_INFO(0, args, 1) */
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_printf, 0, 0, 1)
- ZEND_ARG_INFO(0, format)
- ZEND_ARG_VARIADIC_INFO(0, args)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_vprintf, 0)
- ZEND_ARG_INFO(0, format)
- ZEND_ARG_INFO(0, args) /* ARRAY_INFO(0, args, 1) */
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fprintf, 0, 0, 2)
- ZEND_ARG_INFO(0, stream)
- ZEND_ARG_INFO(0, format)
- ZEND_ARG_VARIADIC_INFO(0, args)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_vfprintf, 0)
- ZEND_ARG_INFO(0, stream)
- ZEND_ARG_INFO(0, format)
- ZEND_ARG_INFO(0, args) /* ARRAY_INFO(0, args, 1) */
-ZEND_END_ARG_INFO()
-/* }}} */
-/* {{{ fsock.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_fsockopen, 0, 0, 1)
- ZEND_ARG_INFO(0, hostname)
- ZEND_ARG_INFO(0, port)
- ZEND_ARG_INFO(1, errno)
- ZEND_ARG_INFO(1, errstr)
- ZEND_ARG_INFO(0, timeout)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_pfsockopen, 0, 0, 1)
- ZEND_ARG_INFO(0, hostname)
- ZEND_ARG_INFO(0, port)
- ZEND_ARG_INFO(1, errno)
- ZEND_ARG_INFO(1, errstr)
- ZEND_ARG_INFO(0, timeout)
-ZEND_END_ARG_INFO()
-/* }}} */
-/* {{{ http.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_http_build_query, 0, 0, 1)
- ZEND_ARG_INFO(0, formdata)
- ZEND_ARG_INFO(0, prefix)
- ZEND_ARG_INFO(0, arg_separator)
- ZEND_ARG_INFO(0, enc_type)
-ZEND_END_ARG_INFO()
-/* }}} */
-/* {{{ image.c */
-ZEND_BEGIN_ARG_INFO(arginfo_image_type_to_mime_type, 0)
- ZEND_ARG_INFO(0, imagetype)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_image_type_to_extension, 0, 0, 1)
- ZEND_ARG_INFO(0, imagetype)
- ZEND_ARG_INFO(0, include_dot)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_getimagesize, 0, 0, 1)
- ZEND_ARG_INFO(0, imagefile)
- ZEND_ARG_INFO(1, info) /* ARRAY_INFO(1, info, 1) */
-ZEND_END_ARG_INFO()
-/* }}} */
-/* {{{ soundex.c */
-ZEND_BEGIN_ARG_INFO(arginfo_soundex, 0)
- ZEND_ARG_INFO(0, str)
-ZEND_END_ARG_INFO()
-/* }}} */
/* {{{ streamsfuncs.c */
#if HAVE_SOCKETPAIR
ZEND_BEGIN_ARG_INFO(arginfo_stream_socket_pair, 0)
ZEND_ARG_INFO(0, var)
ZEND_END_ARG_INFO()
/* }}} */
-/* {{{ uniqid.c */
-#ifdef HAVE_GETTIMEOFDAY
-ZEND_BEGIN_ARG_INFO_EX(arginfo_uniqid, 0, 0, 0)
- ZEND_ARG_INFO(0, prefix)
- ZEND_ARG_INFO(0, more_entropy)
-ZEND_END_ARG_INFO()
-#endif
-/* }}} */
/* {{{ url.c */
ZEND_BEGIN_ARG_INFO_EX(arginfo_parse_url, 0, 0, 1)
ZEND_ARG_INFO(0, url)
ZEND_ARG_INFO(0, classname)
ZEND_END_ARG_INFO()
/* }}} */
-/* {{{ uuencode.c */
-ZEND_BEGIN_ARG_INFO(arginfo_convert_uuencode, 0)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_convert_uudecode, 0)
- ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-/* }}} */
/* {{{ var.c */
ZEND_BEGIN_ARG_INFO_EX(arginfo_var_dump, 0, 0, 1)
ZEND_ARG_VARIADIC_INFO(0, vars)
ZEND_ARG_INFO(0, real_usage)
ZEND_END_ARG_INFO()
/* }}} */
-/* {{{ versioning.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_version_compare, 0, 0, 2)
- ZEND_ARG_INFO(0, ver1)
- ZEND_ARG_INFO(0, ver2)
- ZEND_ARG_INFO(0, oper)
-ZEND_END_ARG_INFO()
-/* }}} */
+
/* {{{ win32/codepage.c */
#ifdef PHP_WIN32
ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_cp_set, 0, 0, 1)
PHP_FE(iptcparse, arginfo_iptcparse)
PHP_FE(iptcembed, arginfo_iptcembed)
PHP_FE(getimagesize, arginfo_getimagesize)
- PHP_FE(getimagesizefromstring, arginfo_getimagesize)
+ PHP_FE(getimagesizefromstring, arginfo_getimagesizefromstring)
PHP_FE(image_type_to_mime_type, arginfo_image_type_to_mime_type)
PHP_FE(image_type_to_extension, arginfo_image_type_to_extension)
function glob(string $pattern, int $flags = 0): array|false {}
#endif
+/* exec.c */
+
+function exec(string $command, &$output = null, &$result_code = null): string|false {}
+
+function system(string $command, &$result_code = null): string|false {}
+
+function passthru(string $command, &$result_code = null): bool|null {}
+
+function escapeshellcmd(string $command): string {}
+
+function escapeshellarg(string $arg): string {}
+
+function shell_exec(string $command): string|false|null {}
+
+#ifdef HAVE_NICE
+function proc_nice(int $priority): bool {}
+#endif
+
+/* file.c */
+
+/** @param resource $handle */
+function flock($handle, int $operation, &$wouldblock = null): bool {}
+
+function get_meta_tags(string $filename, bool $use_include_path = false): array|false {}
+
+/** @param resource $handle */
+function pclose($handle): int {}
+
+/** @return resource|false */
+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 $handle */
+function rewind($handle): bool {}
+
+/** @param resource|null $context */
+function rmdir(string $dirname, $context = null): bool {}
+
+function umask(int $mask = UNKNOWN): int {}
+
+/** @param resource $handle */
+function fclose($handle): bool {}
+
+/** @param resource $handle */
+function feof($handle): bool {}
+
+/** @param resource $handle */
+function fgetc($handle): string|false {}
+
+/** @param resource $handle */
+function fgets($handle, int $length = 1024): string|false {}
+
+/** @param resource $handle */
+function fread($handle, int $length): string|false {}
+
+/**
+ * @param resource|null $context
+ * @return resource|false
+ */
+function fopen(string $filename, string $mode, bool $use_include_path = false, $context = null) {}
+
+/**
+ * @param resource $stream
+ * @param mixed ...$args
+ */
+function fscanf($stream, string $format, &...$args): array|int|false|null {}
+
+/** @param resource $handle */
+function fpassthru($handle): int {}
+
+/** @param resource $handle */
+function ftruncate($handle, int $size): bool {}
+
+/** @param resource $handle */
+function fstat($handle): array|false {}
+
+/** @param resource $handle */
+function fseek($handle, int $offset, int $whence = SEEK_SET): int {}
+
+/** @param resource $handle */
+function ftell($handle): int|false {}
+
+/** @param resource $handle */
+function fflush($handle): bool {}
+
+/** @param resource $handle */
+function fwrite($handle, string $content, int $max_length = UNKNOWN): int|false {}
+
+/** @param resource|null $context */
+function mkdir(string $pathname, int $mode = 0777, bool $recursive = false, $context = null): bool {}
+
+/** @param resource|null $context */
+function rename(string $oldname, string $newname, $context = null): bool {}
+
+/** @param resource|null $context */
+function copy(string $source, string $dest, $context = null): bool {}
+
+function tempnam(string $dir, string $prefix): string|false {}
+
+/** @return resource|false */
+function tmpfile() {}
+
+/** @param resource|null $context */
+function file(string $filename, int $flags = 0, $context = null): array|false {}
+
+/** @param resource|null $context */
+function file_get_contents(string $filename, bool $use_include_path = false, $context = null, int $offset = 0, $maxlen = UNKNOWN): string|false {}
+
+/** @param resource|null $context */
+function unlink(string $filename, $context = null): bool {}
+
+/**
+ * @param mixed $content
+ * @param resource|null $context
+ */
+function file_put_contents(string $filename, $content, int $flags = 0, $context = null): int|false {}
+
+/** @param resource $handle */
+function fputcsv($handle, array $fields, string $delimiter = ",", string $enclosure = "\"", string $escape = "\\"): int|false {}
+
+/** @param resource $handle */
+function fgetcsv($handle, $length = UNKNOWN, string $delimiter = ",", string $enclosure = '"', string $escape = "\\"): array|false {}
+
+#if HAVE_REALPATH || defined(ZTS)
+function realpath(string $path): string|false {}
+#endif
+
+#ifdef HAVE_FNMATCH
+function fnmatch(string $pattern, string $filename, int $flags = 0): bool {}
+#endif
+
+function sys_get_temp_dir(): string {}
+
/* filestat.c */
function fileatime(string $filename): int|false {}
function realpath_cache_size(): int {}
+/* formatted_print.c */
+
+/** @param mixed ...$args */
+function sprintf(string $format, ...$args): string {}
+
+/** @param mixed ...$args */
+function printf(string $format, ...$args): int {}
+
+/** @param mixed $args */
+function vprintf(string $format, $args): int {}
+
+/** @param mixed $args */
+function vsprintf(string $format, $args): string {}
+
+/**
+ * @param resource $handle
+ * @param mixed ...$args
+ */
+function fprintf($handle, string $format, ...$args): int {}
+
+/**
+ * @param resource $handle
+ * @param mixed $args
+ */
+function vfprintf($handle, string $format, $args): int {}
+
+/* fsock.c */
+
+/** @return resource|false */
+function fsockopen(string $hostname, int $port = -1, &$errno = null, &$errstr = null, float $timeout = UNKNOWN) {}
+
+/** @return resource|false */
+function pfsockopen(string $hostname, int $port = -1, &$errno = null, &$errstr = null, float $timeout = UNKNOWN) {}
+
+/* http.c */
+
+function http_build_query(array|object $data, string $numeric_prefix = "", $arg_separator = UNKNOWN, int $enc_type = PHP_QUERY_RFC1738): string|false {}
+
+/* image.c */
+
+function image_type_to_mime_type(int $image_type): string {}
+
+function image_type_to_extension(int $image_type): string|false {}
+
+function getimagesize(string $image_path, &$image_info = null): array|false {}
+
+function getimagesizefromstring(string $image, &$image_info = null): array|false {}
+
/* info.c */
function phpinfo(int $what = INFO_ALL): bool {}
function random_bytes(int $length): string {}
function random_int(int $min, int $max): int {}
+
+/* soundex.c */
+
+function soundex(string $string): string|false {}
+
+/* uniqid.c */
+
+#ifdef HAVE_GETTIMEOFDAY
+function uniqid(string $prefix = "", bool $more_entropy = false): string {}
+#endif
+
+/* uuencode.c */
+
+function convert_uuencode(string $data): string|false {}
+
+function convert_uudecode(string $data): string|false {}
+
+/* versioning.c */
+
+function version_compare(string $version1, string $version2, string $operator = UNKNOWN): int|bool {}
ZEND_END_ARG_INFO()
#endif
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_exec, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, command, IS_STRING, 0)
+ ZEND_ARG_INFO(1, output)
+ ZEND_ARG_INFO(1, result_code)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_system, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, command, IS_STRING, 0)
+ ZEND_ARG_INFO(1, result_code)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_passthru, 0, 1, _IS_BOOL, 1)
+ ZEND_ARG_TYPE_INFO(0, command, IS_STRING, 0)
+ ZEND_ARG_INFO(1, result_code)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_escapeshellcmd, 0, 1, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, command, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_escapeshellarg, 0, 1, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, arg, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_shell_exec, 0, 1, MAY_BE_STRING|MAY_BE_FALSE|MAY_BE_NULL)
+ ZEND_ARG_TYPE_INFO(0, command, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#if defined(HAVE_NICE)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_proc_nice, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, priority, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_flock, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, operation, IS_LONG, 0)
+ ZEND_ARG_INFO(1, wouldblock)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_get_meta_tags, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, use_include_path, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pclose, 0, 1, IS_LONG, 0)
+ ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_popen, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, command, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, mode, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_readfile, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, use_include_path, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_rewind, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_rmdir, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, dirname, IS_STRING, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_umask, 0, 0, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, mask, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_fclose arginfo_rewind
+
+#define arginfo_feof arginfo_rewind
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fgetc, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fgets, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fread, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_fopen, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, mode, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, use_include_path, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fscanf, 0, 2, MAY_BE_ARRAY|MAY_BE_LONG|MAY_BE_FALSE|MAY_BE_NULL)
+ ZEND_ARG_INFO(0, stream)
+ ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
+ ZEND_ARG_VARIADIC_INFO(1, args)
+ZEND_END_ARG_INFO()
+
+#define arginfo_fpassthru arginfo_pclose
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ftruncate, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fstat, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_fseek, 0, 2, IS_LONG, 0)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, whence, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftell, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+#define arginfo_fflush arginfo_rewind
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fwrite, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, max_length, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mkdir, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, pathname, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, recursive, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_rename, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, oldname, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, newname, IS_STRING, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_copy, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, dest, IS_STRING, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_tempnam, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, dir, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_tmpfile, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_file, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_file_get_contents, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, use_include_path, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, context)
+ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
+ ZEND_ARG_INFO(0, maxlen)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_unlink, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_file_put_contents, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_INFO(0, content)
+ ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fputcsv, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, fields, IS_ARRAY, 0)
+ ZEND_ARG_TYPE_INFO(0, delimiter, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, enclosure, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, escape, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fgetcsv, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_INFO(0, length)
+ ZEND_ARG_TYPE_INFO(0, delimiter, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, enclosure, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, escape, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#if HAVE_REALPATH || defined(ZTS)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_realpath, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(HAVE_FNMATCH)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_fnmatch, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#define arginfo_sys_get_temp_dir arginfo_get_current_user
+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_fileatime, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
ZEND_END_ARG_INFO()
#define arginfo_realpath_cache_size arginfo_ob_get_level
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sprintf, 0, 1, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
+ ZEND_ARG_VARIADIC_INFO(0, args)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_printf, 0, 1, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
+ ZEND_ARG_VARIADIC_INFO(0, args)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_vprintf, 0, 2, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
+ ZEND_ARG_INFO(0, args)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_vsprintf, 0, 2, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
+ ZEND_ARG_INFO(0, args)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_fprintf, 0, 2, IS_LONG, 0)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
+ ZEND_ARG_VARIADIC_INFO(0, args)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_vfprintf, 0, 3, IS_LONG, 0)
+ ZEND_ARG_INFO(0, handle)
+ ZEND_ARG_TYPE_INFO(0, format, IS_STRING, 0)
+ ZEND_ARG_INFO(0, args)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_fsockopen, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, hostname, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, port, IS_LONG, 0)
+ ZEND_ARG_INFO(1, errno)
+ ZEND_ARG_INFO(1, errstr)
+ ZEND_ARG_TYPE_INFO(0, timeout, IS_DOUBLE, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_pfsockopen arginfo_fsockopen
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_http_build_query, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_MASK(0, data, MAY_BE_ARRAY|MAY_BE_OBJECT)
+ ZEND_ARG_TYPE_INFO(0, numeric_prefix, IS_STRING, 0)
+ ZEND_ARG_INFO(0, arg_separator)
+ ZEND_ARG_TYPE_INFO(0, enc_type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_image_type_to_mime_type, 0, 1, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, image_type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_image_type_to_extension, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, image_type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_getimagesize, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, image_path, IS_STRING, 0)
+ ZEND_ARG_INFO(1, image_info)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_getimagesizefromstring, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, image, IS_STRING, 0)
+ ZEND_ARG_INFO(1, image_info)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phpinfo, 0, 0, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, what, IS_LONG, 0)
ZEND_END_ARG_INFO()
ZEND_ARG_TYPE_INFO(0, min, IS_LONG, 0)
ZEND_ARG_TYPE_INFO(0, max, IS_LONG, 0)
ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_soundex, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#if defined(HAVE_GETTIMEOFDAY)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_uniqid, 0, 0, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, more_entropy, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#define arginfo_convert_uuencode arginfo_hex2bin
+
+#define arginfo_convert_uudecode arginfo_hex2bin
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_version_compare, 0, 2, MAY_BE_LONG|MAY_BE_BOOL)
+ ZEND_ARG_TYPE_INFO(0, version1, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, version2, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, operator, IS_STRING, 0)
+ZEND_END_ARG_INFO()