]> granicus.if.org Git - php/commitdiff
Add stubs for another batch of standard functions
authorMáté Kocsis <kocsismate@woohoolabs.com>
Mon, 11 Nov 2019 17:22:52 +0000 (18:22 +0100)
committerMáté Kocsis <kocsismate@woohoolabs.com>
Mon, 9 Dec 2019 18:47:08 +0000 (19:47 +0100)
ext/opcache/Optimizer/zend_func_info.c
ext/standard/basic_functions.c
ext/standard/basic_functions.stub.php
ext/standard/basic_functions_arginfo.h

index fde3a9a91e44f47e11d0b6a825b00a425cf44139..0f4bcb2570332dc0e536baf018f22cac850eb239 100644 (file)
@@ -337,10 +337,10 @@ static const func_info_t func_infos[] = {
        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),
index 9cb321097f5d6f7f06a4987319fb43985d7bcb51..4969b73f84debe9e6022a9cee5f894a04ac3c755 100755 (executable)
@@ -121,313 +121,6 @@ static void user_tick_function_dtor(user_tick_function_entry *tick_function_entr
 
 /* {{{ 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)
@@ -713,14 +406,6 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_countable, _IS_BOOL, 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)
@@ -777,15 +462,6 @@ ZEND_BEGIN_ARG_INFO(arginfo_stream_filter_register, 0)
        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)
@@ -817,13 +493,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_memory_get_peak_usage, 0, 0, 0)
        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)
@@ -888,7 +558,7 @@ static const zend_function_entry basic_functions[] = { /* {{{ */
        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)
 
index 23e22954fcaffd81ee9d851e0b08523b34612c70..630f8c29d77502b9baf9b10e24dbb7250bf6a054 100755 (executable)
@@ -728,6 +728,141 @@ function scandir(string $directory, int $sorting_order = 0, $context = UNKNOWN):
 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 {}
@@ -796,6 +931,54 @@ function realpath_cache_get(): array {}
 
 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 {}
@@ -991,3 +1174,23 @@ function mt_getrandmax(): int {}
 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 {}
index 6e33d6ce311082d6aae55888c89f374f7c00090e..43dee46b7ab60cd0fdab365e29e2c5142bd9a70f 100755 (executable)
@@ -1123,6 +1123,224 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_glob, 0, 1, MAY_BE_ARRAY|MAY_BE_
 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()
@@ -1223,6 +1441,73 @@ 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()
@@ -1529,3 +1814,24 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_random_int, 0, 2, IS_LONG, 0)
        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()