]> granicus.if.org Git - php/commitdiff
Generate function entries from stubs
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 21 Feb 2020 14:08:56 +0000 (15:08 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 3 Apr 2020 13:41:41 +0000 (15:41 +0200)
If @generate-function-entries is specified in the stub file,
also generate function entries for the extension.

Currently limited to free functions only.

build/gen_stub.php [changed mode: 0755->0644]
ext/standard/basic_functions.c
ext/standard/basic_functions.stub.php
ext/standard/basic_functions_arginfo.h

old mode 100755 (executable)
new mode 100644 (file)
index f3a9a49..d25ef2d
@@ -1,6 +1,7 @@
 #!/usr/bin/env php
 <?php declare(strict_types=1);
 
+use PhpParser\Comment\Doc as DocComment;
 use PhpParser\Node;
 use PhpParser\Node\Expr;
 use PhpParser\Node\Stmt;
@@ -46,8 +47,8 @@ function processStubFile(string $stubFile) {
     $arginfoFile = str_replace('.stub.php', '', $stubFile) . '_arginfo.h';
 
     try {
-        $funcInfos = parseStubFile($stubFile);
-        $arginfoCode = generateArgInfoCode($funcInfos);
+        $fileInfo = parseStubFile($stubFile);
+        $arginfoCode = generateArgInfoCode($fileInfo);
         file_put_contents($arginfoFile, $arginfoCode);
     } catch (Exception $e) {
         echo "In $stubFile:\n{$e->getMessage()}\n";
@@ -299,6 +300,10 @@ class ReturnInfo {
 class FuncInfo {
     /** @var string */
     public $name;
+    /** @var ?string */
+    public $className;
+    /** @var ?string */
+    public $alias;
     /** @var ArgInfo[] */
     public $args;
     /** @var ReturnInfo */
@@ -309,9 +314,12 @@ class FuncInfo {
     public $cond;
 
     public function __construct(
-        string $name, array $args, ReturnInfo $return, int $numRequiredArgs, ?string $cond
+        string $name, ?string $className, ?string $alias, array $args, ReturnInfo $return,
+        int $numRequiredArgs, ?string $cond
     ) {
         $this->name = $name;
+        $this->className = $className;
+        $this->alias = $alias;
         $this->args = $args;
         $this->return = $return;
         $this->numRequiredArgs = $numRequiredArgs;
@@ -333,11 +341,33 @@ class FuncInfo {
             && $this->numRequiredArgs === $other->numRequiredArgs
             && $this->cond === $other->cond;
     }
+
+    public function getArgInfoName(): string {
+        if ($this->className) {
+            return 'arginfo_class_' . $this->className . '_' . $this->name;
+        }
+        return 'arginfo_' . $this->name;
+    }
+}
+
+class FileInfo {
+    /** @var FuncInfo[] */
+    public $funcInfos;
+    /** @var bool */
+    public $generateFunctionEntries;
+
+    public function __construct(array $funcInfos, bool $generateFunctionEntries) {
+        $this->funcInfos = $funcInfos;
+        $this->generateFunctionEntries = $generateFunctionEntries;
+    }
 }
 
-function parseFunctionLike(string $name, Node\FunctionLike $func, ?string $cond): FuncInfo {
+function parseFunctionLike(
+    string $name, ?string $className, Node\FunctionLike $func, ?string $cond
+): FuncInfo {
     $comment = $func->getDocComment();
     $paramMeta = [];
+    $alias = null;
 
     if ($comment) {
         $commentText = substr($comment->getText(), 2, -2);
@@ -349,6 +379,8 @@ function parseFunctionLike(string $name, Node\FunctionLike $func, ?string $cond)
                     $paramMeta[$varName] = [];
                 }
                 $paramMeta[$varName]['preferRef'] = true;
+            } else if (preg_match('/^\*\s*@alias\s+(.+)$/', trim($commentLine), $matches)) {
+                $alias = $matches[1];
             }
         }
     }
@@ -403,7 +435,7 @@ function parseFunctionLike(string $name, Node\FunctionLike $func, ?string $cond)
     $return = new ReturnInfo(
         $func->returnsByRef(),
         $returnType ? Type::fromNode($returnType) : null);
-    return new FuncInfo($name, $args, $return, $numRequiredArgs, $cond);
+    return new FuncInfo($name, $className, $alias, $args, $return, $numRequiredArgs, $cond);
 }
 
 function handlePreprocessorConditions(array &$conds, Stmt $stmt): ?string {
@@ -434,8 +466,24 @@ function handlePreprocessorConditions(array &$conds, Stmt $stmt): ?string {
     return empty($conds) ? null : implode(' && ', $conds);
 }
 
-/** @return FuncInfo[] */
-function parseStubFile(string $fileName) {
+function getFileDocComment(array $stmts): ?DocComment {
+    if (empty($stmts)) {
+        return null;
+    }
+
+    $comments = $stmts[0]->getComments();
+    if (empty($comments)) {
+        return null;
+    }
+
+    if ($comments[0] instanceof DocComment) {
+        return $comments[0];
+    }
+
+    return null;
+}
+
+function parseStubFile(string $fileName): FileInfo {
     if (!file_exists($fileName)) {
         throw new Exception("File $fileName does not exist");
     }
@@ -450,6 +498,14 @@ function parseStubFile(string $fileName) {
     $stmts = $parser->parse($code);
     $nodeTraverser->traverse($stmts);
 
+    $generateFunctionEntries = false;
+    $fileDocComment = getFileDocComment($stmts);
+    if ($fileDocComment) {
+        if (strpos($fileDocComment->getText(), '@generate-function-entries') !== false) {
+            $generateFunctionEntries = true;
+        }
+    }
+
     $funcInfos = [];
     $conds = [];
     foreach ($stmts as $stmt) {
@@ -459,7 +515,7 @@ function parseStubFile(string $fileName) {
         }
 
         if ($stmt instanceof Stmt\Function_) {
-            $funcInfos[] = parseFunctionLike($stmt->name->toString(), $stmt, $cond);
+            $funcInfos[] = parseFunctionLike($stmt->name->toString(), null, $stmt, $cond);
             continue;
         }
 
@@ -476,7 +532,7 @@ function parseStubFile(string $fileName) {
                 }
 
                 $funcInfos[] = parseFunctionLike(
-                    'class_' . $className . '_' . $classStmt->name->toString(), $classStmt, $cond);
+                    $classStmt->name->toString(), $className, $classStmt, $cond);
             }
             continue;
         }
@@ -484,7 +540,7 @@ function parseStubFile(string $fileName) {
         throw new Exception("Unexpected node {$stmt->getType()}");
     }
 
-    return $funcInfos;
+    return new FileInfo($funcInfos, $generateFunctionEntries);
 }
 
 function funcInfoToCode(FuncInfo $funcInfo): string {
@@ -494,28 +550,32 @@ function funcInfoToCode(FuncInfo $funcInfo): string {
         if (null !== $simpleReturnType = $returnType->tryToSimpleType()) {
             if ($simpleReturnType->isBuiltin) {
                 $code .= sprintf(
-                    "ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_%s, %d, %d, %s, %d)\n",
-                    $funcInfo->name, $funcInfo->return->byRef, $funcInfo->numRequiredArgs,
+                    "ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(%s, %d, %d, %s, %d)\n",
+                    $funcInfo->getArgInfoName(), $funcInfo->return->byRef,
+                    $funcInfo->numRequiredArgs,
                     $simpleReturnType->toTypeCode(), $returnType->isNullable()
                 );
             } else {
                 $code .= sprintf(
-                    "ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_%s, %d, %d, %s, %d)\n",
-                    $funcInfo->name, $funcInfo->return->byRef, $funcInfo->numRequiredArgs,
+                    "ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(%s, %d, %d, %s, %d)\n",
+                    $funcInfo->getArgInfoName(), $funcInfo->return->byRef,
+                    $funcInfo->numRequiredArgs,
                     $simpleReturnType->toEscapedName(), $returnType->isNullable()
                 );
             }
         } else if (null !== $representableType = $returnType->tryToRepresentableType()) {
             if ($representableType->classType !== null) {
                 $code .= sprintf(
-                    "ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_%s, %d, %d, %s, %s)\n",
-                    $funcInfo->name, $funcInfo->return->byRef, $funcInfo->numRequiredArgs,
+                    "ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(%s, %d, %d, %s, %s)\n",
+                    $funcInfo->getArgInfoName(), $funcInfo->return->byRef,
+                    $funcInfo->numRequiredArgs,
                     $representableType->classType->toEscapedName(), $representableType->toTypeMask()
                 );
             } else {
                 $code .= sprintf(
-                    "ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_%s, %d, %d, %s)\n",
-                    $funcInfo->name, $funcInfo->return->byRef, $funcInfo->numRequiredArgs,
+                    "ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(%s, %d, %d, %s)\n",
+                    $funcInfo->getArgInfoName(), $funcInfo->return->byRef,
+                    $funcInfo->numRequiredArgs,
                     $representableType->toTypeMask()
                 );
             }
@@ -524,8 +584,8 @@ function funcInfoToCode(FuncInfo $funcInfo): string {
         }
     } else {
         $code .= sprintf(
-            "ZEND_BEGIN_ARG_INFO_EX(arginfo_%s, 0, %d, %d)\n",
-            $funcInfo->name, $funcInfo->return->byRef, $funcInfo->numRequiredArgs
+            "ZEND_BEGIN_ARG_INFO_EX(%s, 0, %d, %d)\n",
+            $funcInfo->getArgInfoName(), $funcInfo->return->byRef, $funcInfo->numRequiredArgs
         );
     }
 
@@ -566,7 +626,7 @@ function funcInfoToCode(FuncInfo $funcInfo): string {
     }
 
     $code .= "ZEND_END_ARG_INFO()";
-    return $code;
+    return $code . "\n";
 }
 
 function findEquivalentFuncInfo(array $generatedFuncInfos, $funcInfo): ?FuncInfo {
@@ -578,33 +638,80 @@ function findEquivalentFuncInfo(array $generatedFuncInfos, $funcInfo): ?FuncInfo
     return null;
 }
 
-/** @param FuncInfo[] $funcInfos */
-function generateArginfoCode(array $funcInfos): string {
-    $code = "/* This is a generated file, edit the .stub.php file instead. */";
-    $generatedFuncInfos = [];
-    foreach ($funcInfos as $funcInfo) {
-        $code .= "\n\n";
-        if ($funcInfo->cond) {
-            $code .= "#if {$funcInfo->cond}\n";
+function generateCodeWithConditions(
+        FileInfo $fileInfo, string $separator, Closure $codeGenerator): string {
+    $code = "";
+    foreach ($fileInfo->funcInfos as $funcInfo) {
+        $funcCode = $codeGenerator($funcInfo);
+        if ($funcCode === null) {
+            continue;
         }
 
-        /* If there already is an equivalent arginfo structure, only emit a #define */
-        if ($generatedFuncInfo = findEquivalentFuncInfo($generatedFuncInfos, $funcInfo)) {
-            $code .= sprintf(
-                "#define arginfo_%s arginfo_%s",
-                $funcInfo->name, $generatedFuncInfo->name
-            );
+        $code .= $separator;
+        if ($funcInfo->cond) {
+            $code .= "#if {$funcInfo->cond}\n";
+            $code .= $funcCode;
+            $code .= "#endif\n";
         } else {
-            $code .= funcInfoToCode($funcInfo);
+            $code .= $funcCode;
         }
+    }
+    return $code;
+}
 
-        if ($funcInfo->cond) {
-            $code .= "\n#endif";
+function generateArgInfoCode(FileInfo $fileInfo): string {
+    $funcInfos = $fileInfo->funcInfos;
+
+    $code = "/* This is a generated file, edit the .stub.php file instead. */\n";
+    $generatedFuncInfos = [];
+    $code .= generateCodeWithConditions(
+        $fileInfo, "\n",
+        function(FuncInfo $funcInfo) use(&$generatedFuncInfos) {
+            /* If there already is an equivalent arginfo structure, only emit a #define */
+            if ($generatedFuncInfo = findEquivalentFuncInfo($generatedFuncInfos, $funcInfo)) {
+                $code = sprintf(
+                    "#define %s %s\n",
+                    $funcInfo->getArgInfoName(), $generatedFuncInfo->getArgInfoName()
+                );
+            } else {
+                $code = funcInfoToCode($funcInfo);
+            }
+
+            $generatedFuncInfos[] = $funcInfo;
+            return $code;
         }
+    );
+
+    if ($fileInfo->generateFunctionEntries) {
+        $code .= "\n\n";
+        $code .= generateCodeWithConditions($fileInfo, "", function(FuncInfo $funcInfo) {
+            if ($funcInfo->className || $funcInfo->alias) {
+                return null;
+            }
+
+            return "ZEND_FUNCTION($funcInfo->name);\n";
+        });
+
+        $code .= "\n\nstatic const zend_function_entry ext_functions[] = {\n";
+        $code .= generateCodeWithConditions($fileInfo, "", function(FuncInfo $funcInfo) {
+            if ($funcInfo->className) {
+                return null;
+            }
 
-        $generatedFuncInfos[] = $funcInfo;
+            if ($funcInfo->alias) {
+                return sprintf(
+                    "\tZEND_FALIAS(%s, %s, %s)\n",
+                    $funcInfo->name, $funcInfo->alias, $funcInfo->getArgInfoName()
+                );
+            } else {
+                return sprintf("\tZEND_FE(%s, %s)\n", $funcInfo->name, $funcInfo->getArgInfoName());
+            }
+        });
+        $code .= "\tZEND_FE_END\n";
+        $code .= "};\n";
     }
-    return $code . "\n";
+
+    return $code;
 }
 
 function initPhpParser() {
index 219656021ea24a61be2518032638c745b35668c7..d99b7fb498603959aded57e4450d1e52625270f3 100755 (executable)
@@ -33,7 +33,6 @@
 #include "ext/standard/php_dns.h"
 #include "ext/standard/php_uuencode.h"
 #include "ext/standard/php_mt_rand.h"
-#include "basic_functions_arginfo.h"
 
 #ifdef PHP_WIN32
 #include "win32/php_win32_globals.h"
@@ -107,6 +106,7 @@ PHPAPI php_basic_globals basic_globals;
 
 #include "php_fopen_wrappers.h"
 #include "streamsfuncs.h"
+#include "basic_functions_arginfo.h"
 
 static zend_class_entry *incomplete_class_entry = NULL;
 
@@ -120,711 +120,6 @@ typedef struct _user_tick_function_entry {
 static void user_shutdown_function_dtor(zval *zv);
 static void user_tick_function_dtor(user_tick_function_entry *tick_function_entry);
 
-/* {{{ arginfo */
-
-static const zend_function_entry basic_functions[] = { /* {{{ */
-       PHP_FE(constant,                                                                                                                arginfo_constant)
-       PHP_FE(bin2hex,                                                                                                                 arginfo_bin2hex)
-       PHP_FE(hex2bin,                                                                                                                 arginfo_hex2bin)
-       PHP_FE(sleep,                                                                                                                   arginfo_sleep)
-       PHP_FE(usleep,                                                                                                                  arginfo_usleep)
-#if HAVE_NANOSLEEP
-       PHP_FE(time_nanosleep,                                                                                                  arginfo_time_nanosleep)
-       PHP_FE(time_sleep_until,                                                                                                arginfo_time_sleep_until)
-#endif
-
-#if HAVE_STRPTIME
-       PHP_FE(strptime,                                                                                                                arginfo_strptime)
-#endif
-
-       PHP_FE(flush,                                                                                                                   arginfo_flush)
-       PHP_FE(wordwrap,                                                                                                                arginfo_wordwrap)
-       PHP_FE(htmlspecialchars,                                                                                                arginfo_htmlspecialchars)
-       PHP_FE(htmlentities,                                                                                                    arginfo_htmlentities)
-       PHP_FE(html_entity_decode,                                                                                              arginfo_html_entity_decode)
-       PHP_FE(htmlspecialchars_decode,                                                                                 arginfo_htmlspecialchars_decode)
-       PHP_FE(get_html_translation_table,                                                                              arginfo_get_html_translation_table)
-       PHP_FE(sha1,                                                                                                                    arginfo_sha1)
-       PHP_FE(sha1_file,                                                                                                               arginfo_sha1_file)
-       PHP_FE(md5,                                                                                                                             arginfo_md5)
-       PHP_FE(md5_file,                                                                                                                arginfo_md5_file)
-       PHP_FE(crc32,                                                                                                                   arginfo_crc32)
-
-       PHP_FE(iptcparse,                                                                                                               arginfo_iptcparse)
-       PHP_FE(iptcembed,                                                                                                               arginfo_iptcembed)
-       PHP_FE(getimagesize,                                                                                                    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)
-
-       PHP_FE(phpinfo,                                                                                                                 arginfo_phpinfo)
-       PHP_FE(phpversion,                                                                                                              arginfo_phpversion)
-       PHP_FE(phpcredits,                                                                                                              arginfo_phpcredits)
-       PHP_FE(php_sapi_name,                                                                                                   arginfo_php_sapi_name)
-       PHP_FE(php_uname,                                                                                                               arginfo_php_uname)
-       PHP_FE(php_ini_scanned_files,                                                                                   arginfo_php_ini_scanned_files)
-       PHP_FE(php_ini_loaded_file,                                                                                             arginfo_php_ini_loaded_file)
-
-       PHP_FE(strnatcmp,                                                                                                               arginfo_strnatcmp)
-       PHP_FE(strnatcasecmp,                                                                                                   arginfo_strnatcasecmp)
-       PHP_FE(substr_count,                                                                                                    arginfo_substr_count)
-       PHP_FE(strspn,                                                                                                                  arginfo_strspn)
-       PHP_FE(strcspn,                                                                                                                 arginfo_strcspn)
-       PHP_FE(strtok,                                                                                                                  arginfo_strtok)
-       PHP_FE(strtoupper,                                                                                                              arginfo_strtoupper)
-       PHP_FE(strtolower,                                                                                                              arginfo_strtolower)
-       PHP_FE(str_contains,                                                                                                    arginfo_str_contains)
-       PHP_FE(strpos,                                                                                                                  arginfo_strpos)
-       PHP_FE(stripos,                                                                                                                 arginfo_stripos)
-       PHP_FE(strrpos,                                                                                                                 arginfo_strrpos)
-       PHP_FE(strripos,                                                                                                                arginfo_strripos)
-       PHP_FE(strrev,                                                                                                                  arginfo_strrev)
-       PHP_FE(hebrev,                                                                                                                  arginfo_hebrev)
-       PHP_FE(nl2br,                                                                                                                   arginfo_nl2br)
-       PHP_FE(basename,                                                                                                                arginfo_basename)
-       PHP_FE(dirname,                                                                                                                 arginfo_dirname)
-       PHP_FE(pathinfo,                                                                                                                arginfo_pathinfo)
-       PHP_FE(stripslashes,                                                                                                    arginfo_stripslashes)
-       PHP_FE(stripcslashes,                                                                                                   arginfo_stripcslashes)
-       PHP_FE(strstr,                                                                                                                  arginfo_strstr)
-       PHP_FE(stristr,                                                                                                                 arginfo_stristr)
-       PHP_FE(strrchr,                                                                                                                 arginfo_strrchr)
-       PHP_FE(str_shuffle,                                                                                                             arginfo_str_shuffle)
-       PHP_FE(str_word_count,                                                                                                  arginfo_str_word_count)
-       PHP_FE(str_split,                                                                                                               arginfo_str_split)
-       PHP_FE(strpbrk,                                                                                                                 arginfo_strpbrk)
-       PHP_FE(substr_compare,                                                                                                  arginfo_substr_compare)
-       PHP_FE(utf8_encode,                                                                                                     arginfo_utf8_encode)
-       PHP_FE(utf8_decode,                                                                                                     arginfo_utf8_decode)
-       PHP_FE(strcoll,                                                                                                                 arginfo_strcoll)
-
-       PHP_FE(substr,                                                                                                                  arginfo_substr)
-       PHP_FE(substr_replace,                                                                                                  arginfo_substr_replace)
-       PHP_FE(quotemeta,                                                                                                               arginfo_quotemeta)
-       PHP_FE(ucfirst,                                                                                                                 arginfo_ucfirst)
-       PHP_FE(lcfirst,                                                                                                                 arginfo_lcfirst)
-       PHP_FE(ucwords,                                                                                                                 arginfo_ucwords)
-       PHP_FE(strtr,                                                                                                                   arginfo_strtr)
-       PHP_FE(addslashes,                                                                                                              arginfo_addslashes)
-       PHP_FE(addcslashes,                                                                                                             arginfo_addcslashes)
-       PHP_FE(rtrim,                                                                                                                   arginfo_rtrim)
-       PHP_FE(str_replace,                                                                                                             arginfo_str_replace)
-       PHP_FE(str_ireplace,                                                                                                    arginfo_str_ireplace)
-       PHP_FE(str_repeat,                                                                                                              arginfo_str_repeat)
-       PHP_FE(count_chars,                                                                                                             arginfo_count_chars)
-       PHP_FE(chunk_split,                                                                                                             arginfo_chunk_split)
-       PHP_FE(trim,                                                                                                                    arginfo_trim)
-       PHP_FE(ltrim,                                                                                                                   arginfo_ltrim)
-       PHP_FE(strip_tags,                                                                                                              arginfo_strip_tags)
-       PHP_FE(similar_text,                                                                                                    arginfo_similar_text)
-       PHP_FE(explode,                                                                                                                 arginfo_explode)
-       PHP_FE(implode,                                                                                                                 arginfo_implode)
-       PHP_FALIAS(join,                                implode,                                                                arginfo_join)
-       PHP_FE(setlocale,                                                                                                               arginfo_setlocale)
-       PHP_FE(localeconv,                                                                                                              arginfo_localeconv)
-
-#if HAVE_NL_LANGINFO
-       PHP_FE(nl_langinfo,                                                                                                             arginfo_nl_langinfo)
-#endif
-
-       PHP_FE(soundex,                                                                                                                 arginfo_soundex)
-       PHP_FE(levenshtein,                                                                                                             arginfo_levenshtein)
-       PHP_FE(chr,                                                                                                                             arginfo_chr)
-       PHP_FE(ord,                                                                                                                             arginfo_ord)
-       PHP_FE(parse_str,                                                                                                               arginfo_parse_str)
-       PHP_FE(str_getcsv,                                                                                                              arginfo_str_getcsv)
-       PHP_FE(str_pad,                                                                                                                 arginfo_str_pad)
-       PHP_FALIAS(chop,                                rtrim,                                                                  arginfo_chop)
-       PHP_FALIAS(strchr,                              strstr,                                                                 arginfo_strchr)
-       PHP_FE(sprintf,                                                                                                                 arginfo_sprintf)
-       PHP_FE(printf,                                                                                                                  arginfo_printf)
-       PHP_FE(vprintf,                                                                                                                 arginfo_vprintf)
-       PHP_FE(vsprintf,                                                                                                                arginfo_vsprintf)
-       PHP_FE(fprintf,                                                                                                                 arginfo_fprintf)
-       PHP_FE(vfprintf,                                                                                                                arginfo_vfprintf)
-       PHP_FE(sscanf,                                                                                                                  arginfo_sscanf)
-       PHP_FE(fscanf,                                                                                                                  arginfo_fscanf)
-       PHP_FE(parse_url,                                                                                                               arginfo_parse_url)
-       PHP_FE(urlencode,                                                                                                               arginfo_urlencode)
-       PHP_FE(urldecode,                                                                                                               arginfo_urldecode)
-       PHP_FE(rawurlencode,                                                                                                    arginfo_rawurlencode)
-       PHP_FE(rawurldecode,                                                                                                    arginfo_rawurldecode)
-       PHP_FE(http_build_query,                                                                                                arginfo_http_build_query)
-
-#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
-       PHP_FE(readlink,                                                                                                                arginfo_readlink)
-       PHP_FE(linkinfo,                                                                                                                arginfo_linkinfo)
-       PHP_FE(symlink,                                                                                                                 arginfo_symlink)
-       PHP_FE(link,                                                                                                                    arginfo_link)
-#endif
-
-       PHP_FE(unlink,                                                                                                                  arginfo_unlink)
-       PHP_FE(exec,                                                                                                                    arginfo_exec)
-       PHP_FE(system,                                                                                                                  arginfo_system)
-       PHP_FE(escapeshellcmd,                                                                                                  arginfo_escapeshellcmd)
-       PHP_FE(escapeshellarg,                                                                                                  arginfo_escapeshellarg)
-       PHP_FE(passthru,                                                                                                                arginfo_passthru)
-       PHP_FE(shell_exec,                                                                                                              arginfo_shell_exec)
-#ifdef PHP_CAN_SUPPORT_PROC_OPEN
-       PHP_FE(proc_open,                                                                                                               arginfo_proc_open)
-       PHP_FE(proc_close,                                                                                                              arginfo_proc_close)
-       PHP_FE(proc_terminate,                                                                                                  arginfo_proc_terminate)
-       PHP_FE(proc_get_status,                                                                                                 arginfo_proc_get_status)
-#endif
-
-#ifdef HAVE_NICE
-       PHP_FE(proc_nice,                                                                                                               arginfo_proc_nice)
-#endif
-
-       PHP_FE(rand,                                                                                                                    arginfo_rand)
-       PHP_FALIAS(srand, mt_srand,                                                                                             arginfo_srand)
-       PHP_FALIAS(getrandmax, mt_getrandmax,                                                                   arginfo_getrandmax)
-       PHP_FE(mt_rand,                                                                                                                 arginfo_mt_rand)
-       PHP_FE(mt_srand,                                                                                                                arginfo_mt_srand)
-       PHP_FE(mt_getrandmax,                                                                                                   arginfo_mt_getrandmax)
-
-       PHP_FE(random_bytes,                                                                                                    arginfo_random_bytes)
-       PHP_FE(random_int,                                                                                                      arginfo_random_int)
-
-#if HAVE_GETSERVBYNAME
-       PHP_FE(getservbyname,                                                                                                   arginfo_getservbyname)
-#endif
-
-#if HAVE_GETSERVBYPORT
-       PHP_FE(getservbyport,                                                                                                   arginfo_getservbyport)
-#endif
-
-#if HAVE_GETPROTOBYNAME
-       PHP_FE(getprotobyname,                                                                                                  arginfo_getprotobyname)
-#endif
-
-#if HAVE_GETPROTOBYNUMBER
-       PHP_FE(getprotobynumber,                                                                                                arginfo_getprotobynumber)
-#endif
-
-       PHP_FE(getmyuid,                                                                                                                arginfo_getmyuid)
-       PHP_FE(getmygid,                                                                                                                arginfo_getmygid)
-       PHP_FE(getmypid,                                                                                                                arginfo_getmypid)
-       PHP_FE(getmyinode,                                                                                                              arginfo_getmyinode)
-       PHP_FE(getlastmod,                                                                                                              arginfo_getlastmod)
-
-       PHP_FE(base64_decode,                                                                                                   arginfo_base64_decode)
-       PHP_FE(base64_encode,                                                                                                   arginfo_base64_encode)
-
-       PHP_FE(password_hash,                                                                                                   arginfo_password_hash)
-       PHP_FE(password_get_info,                                                                                               arginfo_password_get_info)
-       PHP_FE(password_needs_rehash,                                                                                   arginfo_password_needs_rehash)
-       PHP_FE(password_verify,                                                                                                 arginfo_password_verify)
-       PHP_FE(password_algos,                                                                                                  arginfo_password_algos)
-       PHP_FE(convert_uuencode,                                                                                                arginfo_convert_uuencode)
-       PHP_FE(convert_uudecode,                                                                                                arginfo_convert_uudecode)
-
-       PHP_FE(abs,                                                                                                                             arginfo_abs)
-       PHP_FE(ceil,                                                                                                                    arginfo_ceil)
-       PHP_FE(floor,                                                                                                                   arginfo_floor)
-       PHP_FE(round,                                                                                                                   arginfo_round)
-       PHP_FE(sin,                                                                                                                             arginfo_sin)
-       PHP_FE(cos,                                                                                                                             arginfo_cos)
-       PHP_FE(tan,                                                                                                                             arginfo_tan)
-       PHP_FE(asin,                                                                                                                    arginfo_asin)
-       PHP_FE(acos,                                                                                                                    arginfo_acos)
-       PHP_FE(atan,                                                                                                                    arginfo_atan)
-       PHP_FE(atanh,                                                                                                                   arginfo_atanh)
-       PHP_FE(atan2,                                                                                                                   arginfo_atan2)
-       PHP_FE(sinh,                                                                                                                    arginfo_sinh)
-       PHP_FE(cosh,                                                                                                                    arginfo_cosh)
-       PHP_FE(tanh,                                                                                                                    arginfo_tanh)
-       PHP_FE(asinh,                                                                                                                   arginfo_asinh)
-       PHP_FE(acosh,                                                                                                                   arginfo_acosh)
-       PHP_FE(expm1,                                                                                                                   arginfo_expm1)
-       PHP_FE(log1p,                                                                                                                   arginfo_log1p)
-       PHP_FE(pi,                                                                                                                              arginfo_pi)
-       PHP_FE(is_finite,                                                                                                               arginfo_is_finite)
-       PHP_FE(is_nan,                                                                                                                  arginfo_is_nan)
-       PHP_FE(is_infinite,                                                                                                             arginfo_is_infinite)
-       PHP_FE(pow,                                                                                                                             arginfo_pow)
-       PHP_FE(exp,                                                                                                                             arginfo_exp)
-       PHP_FE(log,                                                                                                                             arginfo_log)
-       PHP_FE(log10,                                                                                                                   arginfo_log10)
-       PHP_FE(sqrt,                                                                                                                    arginfo_sqrt)
-       PHP_FE(hypot,                                                                                                                   arginfo_hypot)
-       PHP_FE(deg2rad,                                                                                                                 arginfo_deg2rad)
-       PHP_FE(rad2deg,                                                                                                                 arginfo_rad2deg)
-       PHP_FE(bindec,                                                                                                                  arginfo_bindec)
-       PHP_FE(hexdec,                                                                                                                  arginfo_hexdec)
-       PHP_FE(octdec,                                                                                                                  arginfo_octdec)
-       PHP_FE(decbin,                                                                                                                  arginfo_decbin)
-       PHP_FE(decoct,                                                                                                                  arginfo_decoct)
-       PHP_FE(dechex,                                                                                                                  arginfo_dechex)
-       PHP_FE(base_convert,                                                                                                    arginfo_base_convert)
-       PHP_FE(number_format,                                                                                                   arginfo_number_format)
-       PHP_FE(fmod,                                                                                                                    arginfo_fmod)
-       PHP_FE(fdiv,                                                                                                                    arginfo_fdiv)
-       PHP_FE(intdiv,                                                                                                                  arginfo_intdiv)
-#ifdef HAVE_INET_NTOP
-       PHP_FE(inet_ntop,                                                                                                               arginfo_inet_ntop)
-#endif
-#ifdef HAVE_INET_PTON
-       PHP_FE(inet_pton,                                                                                                               arginfo_inet_pton)
-#endif
-       PHP_FE(ip2long,                                                                                                                 arginfo_ip2long)
-       PHP_FE(long2ip,                                                                                                                 arginfo_long2ip)
-
-       PHP_FE(getenv,                                                                                                                  arginfo_getenv)
-#ifdef HAVE_PUTENV
-       PHP_FE(putenv,                                                                                                                  arginfo_putenv)
-#endif
-
-       PHP_FE(getopt,                                                                                                                  arginfo_getopt)
-
-#ifdef HAVE_GETLOADAVG
-       PHP_FE(sys_getloadavg,                                                                                                  arginfo_sys_getloadavg)
-#endif
-#ifdef HAVE_GETTIMEOFDAY
-       PHP_FE(microtime,                                                                                                               arginfo_microtime)
-       PHP_FE(gettimeofday,                                                                                                    arginfo_gettimeofday)
-#endif
-
-#ifdef HAVE_GETRUSAGE
-       PHP_FE(getrusage,                                                                                                               arginfo_getrusage)
-#endif
-
-       PHP_FE(hrtime,                                                                                                                  arginfo_hrtime)
-
-#ifdef HAVE_GETTIMEOFDAY
-       PHP_FE(uniqid,                                                                                                                  arginfo_uniqid)
-#endif
-
-       PHP_FE(quoted_printable_decode,                                                                                 arginfo_quoted_printable_decode)
-       PHP_FE(quoted_printable_encode,                                                                                 arginfo_quoted_printable_encode)
-       PHP_FE(get_current_user,                                                                                                arginfo_get_current_user)
-       PHP_FE(set_time_limit,                                                                                                  arginfo_set_time_limit)
-       PHP_FE(header_register_callback,                                                                                arginfo_header_register_callback)
-       PHP_FE(get_cfg_var,                                                                                                             arginfo_get_cfg_var)
-
-       PHP_FE(error_log,                                                                                                               arginfo_error_log)
-       PHP_FE(error_get_last,                                                                                                  arginfo_error_get_last)
-       PHP_FE(error_clear_last,                                                                                                        arginfo_error_clear_last)
-       PHP_FE(call_user_func,                                                                                                  arginfo_call_user_func)
-       PHP_FE(call_user_func_array,                                                                                    arginfo_call_user_func_array)
-       PHP_FE(forward_static_call,                                                                                     arginfo_forward_static_call)
-       PHP_FE(forward_static_call_array,                                                                               arginfo_forward_static_call_array)
-       PHP_FE(serialize,                                                                                                               arginfo_serialize)
-       PHP_FE(unserialize,                                                                                                             arginfo_unserialize)
-
-       PHP_FE(var_dump,                                                                                                                arginfo_var_dump)
-       PHP_FE(var_export,                                                                                                              arginfo_var_export)
-       PHP_FE(debug_zval_dump,                                                                                                 arginfo_debug_zval_dump)
-       PHP_FE(print_r,                                                                                                                 arginfo_print_r)
-       PHP_FE(memory_get_usage,                                                                                                arginfo_memory_get_usage)
-       PHP_FE(memory_get_peak_usage,                                                                                   arginfo_memory_get_peak_usage)
-
-       PHP_FE(register_shutdown_function,                                                                              arginfo_register_shutdown_function)
-       PHP_FE(register_tick_function,                                                                                  arginfo_register_tick_function)
-       PHP_FE(unregister_tick_function,                                                                                arginfo_unregister_tick_function)
-
-       PHP_FE(highlight_file,                                                                                                  arginfo_highlight_file)
-       PHP_FALIAS(show_source,                 highlight_file,                                                 arginfo_show_source)
-       PHP_FE(highlight_string,                                                                                                arginfo_highlight_string)
-       PHP_FE(php_strip_whitespace,                                                                                    arginfo_php_strip_whitespace)
-
-       PHP_FE(ini_get,                                                                                                                 arginfo_ini_get)
-       PHP_FE(ini_get_all,                                                                                                             arginfo_ini_get_all)
-       PHP_FE(ini_set,                                                                                                                 arginfo_ini_set)
-       PHP_FALIAS(ini_alter,                   ini_set,                                                                arginfo_ini_alter)
-       PHP_FE(ini_restore,                                                                                                             arginfo_ini_restore)
-       PHP_FE(get_include_path,                                                                                                arginfo_get_include_path)
-       PHP_FE(set_include_path,                                                                                                arginfo_set_include_path)
-
-       PHP_FE(setcookie,                                                                                                               arginfo_setcookie)
-       PHP_FE(setrawcookie,                                                                                                    arginfo_setrawcookie)
-       PHP_FE(header,                                                                                                                  arginfo_header)
-       PHP_FE(header_remove,                                                                                                   arginfo_header_remove)
-       PHP_FE(headers_sent,                                                                                                    arginfo_headers_sent)
-       PHP_FE(headers_list,                                                                                                    arginfo_headers_list)
-       PHP_FE(http_response_code,                                                                                              arginfo_http_response_code)
-
-       PHP_FE(connection_aborted,                                                                                              arginfo_connection_aborted)
-       PHP_FE(connection_status,                                                                                               arginfo_connection_status)
-       PHP_FE(ignore_user_abort,                                                                                               arginfo_ignore_user_abort)
-       PHP_FE(parse_ini_file,                                                                                                  arginfo_parse_ini_file)
-       PHP_FE(parse_ini_string,                                                                                                arginfo_parse_ini_string)
-#if ZEND_DEBUG
-       PHP_FE(config_get_hash,                                                                                                 arginfo_config_get_hash)
-#endif
-       PHP_FE(is_uploaded_file,                                                                                                arginfo_is_uploaded_file)
-       PHP_FE(move_uploaded_file,                                                                                              arginfo_move_uploaded_file)
-
-       /* functions from dns.c */
-       PHP_FE(gethostbyaddr,                                                                                                   arginfo_gethostbyaddr)
-       PHP_FE(gethostbyname,                                                                                                   arginfo_gethostbyname)
-       PHP_FE(gethostbynamel,                                                                                                  arginfo_gethostbynamel)
-
-#ifdef HAVE_GETHOSTNAME
-       PHP_FE(gethostname,                                                                                                     arginfo_gethostname)
-#endif
-
-#if defined(PHP_WIN32) || HAVE_GETIFADDRS
-       PHP_FE(net_get_interfaces,                                                                                              arginfo_net_get_interfaces)
-#endif
-
-#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
-
-       PHP_FE(dns_check_record,                                                                                                arginfo_dns_check_record)
-       PHP_FALIAS(checkdnsrr,                  dns_check_record,                                               arginfo_checkdnsrr)
-
-# if defined(PHP_WIN32) || HAVE_FULL_DNS_FUNCS
-       PHP_FE(dns_get_mx,                                                                                                              arginfo_dns_get_mx)
-       PHP_FALIAS(getmxrr,                             dns_get_mx,                                     arginfo_getmxrr)
-       PHP_FE(dns_get_record,                                                                                                  arginfo_dns_get_record)
-# endif
-#endif
-
-       /* functions from type.c */
-       PHP_FE(intval,                                                                                                                  arginfo_intval)
-       PHP_FE(floatval,                                                                                                                arginfo_floatval)
-       PHP_FALIAS(doubleval,                   floatval,                                                               arginfo_doubleval)
-       PHP_FE(strval,                                                                                                                  arginfo_strval)
-       PHP_FE(boolval,                                                                                                                 arginfo_boolval)
-       PHP_FE(gettype,                                                                                                                 arginfo_gettype)
-       PHP_FE(settype,                                                                                                                 arginfo_settype)
-       PHP_FE(is_null,                                                                                                                 arginfo_is_null)
-       PHP_FE(is_resource,                                                                                                             arginfo_is_resource)
-       PHP_FE(is_bool,                                                                                                                 arginfo_is_bool)
-       PHP_FE(is_int,                                                                                                                  arginfo_is_int)
-       PHP_FE(is_float,                                                                                                                arginfo_is_float)
-       PHP_FALIAS(is_integer,                  is_int,                                                                 arginfo_is_integer)
-       PHP_FALIAS(is_long,                             is_int,                                                                 arginfo_is_long)
-       PHP_FALIAS(is_double,                   is_float,                                                               arginfo_is_double)
-       PHP_DEP_FALIAS(is_real,                 is_float,                                                               arginfo_is_real)
-       PHP_FE(is_numeric,                                                                                                              arginfo_is_numeric)
-       PHP_FE(is_string,                                                                                                               arginfo_is_string)
-       PHP_FE(is_array,                                                                                                                arginfo_is_array)
-       PHP_FE(is_object,                                                                                                               arginfo_is_object)
-       PHP_FE(is_scalar,                                                                                                               arginfo_is_scalar)
-       PHP_FE(is_callable,                                                                                                             arginfo_is_callable)
-       PHP_FE(is_iterable,                                                                                                             arginfo_is_iterable)
-       PHP_FE(is_countable,                                                                                                    arginfo_is_countable)
-
-       /* functions from file.c */
-       PHP_FE(pclose,                                                                                                                  arginfo_pclose)
-       PHP_FE(popen,                                                                                                                   arginfo_popen)
-       PHP_FE(readfile,                                                                                                                arginfo_readfile)
-       PHP_FE(rewind,                                                                                                                  arginfo_rewind)
-       PHP_FE(rmdir,                                                                                                                   arginfo_rmdir)
-       PHP_FE(umask,                                                                                                                   arginfo_umask)
-       PHP_FE(fclose,                                                                                                                  arginfo_fclose)
-       PHP_FE(feof,                                                                                                                    arginfo_feof)
-       PHP_FE(fgetc,                                                                                                                   arginfo_fgetc)
-       PHP_FE(fgets,                                                                                                                   arginfo_fgets)
-       PHP_FE(fread,                                                                                                                   arginfo_fread)
-       PHP_FE(fopen,                                                                                                                   arginfo_fopen)
-       PHP_FE(fpassthru,                                                                                                               arginfo_fpassthru)
-       PHP_FE(ftruncate,                                                                                                               arginfo_ftruncate)
-       PHP_FE(fstat,                                                                                                                   arginfo_fstat)
-       PHP_FE(fseek,                                                                                                                   arginfo_fseek)
-       PHP_FE(ftell,                                                                                                                   arginfo_ftell)
-       PHP_FE(fflush,                                                                                                                  arginfo_fflush)
-       PHP_FE(fwrite,                                                                                                                  arginfo_fwrite)
-       PHP_FALIAS(fputs,                               fwrite,                                                                 arginfo_fputs)
-       PHP_FE(mkdir,                                                                                                                   arginfo_mkdir)
-       PHP_FE(rename,                                                                                                                  arginfo_rename)
-       PHP_FE(copy,                                                                                                                    arginfo_copy)
-       PHP_FE(tempnam,                                                                                                                 arginfo_tempnam)
-       PHP_FE(tmpfile,                                                                                                                 arginfo_tmpfile)
-       PHP_FE(file,                                                                                                                    arginfo_file)
-       PHP_FE(file_get_contents,                                                                                               arginfo_file_get_contents)
-       PHP_FE(file_put_contents,                                                                                               arginfo_file_put_contents)
-       PHP_FE(stream_select,                                                                                                   arginfo_stream_select)
-       PHP_FE(stream_context_create,                                                                                   arginfo_stream_context_create)
-       PHP_FE(stream_context_set_params,                                                                               arginfo_stream_context_set_params)
-       PHP_FE(stream_context_get_params,                                                                               arginfo_stream_context_get_params)
-       PHP_FE(stream_context_set_option,                                                                               arginfo_stream_context_set_option)
-       PHP_FE(stream_context_get_options,                                                                              arginfo_stream_context_get_options)
-       PHP_FE(stream_context_get_default,                                                                              arginfo_stream_context_get_default)
-       PHP_FE(stream_context_set_default,                                                                              arginfo_stream_context_set_default)
-       PHP_FE(stream_filter_prepend,                                                                                   arginfo_stream_filter_prepend)
-       PHP_FE(stream_filter_append,                                                                                    arginfo_stream_filter_append)
-       PHP_FE(stream_filter_remove,                                                                                    arginfo_stream_filter_remove)
-       PHP_FE(stream_socket_client,                                                                                    arginfo_stream_socket_client)
-       PHP_FE(stream_socket_server,                                                                                    arginfo_stream_socket_server)
-       PHP_FE(stream_socket_accept,                                                                                    arginfo_stream_socket_accept)
-       PHP_FE(stream_socket_get_name,                                                                                  arginfo_stream_socket_get_name)
-       PHP_FE(stream_socket_recvfrom,                                                                                  arginfo_stream_socket_recvfrom)
-       PHP_FE(stream_socket_sendto,                                                                                    arginfo_stream_socket_sendto)
-       PHP_FE(stream_socket_enable_crypto,                                                                             arginfo_stream_socket_enable_crypto)
-#ifdef HAVE_SHUTDOWN
-       PHP_FE(stream_socket_shutdown,                                                                                  arginfo_stream_socket_shutdown)
-#endif
-#if HAVE_SOCKETPAIR
-       PHP_FE(stream_socket_pair,                                                                                              arginfo_stream_socket_pair)
-#endif
-       PHP_FE(stream_copy_to_stream,                                                                                   arginfo_stream_copy_to_stream)
-       PHP_FE(stream_get_contents,                                                                                             arginfo_stream_get_contents)
-       PHP_FE(stream_supports_lock,                                                                                    arginfo_stream_supports_lock)
-       PHP_FE(stream_isatty,                                                                                                   arginfo_stream_isatty)
-#ifdef PHP_WIN32
-       PHP_FE(sapi_windows_vt100_support,                                                                              arginfo_sapi_windows_vt100_support)
-#endif
-       PHP_FE(fgetcsv,                                                                                                                 arginfo_fgetcsv)
-       PHP_FE(fputcsv,                                                                                                                 arginfo_fputcsv)
-       PHP_FE(flock,                                                                                                                   arginfo_flock)
-       PHP_FE(get_meta_tags,                                                                                                   arginfo_get_meta_tags)
-       PHP_FE(stream_set_read_buffer,                                                                                  arginfo_stream_set_read_buffer)
-       PHP_FE(stream_set_write_buffer,                                                                                 arginfo_stream_set_write_buffer)
-       PHP_FALIAS(set_file_buffer, stream_set_write_buffer,                                    arginfo_set_file_buffer)
-       PHP_FE(stream_set_chunk_size,                                                                                   arginfo_stream_set_chunk_size)
-
-       PHP_FE(stream_set_blocking,                                                                                             arginfo_stream_set_blocking)
-       PHP_FALIAS(socket_set_blocking, stream_set_blocking,                                    arginfo_socket_set_blocking)
-
-       PHP_FE(stream_get_meta_data,                                                                                    arginfo_stream_get_meta_data)
-       PHP_FE(stream_get_line,                                                                                                 arginfo_stream_get_line)
-       PHP_FE(stream_wrapper_register,                                                                                 arginfo_stream_wrapper_register)
-       PHP_FALIAS(stream_register_wrapper, stream_wrapper_register,                    arginfo_stream_register_wrapper)
-       PHP_FE(stream_wrapper_unregister,                                                                               arginfo_stream_wrapper_unregister)
-       PHP_FE(stream_wrapper_restore,                                                                                  arginfo_stream_wrapper_restore)
-       PHP_FE(stream_get_wrappers,                                                                                             arginfo_stream_get_wrappers)
-       PHP_FE(stream_get_transports,                                                                                   arginfo_stream_get_transports)
-       PHP_FE(stream_resolve_include_path,                                                                             arginfo_stream_resolve_include_path)
-       PHP_FE(stream_is_local,                                                                                         arginfo_stream_is_local)
-       PHP_FE(get_headers,                                                                                                             arginfo_get_headers)
-
-#if HAVE_SYS_TIME_H || defined(PHP_WIN32)
-       PHP_FE(stream_set_timeout,                                                                                              arginfo_stream_set_timeout)
-       PHP_FALIAS(socket_set_timeout, stream_set_timeout,                                              arginfo_socket_set_timeout)
-#endif
-
-       PHP_FALIAS(socket_get_status, stream_get_meta_data,                                             arginfo_socket_get_status)
-
-       PHP_FE(realpath,                                                                                                                arginfo_realpath)
-
-#ifdef HAVE_FNMATCH
-       PHP_FE(fnmatch,                                                                                                                 arginfo_fnmatch)
-#endif
-
-       /* functions from fsock.c */
-       PHP_FE(fsockopen,                                                                                                               arginfo_fsockopen)
-       PHP_FE(pfsockopen,                                                                                                              arginfo_pfsockopen)
-
-       /* functions from pack.c */
-       PHP_FE(pack,                                                                                                                    arginfo_pack)
-       PHP_FE(unpack,                                                                                                                  arginfo_unpack)
-
-       /* functions from browscap.c */
-       PHP_FE(get_browser,                                                                                                             arginfo_get_browser)
-
-       /* functions from crypt.c */
-       PHP_FE(crypt,                                                                                                                   arginfo_crypt)
-
-       /* functions from dir.c */
-       PHP_FE(opendir,                                                                                                                 arginfo_opendir)
-       PHP_FE(closedir,                                                                                                                arginfo_closedir)
-       PHP_FE(chdir,                                                                                                                   arginfo_chdir)
-
-#if defined(HAVE_CHROOT) && !defined(ZTS) && ENABLE_CHROOT_FUNC
-       PHP_FE(chroot,                                                                                                                  arginfo_chroot)
-#endif
-
-       PHP_FE(getcwd,                                                                                                                  arginfo_getcwd)
-       PHP_FE(rewinddir,                                                                                                               arginfo_rewinddir)
-       PHP_FE(readdir,                                                                                                                 arginfo_readdir)
-       PHP_FALIAS(dir,                                 getdir,                                                                 arginfo_dir)
-       PHP_FE(scandir,                                                                                                                 arginfo_scandir)
-#ifdef HAVE_GLOB
-       PHP_FE(glob,                                                                                                                    arginfo_glob)
-#endif
-       /* functions from filestat.c */
-       PHP_FE(fileatime,                                                                                                               arginfo_fileatime)
-       PHP_FE(filectime,                                                                                                               arginfo_filectime)
-       PHP_FE(filegroup,                                                                                                               arginfo_filegroup)
-       PHP_FE(fileinode,                                                                                                               arginfo_fileinode)
-       PHP_FE(filemtime,                                                                                                               arginfo_filemtime)
-       PHP_FE(fileowner,                                                                                                               arginfo_fileowner)
-       PHP_FE(fileperms,                                                                                                               arginfo_fileperms)
-       PHP_FE(filesize,                                                                                                                arginfo_filesize)
-       PHP_FE(filetype,                                                                                                                arginfo_filetype)
-       PHP_FE(file_exists,                                                                                                             arginfo_file_exists)
-       PHP_FE(is_writable,                                                                                                             arginfo_is_writable)
-       PHP_FALIAS(is_writeable,                is_writable,                                                    arginfo_is_writeable)
-       PHP_FE(is_readable,                                                                                                             arginfo_is_readable)
-       PHP_FE(is_executable,                                                                                                   arginfo_is_executable)
-       PHP_FE(is_file,                                                                                                                 arginfo_is_file)
-       PHP_FE(is_dir,                                                                                                                  arginfo_is_dir)
-       PHP_FE(is_link,                                                                                                                 arginfo_is_link)
-       PHP_FE(stat,                                                                                                                    arginfo_stat)
-       PHP_FE(lstat,                                                                                                                   arginfo_lstat)
-       PHP_FE(chown,                                                                                                                   arginfo_chown)
-       PHP_FE(chgrp,                                                                                                                   arginfo_chgrp)
-#if HAVE_LCHOWN
-       PHP_FE(lchown,                                                                                                                  arginfo_lchown)
-#endif
-#if HAVE_LCHOWN
-       PHP_FE(lchgrp,                                                                                                                  arginfo_lchgrp)
-#endif
-       PHP_FE(chmod,                                                                                                                   arginfo_chmod)
-#if HAVE_UTIME
-       PHP_FE(touch,                                                                                                                   arginfo_touch)
-#endif
-       PHP_FE(clearstatcache,                                                                                                  arginfo_clearstatcache)
-       PHP_FE(disk_total_space,                                                                                                arginfo_disk_total_space)
-       PHP_FE(disk_free_space,                                                                                                 arginfo_disk_free_space)
-       PHP_FALIAS(diskfreespace,               disk_free_space,                                                arginfo_diskfreespace)
-       PHP_FE(realpath_cache_size,                                                                                             arginfo_realpath_cache_size)
-       PHP_FE(realpath_cache_get,                                                                                              arginfo_realpath_cache_get)
-
-       /* functions from mail.c */
-       PHP_FE(mail,                                                                                                                    arginfo_mail)
-
-       /* functions from syslog.c */
-#ifdef HAVE_SYSLOG_H
-       PHP_FE(openlog,                                                                                                                 arginfo_openlog)
-       PHP_FE(syslog,                                                                                                                  arginfo_syslog)
-       PHP_FE(closelog,                                                                                                                arginfo_closelog)
-#endif
-
-       /* functions from lcg.c */
-       PHP_FE(lcg_value,                                                                                                               arginfo_lcg_value)
-
-       /* functions from metaphone.c */
-       PHP_FE(metaphone,                                                                                                               arginfo_metaphone)
-
-       /* functions from output.c */
-       PHP_FE(ob_start,                                                                                                                arginfo_ob_start)
-       PHP_FE(ob_flush,                                                                                                                arginfo_ob_flush)
-       PHP_FE(ob_clean,                                                                                                                arginfo_ob_clean)
-       PHP_FE(ob_end_flush,                                                                                                    arginfo_ob_end_flush)
-       PHP_FE(ob_end_clean,                                                                                                    arginfo_ob_end_clean)
-       PHP_FE(ob_get_flush,                                                                                                    arginfo_ob_get_flush)
-       PHP_FE(ob_get_clean,                                                                                                    arginfo_ob_get_clean)
-       PHP_FE(ob_get_length,                                                                                                   arginfo_ob_get_length)
-       PHP_FE(ob_get_level,                                                                                                    arginfo_ob_get_level)
-       PHP_FE(ob_get_status,                                                                                                   arginfo_ob_get_status)
-       PHP_FE(ob_get_contents,                                                                                                 arginfo_ob_get_contents)
-       PHP_FE(ob_implicit_flush,                                                                                               arginfo_ob_implicit_flush)
-       PHP_FE(ob_list_handlers,                                                                                                arginfo_ob_list_handlers)
-
-       /* functions from array.c */
-       PHP_FE(ksort,                                                                                                                   arginfo_ksort)
-       PHP_FE(krsort,                                                                                                                  arginfo_krsort)
-       PHP_FE(natsort,                                                                                                                 arginfo_natsort)
-       PHP_FE(natcasesort,                                                                                                             arginfo_natcasesort)
-       PHP_FE(asort,                                                                                                                   arginfo_asort)
-       PHP_FE(arsort,                                                                                                                  arginfo_arsort)
-       PHP_FE(sort,                                                                                                                    arginfo_sort)
-       PHP_FE(rsort,                                                                                                                   arginfo_rsort)
-       PHP_FE(usort,                                                                                                                   arginfo_usort)
-       PHP_FE(uasort,                                                                                                                  arginfo_uasort)
-       PHP_FE(uksort,                                                                                                                  arginfo_uksort)
-       PHP_FE(shuffle,                                                                                                                 arginfo_shuffle)
-       PHP_FE(array_walk,                                                                                                              arginfo_array_walk)
-       PHP_FE(array_walk_recursive,                                                                                    arginfo_array_walk_recursive)
-       PHP_FE(count,                                                                                                                   arginfo_count)
-       PHP_FE(end,                                                                                                                             arginfo_end)
-       PHP_FE(prev,                                                                                                                    arginfo_prev)
-       PHP_FE(next,                                                                                                                    arginfo_next)
-       PHP_FE(reset,                                                                                                                   arginfo_reset)
-       PHP_FE(current,                                                                                                                 arginfo_current)
-       PHP_FE(key,                                                                                                                             arginfo_key)
-       PHP_FE(min,                                                                                                                             arginfo_min)
-       PHP_FE(max,                                                                                                                             arginfo_max)
-       PHP_FE(in_array,                                                                                                                arginfo_in_array)
-       PHP_FE(array_search,                                                                                                    arginfo_array_search)
-       PHP_FE(extract,                                                                                                                 arginfo_extract)
-       PHP_FE(compact,                                                                                                                 arginfo_compact)
-       PHP_FE(array_fill,                                                                                                              arginfo_array_fill)
-       PHP_FE(array_fill_keys,                                                                                                 arginfo_array_fill_keys)
-       PHP_FE(range,                                                                                                                   arginfo_range)
-       PHP_FE(array_multisort,                                                                                                 arginfo_array_multisort)
-       PHP_FE(array_push,                                                                                                              arginfo_array_push)
-       PHP_FE(array_pop,                                                                                                               arginfo_array_pop)
-       PHP_FE(array_shift,                                                                                                             arginfo_array_shift)
-       PHP_FE(array_unshift,                                                                                                   arginfo_array_unshift)
-       PHP_FE(array_splice,                                                                                                    arginfo_array_splice)
-       PHP_FE(array_slice,                                                                                                             arginfo_array_slice)
-       PHP_FE(array_merge,                                                                                                             arginfo_array_merge)
-       PHP_FE(array_merge_recursive,                                                                                   arginfo_array_merge_recursive)
-       PHP_FE(array_replace,                                                                                                   arginfo_array_replace)
-       PHP_FE(array_replace_recursive,                                                                                 arginfo_array_replace_recursive)
-       PHP_FE(array_keys,                                                                                                              arginfo_array_keys)
-       PHP_FE(array_key_first,                                                                                                 arginfo_array_key_first)
-       PHP_FE(array_key_last,                                                                                                  arginfo_array_key_last)
-       PHP_FE(array_values,                                                                                                    arginfo_array_values)
-       PHP_FE(array_count_values,                                                                                              arginfo_array_count_values)
-       PHP_FE(array_column,                                                                                                    arginfo_array_column)
-       PHP_FE(array_reverse,                                                                                                   arginfo_array_reverse)
-       PHP_FE(array_reduce,                                                                                                    arginfo_array_reduce)
-       PHP_FE(array_pad,                                                                                                               arginfo_array_pad)
-       PHP_FE(array_flip,                                                                                                              arginfo_array_flip)
-       PHP_FE(array_change_key_case,                                                                                   arginfo_array_change_key_case)
-       PHP_FE(array_rand,                                                                                                              arginfo_array_rand)
-       PHP_FE(array_unique,                                                                                                    arginfo_array_unique)
-       PHP_FE(array_intersect,                                                                                                 arginfo_array_intersect)
-       PHP_FE(array_intersect_key,                                                                                             arginfo_array_intersect_key)
-       PHP_FE(array_intersect_ukey,                                                                                    arginfo_array_intersect_ukey)
-       PHP_FE(array_uintersect,                                                                                                arginfo_array_uintersect)
-       PHP_FE(array_intersect_assoc,                                                                                   arginfo_array_intersect_assoc)
-       PHP_FE(array_uintersect_assoc,                                                                                  arginfo_array_uintersect_assoc)
-       PHP_FE(array_intersect_uassoc,                                                                                  arginfo_array_intersect_uassoc)
-       PHP_FE(array_uintersect_uassoc,                                                                                 arginfo_array_uintersect_uassoc)
-       PHP_FE(array_diff,                                                                                                              arginfo_array_diff)
-       PHP_FE(array_diff_key,                                                                                                  arginfo_array_diff_key)
-       PHP_FE(array_diff_ukey,                                                                                                 arginfo_array_diff_ukey)
-       PHP_FE(array_udiff,                                                                                                             arginfo_array_udiff)
-       PHP_FE(array_diff_assoc,                                                                                                arginfo_array_diff_assoc)
-       PHP_FE(array_udiff_assoc,                                                                                               arginfo_array_udiff_assoc)
-       PHP_FE(array_diff_uassoc,                                                                                               arginfo_array_diff_uassoc)
-       PHP_FE(array_udiff_uassoc,                                                                                              arginfo_array_udiff_uassoc)
-       PHP_FE(array_sum,                                                                                                               arginfo_array_sum)
-       PHP_FE(array_product,                                                                                                   arginfo_array_product)
-       PHP_FE(array_filter,                                                                                                    arginfo_array_filter)
-       PHP_FE(array_map,                                                                                                               arginfo_array_map)
-       PHP_FE(array_chunk,                                                                                                             arginfo_array_chunk)
-       PHP_FE(array_combine,                                                                                                   arginfo_array_combine)
-       PHP_FE(array_key_exists,                                                                                                arginfo_array_key_exists)
-
-       /* aliases from array.c */
-       PHP_FALIAS(pos,                                 current,                                                                arginfo_pos)
-       PHP_FALIAS(sizeof,                              count,                                                                  arginfo_sizeof)
-       PHP_FALIAS(key_exists,                  array_key_exists,                                               arginfo_key_exists)
-
-       /* functions from assert.c */
-       PHP_FE(assert,                                                                                                                  arginfo_assert)
-       PHP_FE(assert_options,                                                                                                  arginfo_assert_options)
-
-       /* functions from versioning.c */
-       PHP_FE(version_compare,                                                                                                 arginfo_version_compare)
-
-       /* functions from ftok.c*/
-#if HAVE_FTOK
-       PHP_FE(ftok,                                                                                                                    arginfo_ftok)
-#endif
-
-       PHP_FE(str_rot13,                                                                                                               arginfo_str_rot13)
-       PHP_FE(stream_get_filters,                                                                                              arginfo_stream_get_filters)
-       PHP_FE(stream_filter_register,                                                                                  arginfo_stream_filter_register)
-       PHP_FE(stream_bucket_make_writeable,                                                                    arginfo_stream_bucket_make_writeable)
-       PHP_FE(stream_bucket_prepend,                                                                                   arginfo_stream_bucket_prepend)
-       PHP_FE(stream_bucket_append,                                                                                    arginfo_stream_bucket_append)
-       PHP_FE(stream_bucket_new,                                                                                               arginfo_stream_bucket_new)
-
-       PHP_FE(output_add_rewrite_var,                                                                                  arginfo_output_add_rewrite_var)
-       PHP_FE(output_reset_rewrite_vars,                                                                               arginfo_output_reset_rewrite_vars)
-
-       PHP_FE(sys_get_temp_dir,                                                                                                arginfo_sys_get_temp_dir)
-
-#ifdef PHP_WIN32
-       PHP_FE(sapi_windows_cp_set, arginfo_sapi_windows_cp_set)
-       PHP_FE(sapi_windows_cp_get, arginfo_sapi_windows_cp_get)
-       PHP_FE(sapi_windows_cp_is_utf8, arginfo_sapi_windows_cp_is_utf8)
-       PHP_FE(sapi_windows_cp_conv, arginfo_sapi_windows_cp_conv)
-       PHP_FE(sapi_windows_set_ctrl_handler, arginfo_sapi_windows_set_ctrl_handler)
-       PHP_FE(sapi_windows_generate_ctrl_event, arginfo_sapi_windows_generate_ctrl_event)
-#endif
-       PHP_FE_END
-};
-/* }}} */
-
 static const zend_module_dep standard_deps[] = { /* {{{ */
        ZEND_MOD_OPTIONAL("session")
        ZEND_MOD_END
@@ -836,7 +131,7 @@ zend_module_entry basic_functions_module = { /* {{{ */
        NULL,
        standard_deps,
        "standard",                                     /* extension name */
-       basic_functions,                        /* function list */
+       ext_functions,                          /* function list */
        PHP_MINIT(basic),                       /* process startup */
        PHP_MSHUTDOWN(basic),           /* process shutdown */
        PHP_RINIT(basic),                       /* request startup */
index 4a2df3e578f293f55016669399b5bc4cf91bc5a8..4b39aa32f9d33e7aaa771ace52a2f0b270c20858 100755 (executable)
@@ -1,5 +1,7 @@
 <?php
 
+/** @generate-function-entries */
+
 /* main/main.c */
 
 function set_time_limit(int $seconds): bool {}
@@ -47,6 +49,7 @@ function output_add_rewrite_var(string $name, string $value): bool {}
 
 function stream_wrapper_register(string $protocol, string $classname, int $flags = 0): bool {}
 
+/** @alias stream_wrapper_register */
 function stream_register_wrapper(string $protocol, string $classname, int $flags = 0): bool {}
 
 function stream_wrapper_unregister(string $protocol): bool {}
@@ -64,7 +67,10 @@ function ksort(array &$arg, int $sort_flags = SORT_REGULAR): bool {}
 /** @param mixed $var */
 function count($var, int $mode = COUNT_NORMAL): int {}
 
-/** @param mixed $var */
+/**
+ * @param mixed $var
+ * @alias count
+ */
 function sizeof($var, int $mode = COUNT_NORMAL): int {}
 
 function natsort(array &$arg): bool {}
@@ -100,7 +106,10 @@ function reset(array|object &$arg) {}
 /** @return mixed */
 function current(array|object $arg) {}
 
-/** @return mixed */
+/**
+ * @return mixed
+ * @alias current
+ */
 function pos(array|object $arg) {}
 
 function key(array|object $arg): int|string|null {}
@@ -238,7 +247,10 @@ function array_map(?callable $callback, array $arr1, array ...$arrays): array {}
 /** @param mixed $key */
 function array_key_exists($key, array $search): bool {}
 
-/** @param mixed $key */
+/**
+ * @param mixed $key
+ * @alias array_key_exists
+ */
 function key_exists($key, array $search): bool {}
 
 function array_chunk(array $arg, int $size, bool $preserve_keys = false): array {}
@@ -316,6 +328,7 @@ function register_shutdown_function($function, ...$args): ?bool {}
 
 function highlight_file(string $filename, bool $return = false): string|bool|null {}
 
+/** @alias highlight_file */
 function show_source(string $filename, bool $return = false): string|bool|null {}
 
 function php_strip_whitespace(string $filename): string {}
@@ -328,6 +341,7 @@ function ini_get_all(?string $extension = null, bool $details = true): array|fal
 
 function ini_set(string $varname, string $value): string|false {}
 
+/** @alias ini_set */
 function ini_alter(string $varname, string $value): string|false {}
 
 function ini_restore(string $varname): void {}
@@ -415,12 +429,14 @@ function gethostbynamel(string $hostname): array|false {}
 #if defined(PHP_WIN32) || 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 {}
 
 function dns_get_record(string $hostname, int $type = DNS_ANY, &$authns = null, &$addtl = null, bool $raw = false): array|false {}
 
 function dns_get_mx(string $hostname, &$mxhosts, &$weight = null): bool {}
 
+/** @alias dns_get_mx */
 function getmxrr(string $hostname, &$mxhosts, &$weight = null): bool {}
 #endif
 
@@ -546,6 +562,7 @@ function trim(string $str, string $character_mask = " \n\r\t\v\0"): string {}
 
 function rtrim(string $str, string $character_mask = " \n\r\t\v\0"): string {}
 
+/** @alias rtrim */
 function chop(string $str, string $character_mask = " \n\r\t\v\0"): string {}
 
 function ltrim(string $str, string $character_mask = " \n\r\t\v\0"): string {}
@@ -556,6 +573,7 @@ function explode(string $separator, string $str, int $limit = PHP_INT_MAX): arra
 
 function implode(string|array $glue, array $pieces = UNKNOWN): string {}
 
+/** @alias implode */
 function join(string|array $glue, array $pieces = UNKNOWN): string {}
 
 function strtok(string $str, string $token = UNKNOWN): string|false {}
@@ -574,6 +592,7 @@ function stristr(string $haystack, string $needle, bool $before_needle = false):
 
 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 {}
 
 function strpos(string $haystack, string $needle, int $offset = 0): int|false {}
@@ -700,7 +719,10 @@ function opendir(string $path, $context = UNKNOWN) {}
 /** @param resource $context */
 function getdir(string $path, $context = UNKNOWN): Directory|false {}
 
-/** @param resource $context */
+/**
+ * @param resource $context
+ * @alias getdir
+ */
 function dir(string $path, $context = UNKNOWN): Directory|false {}
 
 /** @param resource $dir_handle */
@@ -816,7 +838,10 @@ function fflush($handle): bool {}
 /** @param resource $handle */
 function fwrite($handle, string $content, int $max_length = UNKNOWN): int|false {}
 
-/** @param resource $handle */
+/**
+ * @param resource $handle
+ * @alias fwrite
+ */
 function fputs($handle, string $content, int $max_length = UNKNOWN): int|false {}
 
 /** @param resource|null $context */
@@ -886,6 +911,7 @@ function file_exists(string $filename): bool {}
 
 function is_writable(string $filename): bool {}
 
+/** @alias is_writable */
 function is_writeable(string $filename): bool {}
 
 function is_readable(string $filename): bool {}
@@ -924,6 +950,7 @@ function disk_total_space(string $directory): float|false {}
 
 function disk_free_space(string $directory): float|false {}
 
+/** @alias disk_free_space */
 function diskfreespace(string $directory): float|false {}
 
 function realpath_cache_get(): array {}
@@ -1163,6 +1190,7 @@ function quoted_printable_encode(string $str): string {}
 
 function mt_srand(int $seed = 0, int $mode = MT_RAND_MT19937): void {}
 
+/** @alias mt_srand */
 function srand(int $seed = 0, int $mode = MT_RAND_MT19937): void {}
 
 function rand(int $min = 0, int $max = PHP_INT_MAX): int {}
@@ -1171,6 +1199,7 @@ function mt_rand(int $min = 0, int $max = PHP_INT_MAX): int {}
 
 function mt_getrandmax(): int {}
 
+/** @alias mt_getrandmax */
 function getrandmax(): int {}
 
 /* random.c */
@@ -1287,7 +1316,9 @@ function stream_supports_lock($stream): bool {}
 /** @param resource $stream */
 function stream_set_write_buffer($stream, int $buffer): int {}
 
-/** @param resource $stream */
+/**
+ * @param resource $stream
+ * @alias stream_set_write_buffer */
 function set_file_buffer($stream, int $buffer): int {}
 
 /** @param resource $stream */
@@ -1296,13 +1327,19 @@ function stream_set_read_buffer($stream, int $buffer): int {}
 /** @param resource $stream */
 function stream_set_blocking($stream, bool $mode): bool {}
 
-/** @param resource $stream */
+/**
+ * @param resource $stream
+ * @alias stream_set_blocking
+ */
 function socket_set_blocking($stream, bool $mode): bool {}
 
 /** @param resource $stream */
 function stream_get_meta_data($stream): array {}
 
-/** @param resource $stream */
+/**
+ * @param resource $stream
+ * @alias stream_get_meta_data
+ */
 function socket_get_status($stream): array {}
 
 /** @param resource $handle */
@@ -1332,7 +1369,10 @@ function stream_set_chunk_size($stream, int $size): int {}
 /** @param resource $socket */
 function stream_set_timeout($socket, int $seconds, int $microseconds = 0): bool {}
 
-/** @param resource $socket */
+/**
+ * @param resource $socket
+ * @alias stream_set_timeout
+ */
 function socket_set_timeout($socket, int $seconds, int $microseconds = 0): bool {}
 #endif
 
@@ -1349,7 +1389,10 @@ function intval($value, int $base = 10): int {}
 /** @param mixed $value */
 function floatval($value): float {}
 
-/** @param mixed $value */
+/**
+ * @param mixed $value
+ * @alias floatval
+ */
 function doubleval($value): float {}
 
 /** @param mixed $value */
@@ -1370,19 +1413,32 @@ function is_bool($value): bool {}
 /** @param mixed $value */
 function is_int($value): bool {}
 
-/** @param mixed $value */
+/**
+ * @param mixed $value
+ * @alias is_int
+ */
 function is_integer($value): bool {}
 
-/** @param mixed $value */
+/**
+ * @param mixed $value
+ * @alias is_int
+ */
 function is_long($value): bool {}
 
 /** @param mixed $value */
 function is_float($value): bool {}
 
-/** @param mixed $value */
+/**
+ * @param mixed $value
+ * @alias is_float
+ */
 function is_double($value): bool {}
 
-/** @param mixed $value */
+/**
+ * @param mixed $value
+ * @alias is_float
+ * @deprecated
+ */
 function is_real($value): bool {}
 
 /** @param mixed $value */
@@ -1480,6 +1536,7 @@ function version_compare(string $version1, string $version2, string $operator =
 
 /* win32/codepage.c */
 
+#ifdef PHP_WIN32
 function sapi_windows_cp_set(int $cp): bool {}
 
 function sapi_windows_cp_get(string $kind = UNKNOWN): int {}
@@ -1497,3 +1554,4 @@ function sapi_windows_set_ctrl_handler($handler, bool $add = true): bool {}
 
 /** @param callable|null $handler */
 function sapi_windows_generate_ctrl_event(int $event, int $pid = 0): bool {}
+#endif
index c846d1ff1bcf89115f4b158e1dd0678925b4892e..9c1b0162b0da53e2190d89b768797082db00e7d4 100755 (executable)
@@ -2199,28 +2199,1308 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_version_compare, 0, 2, MAY_BE_LO
        ZEND_ARG_TYPE_INFO(0, operator, IS_STRING, 0)
 ZEND_END_ARG_INFO()
 
+#if defined(PHP_WIN32)
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sapi_windows_cp_set, 0, 1, _IS_BOOL, 0)
        ZEND_ARG_TYPE_INFO(0, cp, IS_LONG, 0)
 ZEND_END_ARG_INFO()
+#endif
 
+#if defined(PHP_WIN32)
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sapi_windows_cp_get, 0, 0, IS_LONG, 0)
        ZEND_ARG_TYPE_INFO(0, kind, IS_STRING, 0)
 ZEND_END_ARG_INFO()
+#endif
 
+#if defined(PHP_WIN32)
 ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_cp_conv, 0, 0, 3)
        ZEND_ARG_INFO(0, in_codepage)
        ZEND_ARG_INFO(0, out_codepage)
        ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0)
 ZEND_END_ARG_INFO()
+#endif
 
-#define arginfo_sapi_windows_cp_is_utf8 arginfo_ob_flush
+#if defined(PHP_WIN32)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sapi_windows_cp_is_utf8, 0, 0, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+#endif
 
+#if defined(PHP_WIN32)
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sapi_windows_set_ctrl_handler, 0, 1, _IS_BOOL, 0)
        ZEND_ARG_INFO(0, handler)
        ZEND_ARG_TYPE_INFO(0, add, _IS_BOOL, 0)
 ZEND_END_ARG_INFO()
+#endif
 
+#if defined(PHP_WIN32)
 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sapi_windows_generate_ctrl_event, 0, 1, _IS_BOOL, 0)
        ZEND_ARG_TYPE_INFO(0, event, IS_LONG, 0)
        ZEND_ARG_TYPE_INFO(0, pid, IS_LONG, 0)
 ZEND_END_ARG_INFO()
+#endif
+
+
+ZEND_FUNCTION(set_time_limit);
+ZEND_FUNCTION(header_register_callback);
+ZEND_FUNCTION(ob_start);
+ZEND_FUNCTION(ob_flush);
+ZEND_FUNCTION(ob_clean);
+ZEND_FUNCTION(ob_end_flush);
+ZEND_FUNCTION(ob_end_clean);
+ZEND_FUNCTION(ob_get_flush);
+ZEND_FUNCTION(ob_get_clean);
+ZEND_FUNCTION(ob_get_contents);
+ZEND_FUNCTION(ob_get_level);
+ZEND_FUNCTION(ob_get_length);
+ZEND_FUNCTION(ob_list_handlers);
+ZEND_FUNCTION(ob_get_status);
+ZEND_FUNCTION(ob_implicit_flush);
+ZEND_FUNCTION(output_reset_rewrite_vars);
+ZEND_FUNCTION(output_add_rewrite_var);
+ZEND_FUNCTION(stream_wrapper_register);
+ZEND_FUNCTION(stream_wrapper_unregister);
+ZEND_FUNCTION(stream_wrapper_restore);
+ZEND_FUNCTION(array_push);
+ZEND_FUNCTION(krsort);
+ZEND_FUNCTION(ksort);
+ZEND_FUNCTION(count);
+ZEND_FUNCTION(natsort);
+ZEND_FUNCTION(natcasesort);
+ZEND_FUNCTION(asort);
+ZEND_FUNCTION(arsort);
+ZEND_FUNCTION(sort);
+ZEND_FUNCTION(rsort);
+ZEND_FUNCTION(usort);
+ZEND_FUNCTION(uasort);
+ZEND_FUNCTION(uksort);
+ZEND_FUNCTION(end);
+ZEND_FUNCTION(prev);
+ZEND_FUNCTION(next);
+ZEND_FUNCTION(reset);
+ZEND_FUNCTION(current);
+ZEND_FUNCTION(key);
+ZEND_FUNCTION(min);
+ZEND_FUNCTION(max);
+ZEND_FUNCTION(array_walk);
+ZEND_FUNCTION(array_walk_recursive);
+ZEND_FUNCTION(in_array);
+ZEND_FUNCTION(array_search);
+ZEND_FUNCTION(extract);
+ZEND_FUNCTION(compact);
+ZEND_FUNCTION(array_fill);
+ZEND_FUNCTION(array_fill_keys);
+ZEND_FUNCTION(range);
+ZEND_FUNCTION(shuffle);
+ZEND_FUNCTION(array_pop);
+ZEND_FUNCTION(array_shift);
+ZEND_FUNCTION(array_unshift);
+ZEND_FUNCTION(array_splice);
+ZEND_FUNCTION(array_slice);
+ZEND_FUNCTION(array_merge);
+ZEND_FUNCTION(array_merge_recursive);
+ZEND_FUNCTION(array_replace);
+ZEND_FUNCTION(array_replace_recursive);
+ZEND_FUNCTION(array_keys);
+ZEND_FUNCTION(array_key_first);
+ZEND_FUNCTION(array_key_last);
+ZEND_FUNCTION(array_values);
+ZEND_FUNCTION(array_count_values);
+ZEND_FUNCTION(array_column);
+ZEND_FUNCTION(array_reverse);
+ZEND_FUNCTION(array_pad);
+ZEND_FUNCTION(array_flip);
+ZEND_FUNCTION(array_change_key_case);
+ZEND_FUNCTION(array_unique);
+ZEND_FUNCTION(array_intersect_key);
+ZEND_FUNCTION(array_intersect_ukey);
+ZEND_FUNCTION(array_intersect);
+ZEND_FUNCTION(array_uintersect);
+ZEND_FUNCTION(array_intersect_assoc);
+ZEND_FUNCTION(array_uintersect_assoc);
+ZEND_FUNCTION(array_intersect_uassoc);
+ZEND_FUNCTION(array_uintersect_uassoc);
+ZEND_FUNCTION(array_diff_key);
+ZEND_FUNCTION(array_diff_ukey);
+ZEND_FUNCTION(array_diff);
+ZEND_FUNCTION(array_udiff);
+ZEND_FUNCTION(array_diff_assoc);
+ZEND_FUNCTION(array_diff_uassoc);
+ZEND_FUNCTION(array_udiff_assoc);
+ZEND_FUNCTION(array_udiff_uassoc);
+ZEND_FUNCTION(array_multisort);
+ZEND_FUNCTION(array_rand);
+ZEND_FUNCTION(array_sum);
+ZEND_FUNCTION(array_product);
+ZEND_FUNCTION(array_reduce);
+ZEND_FUNCTION(array_filter);
+ZEND_FUNCTION(array_map);
+ZEND_FUNCTION(array_key_exists);
+ZEND_FUNCTION(array_chunk);
+ZEND_FUNCTION(array_combine);
+ZEND_FUNCTION(base64_encode);
+ZEND_FUNCTION(base64_decode);
+ZEND_FUNCTION(constant);
+ZEND_FUNCTION(ip2long);
+ZEND_FUNCTION(long2ip);
+ZEND_FUNCTION(getenv);
+#if defined(HAVE_PUTENV)
+ZEND_FUNCTION(putenv);
+#endif
+ZEND_FUNCTION(getopt);
+ZEND_FUNCTION(flush);
+ZEND_FUNCTION(sleep);
+ZEND_FUNCTION(usleep);
+#if HAVE_NANOSLEEP
+ZEND_FUNCTION(time_nanosleep);
+#endif
+#if HAVE_NANOSLEEP
+ZEND_FUNCTION(time_sleep_until);
+#endif
+ZEND_FUNCTION(get_current_user);
+ZEND_FUNCTION(get_cfg_var);
+ZEND_FUNCTION(error_log);
+ZEND_FUNCTION(error_get_last);
+ZEND_FUNCTION(error_clear_last);
+ZEND_FUNCTION(call_user_func);
+ZEND_FUNCTION(call_user_func_array);
+ZEND_FUNCTION(forward_static_call);
+ZEND_FUNCTION(forward_static_call_array);
+ZEND_FUNCTION(register_shutdown_function);
+ZEND_FUNCTION(highlight_file);
+ZEND_FUNCTION(php_strip_whitespace);
+ZEND_FUNCTION(highlight_string);
+ZEND_FUNCTION(ini_get);
+ZEND_FUNCTION(ini_get_all);
+ZEND_FUNCTION(ini_set);
+ZEND_FUNCTION(ini_restore);
+ZEND_FUNCTION(set_include_path);
+ZEND_FUNCTION(get_include_path);
+ZEND_FUNCTION(print_r);
+ZEND_FUNCTION(connection_aborted);
+ZEND_FUNCTION(connection_status);
+ZEND_FUNCTION(ignore_user_abort);
+#if HAVE_GETSERVBYNAME
+ZEND_FUNCTION(getservbyname);
+#endif
+#if HAVE_GETSERVBYPORT
+ZEND_FUNCTION(getservbyport);
+#endif
+#if HAVE_GETPROTOBYNAME
+ZEND_FUNCTION(getprotobyname);
+#endif
+#if HAVE_GETPROTOBYNUMBER
+ZEND_FUNCTION(getprotobynumber);
+#endif
+ZEND_FUNCTION(register_tick_function);
+ZEND_FUNCTION(unregister_tick_function);
+ZEND_FUNCTION(is_uploaded_file);
+ZEND_FUNCTION(move_uploaded_file);
+ZEND_FUNCTION(parse_ini_file);
+ZEND_FUNCTION(parse_ini_string);
+#if ZEND_DEBUG
+ZEND_FUNCTION(config_get_hash);
+#endif
+#if defined(HAVE_GETLOADAVG)
+ZEND_FUNCTION(sys_getloadavg);
+#endif
+ZEND_FUNCTION(get_browser);
+ZEND_FUNCTION(crc32);
+ZEND_FUNCTION(crypt);
+#if HAVE_STRPTIME
+ZEND_FUNCTION(strptime);
+#endif
+#if defined(HAVE_GETHOSTNAME)
+ZEND_FUNCTION(gethostname);
+#endif
+ZEND_FUNCTION(gethostbyaddr);
+ZEND_FUNCTION(gethostbyname);
+ZEND_FUNCTION(gethostbynamel);
+#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
+ZEND_FUNCTION(dns_check_record);
+#endif
+#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
+ZEND_FUNCTION(dns_get_record);
+#endif
+#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
+ZEND_FUNCTION(dns_get_mx);
+#endif
+ZEND_FUNCTION(net_get_interfaces);
+#if HAVE_FTOK
+ZEND_FUNCTION(ftok);
+#endif
+ZEND_FUNCTION(hrtime);
+ZEND_FUNCTION(lcg_value);
+ZEND_FUNCTION(md5);
+ZEND_FUNCTION(md5_file);
+ZEND_FUNCTION(getmyuid);
+ZEND_FUNCTION(getmygid);
+ZEND_FUNCTION(getmypid);
+ZEND_FUNCTION(getmyinode);
+ZEND_FUNCTION(getlastmod);
+ZEND_FUNCTION(sha1);
+ZEND_FUNCTION(sha1_file);
+#if defined(HAVE_SYSLOG_H)
+ZEND_FUNCTION(openlog);
+#endif
+#if defined(HAVE_SYSLOG_H)
+ZEND_FUNCTION(closelog);
+#endif
+#if defined(HAVE_SYSLOG_H)
+ZEND_FUNCTION(syslog);
+#endif
+#if defined(HAVE_INET_NTOP)
+ZEND_FUNCTION(inet_ntop);
+#endif
+#if defined(HAVE_INET_PTON)
+ZEND_FUNCTION(inet_pton);
+#endif
+ZEND_FUNCTION(metaphone);
+ZEND_FUNCTION(header);
+ZEND_FUNCTION(header_remove);
+ZEND_FUNCTION(setrawcookie);
+ZEND_FUNCTION(setcookie);
+ZEND_FUNCTION(http_response_code);
+ZEND_FUNCTION(headers_sent);
+ZEND_FUNCTION(headers_list);
+ZEND_FUNCTION(htmlspecialchars);
+ZEND_FUNCTION(htmlspecialchars_decode);
+ZEND_FUNCTION(html_entity_decode);
+ZEND_FUNCTION(htmlentities);
+ZEND_FUNCTION(get_html_translation_table);
+ZEND_FUNCTION(assert);
+ZEND_FUNCTION(assert_options);
+ZEND_FUNCTION(bin2hex);
+ZEND_FUNCTION(hex2bin);
+ZEND_FUNCTION(strspn);
+ZEND_FUNCTION(strcspn);
+#if HAVE_NL_LANGINFO
+ZEND_FUNCTION(nl_langinfo);
+#endif
+ZEND_FUNCTION(strcoll);
+ZEND_FUNCTION(trim);
+ZEND_FUNCTION(rtrim);
+ZEND_FUNCTION(ltrim);
+ZEND_FUNCTION(wordwrap);
+ZEND_FUNCTION(explode);
+ZEND_FUNCTION(implode);
+ZEND_FUNCTION(strtok);
+ZEND_FUNCTION(strtoupper);
+ZEND_FUNCTION(strtolower);
+ZEND_FUNCTION(basename);
+ZEND_FUNCTION(dirname);
+ZEND_FUNCTION(pathinfo);
+ZEND_FUNCTION(stristr);
+ZEND_FUNCTION(strstr);
+ZEND_FUNCTION(strpos);
+ZEND_FUNCTION(stripos);
+ZEND_FUNCTION(strrpos);
+ZEND_FUNCTION(strripos);
+ZEND_FUNCTION(strrchr);
+ZEND_FUNCTION(str_contains);
+ZEND_FUNCTION(chunk_split);
+ZEND_FUNCTION(substr);
+ZEND_FUNCTION(substr_replace);
+ZEND_FUNCTION(quotemeta);
+ZEND_FUNCTION(ord);
+ZEND_FUNCTION(chr);
+ZEND_FUNCTION(ucfirst);
+ZEND_FUNCTION(lcfirst);
+ZEND_FUNCTION(ucwords);
+ZEND_FUNCTION(strtr);
+ZEND_FUNCTION(strrev);
+ZEND_FUNCTION(similar_text);
+ZEND_FUNCTION(addcslashes);
+ZEND_FUNCTION(addslashes);
+ZEND_FUNCTION(stripcslashes);
+ZEND_FUNCTION(stripslashes);
+ZEND_FUNCTION(str_replace);
+ZEND_FUNCTION(str_ireplace);
+ZEND_FUNCTION(hebrev);
+ZEND_FUNCTION(nl2br);
+ZEND_FUNCTION(strip_tags);
+ZEND_FUNCTION(setlocale);
+ZEND_FUNCTION(parse_str);
+ZEND_FUNCTION(str_getcsv);
+ZEND_FUNCTION(str_repeat);
+ZEND_FUNCTION(count_chars);
+ZEND_FUNCTION(strnatcmp);
+ZEND_FUNCTION(localeconv);
+ZEND_FUNCTION(strnatcasecmp);
+ZEND_FUNCTION(substr_count);
+ZEND_FUNCTION(str_pad);
+ZEND_FUNCTION(sscanf);
+ZEND_FUNCTION(str_rot13);
+ZEND_FUNCTION(str_shuffle);
+ZEND_FUNCTION(str_word_count);
+ZEND_FUNCTION(str_split);
+ZEND_FUNCTION(strpbrk);
+ZEND_FUNCTION(substr_compare);
+ZEND_FUNCTION(utf8_encode);
+ZEND_FUNCTION(utf8_decode);
+ZEND_FUNCTION(opendir);
+ZEND_FUNCTION(getdir);
+ZEND_FUNCTION(closedir);
+ZEND_FUNCTION(chdir);
+#if defined(HAVE_CHROOT) && !defined(ZTS) && ENABLE_CHROOT_FUNC
+ZEND_FUNCTION(chroot);
+#endif
+ZEND_FUNCTION(getcwd);
+ZEND_FUNCTION(rewinddir);
+ZEND_FUNCTION(readdir);
+ZEND_FUNCTION(scandir);
+#if defined(HAVE_GLOB)
+ZEND_FUNCTION(glob);
+#endif
+ZEND_FUNCTION(exec);
+ZEND_FUNCTION(system);
+ZEND_FUNCTION(passthru);
+ZEND_FUNCTION(escapeshellcmd);
+ZEND_FUNCTION(escapeshellarg);
+ZEND_FUNCTION(shell_exec);
+#if defined(HAVE_NICE)
+ZEND_FUNCTION(proc_nice);
+#endif
+ZEND_FUNCTION(flock);
+ZEND_FUNCTION(get_meta_tags);
+ZEND_FUNCTION(pclose);
+ZEND_FUNCTION(popen);
+ZEND_FUNCTION(readfile);
+ZEND_FUNCTION(rewind);
+ZEND_FUNCTION(rmdir);
+ZEND_FUNCTION(umask);
+ZEND_FUNCTION(fclose);
+ZEND_FUNCTION(feof);
+ZEND_FUNCTION(fgetc);
+ZEND_FUNCTION(fgets);
+ZEND_FUNCTION(fread);
+ZEND_FUNCTION(fopen);
+ZEND_FUNCTION(fscanf);
+ZEND_FUNCTION(fpassthru);
+ZEND_FUNCTION(ftruncate);
+ZEND_FUNCTION(fstat);
+ZEND_FUNCTION(fseek);
+ZEND_FUNCTION(ftell);
+ZEND_FUNCTION(fflush);
+ZEND_FUNCTION(fwrite);
+ZEND_FUNCTION(mkdir);
+ZEND_FUNCTION(rename);
+ZEND_FUNCTION(copy);
+ZEND_FUNCTION(tempnam);
+ZEND_FUNCTION(tmpfile);
+ZEND_FUNCTION(file);
+ZEND_FUNCTION(file_get_contents);
+ZEND_FUNCTION(unlink);
+ZEND_FUNCTION(file_put_contents);
+ZEND_FUNCTION(fputcsv);
+ZEND_FUNCTION(fgetcsv);
+ZEND_FUNCTION(realpath);
+#if defined(HAVE_FNMATCH)
+ZEND_FUNCTION(fnmatch);
+#endif
+ZEND_FUNCTION(sys_get_temp_dir);
+ZEND_FUNCTION(fileatime);
+ZEND_FUNCTION(filectime);
+ZEND_FUNCTION(filegroup);
+ZEND_FUNCTION(fileinode);
+ZEND_FUNCTION(filemtime);
+ZEND_FUNCTION(fileowner);
+ZEND_FUNCTION(fileperms);
+ZEND_FUNCTION(filesize);
+ZEND_FUNCTION(filetype);
+ZEND_FUNCTION(file_exists);
+ZEND_FUNCTION(is_writable);
+ZEND_FUNCTION(is_readable);
+ZEND_FUNCTION(is_executable);
+ZEND_FUNCTION(is_file);
+ZEND_FUNCTION(is_dir);
+ZEND_FUNCTION(is_link);
+ZEND_FUNCTION(stat);
+ZEND_FUNCTION(lstat);
+ZEND_FUNCTION(chown);
+ZEND_FUNCTION(chgrp);
+#if HAVE_LCHOWN
+ZEND_FUNCTION(lchown);
+#endif
+#if HAVE_LCHOWN
+ZEND_FUNCTION(lchgrp);
+#endif
+ZEND_FUNCTION(chmod);
+#if HAVE_UTIME
+ZEND_FUNCTION(touch);
+#endif
+ZEND_FUNCTION(clearstatcache);
+ZEND_FUNCTION(disk_total_space);
+ZEND_FUNCTION(disk_free_space);
+ZEND_FUNCTION(realpath_cache_get);
+ZEND_FUNCTION(realpath_cache_size);
+ZEND_FUNCTION(sprintf);
+ZEND_FUNCTION(printf);
+ZEND_FUNCTION(vprintf);
+ZEND_FUNCTION(vsprintf);
+ZEND_FUNCTION(fprintf);
+ZEND_FUNCTION(vfprintf);
+ZEND_FUNCTION(fsockopen);
+ZEND_FUNCTION(pfsockopen);
+ZEND_FUNCTION(http_build_query);
+ZEND_FUNCTION(image_type_to_mime_type);
+ZEND_FUNCTION(image_type_to_extension);
+ZEND_FUNCTION(getimagesize);
+ZEND_FUNCTION(getimagesizefromstring);
+ZEND_FUNCTION(phpinfo);
+ZEND_FUNCTION(phpversion);
+ZEND_FUNCTION(phpcredits);
+ZEND_FUNCTION(php_sapi_name);
+ZEND_FUNCTION(php_uname);
+ZEND_FUNCTION(php_ini_scanned_files);
+ZEND_FUNCTION(php_ini_loaded_file);
+ZEND_FUNCTION(iptcembed);
+ZEND_FUNCTION(iptcparse);
+ZEND_FUNCTION(levenshtein);
+#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
+ZEND_FUNCTION(readlink);
+#endif
+#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
+ZEND_FUNCTION(linkinfo);
+#endif
+#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
+ZEND_FUNCTION(symlink);
+#endif
+#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
+ZEND_FUNCTION(link);
+#endif
+ZEND_FUNCTION(mail);
+ZEND_FUNCTION(abs);
+ZEND_FUNCTION(ceil);
+ZEND_FUNCTION(floor);
+ZEND_FUNCTION(round);
+ZEND_FUNCTION(sin);
+ZEND_FUNCTION(cos);
+ZEND_FUNCTION(tan);
+ZEND_FUNCTION(asin);
+ZEND_FUNCTION(acos);
+ZEND_FUNCTION(atan);
+ZEND_FUNCTION(atanh);
+ZEND_FUNCTION(atan2);
+ZEND_FUNCTION(sinh);
+ZEND_FUNCTION(cosh);
+ZEND_FUNCTION(tanh);
+ZEND_FUNCTION(asinh);
+ZEND_FUNCTION(acosh);
+ZEND_FUNCTION(expm1);
+ZEND_FUNCTION(log1p);
+ZEND_FUNCTION(pi);
+ZEND_FUNCTION(is_finite);
+ZEND_FUNCTION(is_nan);
+ZEND_FUNCTION(intdiv);
+ZEND_FUNCTION(is_infinite);
+ZEND_FUNCTION(pow);
+ZEND_FUNCTION(exp);
+ZEND_FUNCTION(log);
+ZEND_FUNCTION(log10);
+ZEND_FUNCTION(sqrt);
+ZEND_FUNCTION(hypot);
+ZEND_FUNCTION(deg2rad);
+ZEND_FUNCTION(rad2deg);
+ZEND_FUNCTION(bindec);
+ZEND_FUNCTION(hexdec);
+ZEND_FUNCTION(octdec);
+ZEND_FUNCTION(decbin);
+ZEND_FUNCTION(decoct);
+ZEND_FUNCTION(dechex);
+ZEND_FUNCTION(base_convert);
+ZEND_FUNCTION(number_format);
+ZEND_FUNCTION(fmod);
+ZEND_FUNCTION(fdiv);
+#if defined(HAVE_GETTIMEOFDAY)
+ZEND_FUNCTION(microtime);
+#endif
+#if defined(HAVE_GETTIMEOFDAY)
+ZEND_FUNCTION(gettimeofday);
+#endif
+#if defined(HAVE_GETRUSAGE)
+ZEND_FUNCTION(getrusage);
+#endif
+ZEND_FUNCTION(pack);
+ZEND_FUNCTION(unpack);
+ZEND_FUNCTION(password_get_info);
+ZEND_FUNCTION(password_hash);
+ZEND_FUNCTION(password_needs_rehash);
+ZEND_FUNCTION(password_verify);
+ZEND_FUNCTION(password_algos);
+#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
+ZEND_FUNCTION(proc_open);
+#endif
+#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
+ZEND_FUNCTION(proc_close);
+#endif
+#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
+ZEND_FUNCTION(proc_terminate);
+#endif
+#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
+ZEND_FUNCTION(proc_get_status);
+#endif
+ZEND_FUNCTION(quoted_printable_decode);
+ZEND_FUNCTION(quoted_printable_encode);
+ZEND_FUNCTION(mt_srand);
+ZEND_FUNCTION(rand);
+ZEND_FUNCTION(mt_rand);
+ZEND_FUNCTION(mt_getrandmax);
+ZEND_FUNCTION(random_bytes);
+ZEND_FUNCTION(random_int);
+ZEND_FUNCTION(soundex);
+ZEND_FUNCTION(stream_select);
+ZEND_FUNCTION(stream_context_create);
+ZEND_FUNCTION(stream_context_set_params);
+ZEND_FUNCTION(stream_context_get_params);
+ZEND_FUNCTION(stream_context_set_option);
+ZEND_FUNCTION(stream_context_get_options);
+ZEND_FUNCTION(stream_context_get_default);
+ZEND_FUNCTION(stream_context_set_default);
+ZEND_FUNCTION(stream_filter_prepend);
+ZEND_FUNCTION(stream_filter_append);
+ZEND_FUNCTION(stream_filter_remove);
+ZEND_FUNCTION(stream_socket_client);
+ZEND_FUNCTION(stream_socket_server);
+ZEND_FUNCTION(stream_socket_accept);
+ZEND_FUNCTION(stream_socket_get_name);
+ZEND_FUNCTION(stream_socket_recvfrom);
+ZEND_FUNCTION(stream_socket_sendto);
+ZEND_FUNCTION(stream_socket_enable_crypto);
+#if defined(HAVE_SHUTDOWN)
+ZEND_FUNCTION(stream_socket_shutdown);
+#endif
+#if HAVE_SOCKETPAIR
+ZEND_FUNCTION(stream_socket_pair);
+#endif
+ZEND_FUNCTION(stream_copy_to_stream);
+ZEND_FUNCTION(stream_get_contents);
+ZEND_FUNCTION(stream_supports_lock);
+ZEND_FUNCTION(stream_set_write_buffer);
+ZEND_FUNCTION(stream_set_read_buffer);
+ZEND_FUNCTION(stream_set_blocking);
+ZEND_FUNCTION(stream_get_meta_data);
+ZEND_FUNCTION(stream_get_line);
+ZEND_FUNCTION(stream_resolve_include_path);
+ZEND_FUNCTION(stream_get_wrappers);
+ZEND_FUNCTION(stream_get_transports);
+ZEND_FUNCTION(stream_is_local);
+ZEND_FUNCTION(stream_isatty);
+#if defined(PHP_WIN32)
+ZEND_FUNCTION(sapi_windows_vt100_support);
+#endif
+ZEND_FUNCTION(stream_set_chunk_size);
+#if HAVE_SYS_TIME_H || defined(PHP_WIN32)
+ZEND_FUNCTION(stream_set_timeout);
+#endif
+ZEND_FUNCTION(gettype);
+ZEND_FUNCTION(settype);
+ZEND_FUNCTION(intval);
+ZEND_FUNCTION(floatval);
+ZEND_FUNCTION(boolval);
+ZEND_FUNCTION(strval);
+ZEND_FUNCTION(is_null);
+ZEND_FUNCTION(is_resource);
+ZEND_FUNCTION(is_bool);
+ZEND_FUNCTION(is_int);
+ZEND_FUNCTION(is_float);
+ZEND_FUNCTION(is_numeric);
+ZEND_FUNCTION(is_string);
+ZEND_FUNCTION(is_array);
+ZEND_FUNCTION(is_object);
+ZEND_FUNCTION(is_scalar);
+ZEND_FUNCTION(is_callable);
+ZEND_FUNCTION(is_iterable);
+ZEND_FUNCTION(is_countable);
+#if defined(HAVE_GETTIMEOFDAY)
+ZEND_FUNCTION(uniqid);
+#endif
+ZEND_FUNCTION(parse_url);
+ZEND_FUNCTION(urlencode);
+ZEND_FUNCTION(urldecode);
+ZEND_FUNCTION(rawurlencode);
+ZEND_FUNCTION(rawurldecode);
+ZEND_FUNCTION(get_headers);
+ZEND_FUNCTION(stream_bucket_make_writeable);
+ZEND_FUNCTION(stream_bucket_prepend);
+ZEND_FUNCTION(stream_bucket_append);
+ZEND_FUNCTION(stream_bucket_new);
+ZEND_FUNCTION(stream_get_filters);
+ZEND_FUNCTION(stream_filter_register);
+ZEND_FUNCTION(convert_uuencode);
+ZEND_FUNCTION(convert_uudecode);
+ZEND_FUNCTION(var_dump);
+ZEND_FUNCTION(var_export);
+ZEND_FUNCTION(debug_zval_dump);
+ZEND_FUNCTION(serialize);
+ZEND_FUNCTION(unserialize);
+ZEND_FUNCTION(memory_get_usage);
+ZEND_FUNCTION(memory_get_peak_usage);
+ZEND_FUNCTION(version_compare);
+#if defined(PHP_WIN32)
+ZEND_FUNCTION(sapi_windows_cp_set);
+#endif
+#if defined(PHP_WIN32)
+ZEND_FUNCTION(sapi_windows_cp_get);
+#endif
+#if defined(PHP_WIN32)
+ZEND_FUNCTION(sapi_windows_cp_conv);
+#endif
+#if defined(PHP_WIN32)
+ZEND_FUNCTION(sapi_windows_cp_is_utf8);
+#endif
+#if defined(PHP_WIN32)
+ZEND_FUNCTION(sapi_windows_set_ctrl_handler);
+#endif
+#if defined(PHP_WIN32)
+ZEND_FUNCTION(sapi_windows_generate_ctrl_event);
+#endif
+
+
+static const zend_function_entry ext_functions[] = {
+       ZEND_FE(set_time_limit, arginfo_set_time_limit)
+       ZEND_FE(header_register_callback, arginfo_header_register_callback)
+       ZEND_FE(ob_start, arginfo_ob_start)
+       ZEND_FE(ob_flush, arginfo_ob_flush)
+       ZEND_FE(ob_clean, arginfo_ob_clean)
+       ZEND_FE(ob_end_flush, arginfo_ob_end_flush)
+       ZEND_FE(ob_end_clean, arginfo_ob_end_clean)
+       ZEND_FE(ob_get_flush, arginfo_ob_get_flush)
+       ZEND_FE(ob_get_clean, arginfo_ob_get_clean)
+       ZEND_FE(ob_get_contents, arginfo_ob_get_contents)
+       ZEND_FE(ob_get_level, arginfo_ob_get_level)
+       ZEND_FE(ob_get_length, arginfo_ob_get_length)
+       ZEND_FE(ob_list_handlers, arginfo_ob_list_handlers)
+       ZEND_FE(ob_get_status, arginfo_ob_get_status)
+       ZEND_FE(ob_implicit_flush, arginfo_ob_implicit_flush)
+       ZEND_FE(output_reset_rewrite_vars, arginfo_output_reset_rewrite_vars)
+       ZEND_FE(output_add_rewrite_var, arginfo_output_add_rewrite_var)
+       ZEND_FE(stream_wrapper_register, arginfo_stream_wrapper_register)
+       ZEND_FALIAS(stream_register_wrapper, stream_wrapper_register, arginfo_stream_register_wrapper)
+       ZEND_FE(stream_wrapper_unregister, arginfo_stream_wrapper_unregister)
+       ZEND_FE(stream_wrapper_restore, arginfo_stream_wrapper_restore)
+       ZEND_FE(array_push, arginfo_array_push)
+       ZEND_FE(krsort, arginfo_krsort)
+       ZEND_FE(ksort, arginfo_ksort)
+       ZEND_FE(count, arginfo_count)
+       ZEND_FALIAS(sizeof, count, arginfo_sizeof)
+       ZEND_FE(natsort, arginfo_natsort)
+       ZEND_FE(natcasesort, arginfo_natcasesort)
+       ZEND_FE(asort, arginfo_asort)
+       ZEND_FE(arsort, arginfo_arsort)
+       ZEND_FE(sort, arginfo_sort)
+       ZEND_FE(rsort, arginfo_rsort)
+       ZEND_FE(usort, arginfo_usort)
+       ZEND_FE(uasort, arginfo_uasort)
+       ZEND_FE(uksort, arginfo_uksort)
+       ZEND_FE(end, arginfo_end)
+       ZEND_FE(prev, arginfo_prev)
+       ZEND_FE(next, arginfo_next)
+       ZEND_FE(reset, arginfo_reset)
+       ZEND_FE(current, arginfo_current)
+       ZEND_FALIAS(pos, current, arginfo_pos)
+       ZEND_FE(key, arginfo_key)
+       ZEND_FE(min, arginfo_min)
+       ZEND_FE(max, arginfo_max)
+       ZEND_FE(array_walk, arginfo_array_walk)
+       ZEND_FE(array_walk_recursive, arginfo_array_walk_recursive)
+       ZEND_FE(in_array, arginfo_in_array)
+       ZEND_FE(array_search, arginfo_array_search)
+       ZEND_FE(extract, arginfo_extract)
+       ZEND_FE(compact, arginfo_compact)
+       ZEND_FE(array_fill, arginfo_array_fill)
+       ZEND_FE(array_fill_keys, arginfo_array_fill_keys)
+       ZEND_FE(range, arginfo_range)
+       ZEND_FE(shuffle, arginfo_shuffle)
+       ZEND_FE(array_pop, arginfo_array_pop)
+       ZEND_FE(array_shift, arginfo_array_shift)
+       ZEND_FE(array_unshift, arginfo_array_unshift)
+       ZEND_FE(array_splice, arginfo_array_splice)
+       ZEND_FE(array_slice, arginfo_array_slice)
+       ZEND_FE(array_merge, arginfo_array_merge)
+       ZEND_FE(array_merge_recursive, arginfo_array_merge_recursive)
+       ZEND_FE(array_replace, arginfo_array_replace)
+       ZEND_FE(array_replace_recursive, arginfo_array_replace_recursive)
+       ZEND_FE(array_keys, arginfo_array_keys)
+       ZEND_FE(array_key_first, arginfo_array_key_first)
+       ZEND_FE(array_key_last, arginfo_array_key_last)
+       ZEND_FE(array_values, arginfo_array_values)
+       ZEND_FE(array_count_values, arginfo_array_count_values)
+       ZEND_FE(array_column, arginfo_array_column)
+       ZEND_FE(array_reverse, arginfo_array_reverse)
+       ZEND_FE(array_pad, arginfo_array_pad)
+       ZEND_FE(array_flip, arginfo_array_flip)
+       ZEND_FE(array_change_key_case, arginfo_array_change_key_case)
+       ZEND_FE(array_unique, arginfo_array_unique)
+       ZEND_FE(array_intersect_key, arginfo_array_intersect_key)
+       ZEND_FE(array_intersect_ukey, arginfo_array_intersect_ukey)
+       ZEND_FE(array_intersect, arginfo_array_intersect)
+       ZEND_FE(array_uintersect, arginfo_array_uintersect)
+       ZEND_FE(array_intersect_assoc, arginfo_array_intersect_assoc)
+       ZEND_FE(array_uintersect_assoc, arginfo_array_uintersect_assoc)
+       ZEND_FE(array_intersect_uassoc, arginfo_array_intersect_uassoc)
+       ZEND_FE(array_uintersect_uassoc, arginfo_array_uintersect_uassoc)
+       ZEND_FE(array_diff_key, arginfo_array_diff_key)
+       ZEND_FE(array_diff_ukey, arginfo_array_diff_ukey)
+       ZEND_FE(array_diff, arginfo_array_diff)
+       ZEND_FE(array_udiff, arginfo_array_udiff)
+       ZEND_FE(array_diff_assoc, arginfo_array_diff_assoc)
+       ZEND_FE(array_diff_uassoc, arginfo_array_diff_uassoc)
+       ZEND_FE(array_udiff_assoc, arginfo_array_udiff_assoc)
+       ZEND_FE(array_udiff_uassoc, arginfo_array_udiff_uassoc)
+       ZEND_FE(array_multisort, arginfo_array_multisort)
+       ZEND_FE(array_rand, arginfo_array_rand)
+       ZEND_FE(array_sum, arginfo_array_sum)
+       ZEND_FE(array_product, arginfo_array_product)
+       ZEND_FE(array_reduce, arginfo_array_reduce)
+       ZEND_FE(array_filter, arginfo_array_filter)
+       ZEND_FE(array_map, arginfo_array_map)
+       ZEND_FE(array_key_exists, arginfo_array_key_exists)
+       ZEND_FALIAS(key_exists, array_key_exists, arginfo_key_exists)
+       ZEND_FE(array_chunk, arginfo_array_chunk)
+       ZEND_FE(array_combine, arginfo_array_combine)
+       ZEND_FE(base64_encode, arginfo_base64_encode)
+       ZEND_FE(base64_decode, arginfo_base64_decode)
+       ZEND_FE(constant, arginfo_constant)
+       ZEND_FE(ip2long, arginfo_ip2long)
+       ZEND_FE(long2ip, arginfo_long2ip)
+       ZEND_FE(getenv, arginfo_getenv)
+#if defined(HAVE_PUTENV)
+       ZEND_FE(putenv, arginfo_putenv)
+#endif
+       ZEND_FE(getopt, arginfo_getopt)
+       ZEND_FE(flush, arginfo_flush)
+       ZEND_FE(sleep, arginfo_sleep)
+       ZEND_FE(usleep, arginfo_usleep)
+#if HAVE_NANOSLEEP
+       ZEND_FE(time_nanosleep, arginfo_time_nanosleep)
+#endif
+#if HAVE_NANOSLEEP
+       ZEND_FE(time_sleep_until, arginfo_time_sleep_until)
+#endif
+       ZEND_FE(get_current_user, arginfo_get_current_user)
+       ZEND_FE(get_cfg_var, arginfo_get_cfg_var)
+       ZEND_FE(error_log, arginfo_error_log)
+       ZEND_FE(error_get_last, arginfo_error_get_last)
+       ZEND_FE(error_clear_last, arginfo_error_clear_last)
+       ZEND_FE(call_user_func, arginfo_call_user_func)
+       ZEND_FE(call_user_func_array, arginfo_call_user_func_array)
+       ZEND_FE(forward_static_call, arginfo_forward_static_call)
+       ZEND_FE(forward_static_call_array, arginfo_forward_static_call_array)
+       ZEND_FE(register_shutdown_function, arginfo_register_shutdown_function)
+       ZEND_FE(highlight_file, arginfo_highlight_file)
+       ZEND_FALIAS(show_source, highlight_file, arginfo_show_source)
+       ZEND_FE(php_strip_whitespace, arginfo_php_strip_whitespace)
+       ZEND_FE(highlight_string, arginfo_highlight_string)
+       ZEND_FE(ini_get, arginfo_ini_get)
+       ZEND_FE(ini_get_all, arginfo_ini_get_all)
+       ZEND_FE(ini_set, arginfo_ini_set)
+       ZEND_FALIAS(ini_alter, ini_set, arginfo_ini_alter)
+       ZEND_FE(ini_restore, arginfo_ini_restore)
+       ZEND_FE(set_include_path, arginfo_set_include_path)
+       ZEND_FE(get_include_path, arginfo_get_include_path)
+       ZEND_FE(print_r, arginfo_print_r)
+       ZEND_FE(connection_aborted, arginfo_connection_aborted)
+       ZEND_FE(connection_status, arginfo_connection_status)
+       ZEND_FE(ignore_user_abort, arginfo_ignore_user_abort)
+#if HAVE_GETSERVBYNAME
+       ZEND_FE(getservbyname, arginfo_getservbyname)
+#endif
+#if HAVE_GETSERVBYPORT
+       ZEND_FE(getservbyport, arginfo_getservbyport)
+#endif
+#if HAVE_GETPROTOBYNAME
+       ZEND_FE(getprotobyname, arginfo_getprotobyname)
+#endif
+#if HAVE_GETPROTOBYNUMBER
+       ZEND_FE(getprotobynumber, arginfo_getprotobynumber)
+#endif
+       ZEND_FE(register_tick_function, arginfo_register_tick_function)
+       ZEND_FE(unregister_tick_function, arginfo_unregister_tick_function)
+       ZEND_FE(is_uploaded_file, arginfo_is_uploaded_file)
+       ZEND_FE(move_uploaded_file, arginfo_move_uploaded_file)
+       ZEND_FE(parse_ini_file, arginfo_parse_ini_file)
+       ZEND_FE(parse_ini_string, arginfo_parse_ini_string)
+#if ZEND_DEBUG
+       ZEND_FE(config_get_hash, arginfo_config_get_hash)
+#endif
+#if defined(HAVE_GETLOADAVG)
+       ZEND_FE(sys_getloadavg, arginfo_sys_getloadavg)
+#endif
+       ZEND_FE(get_browser, arginfo_get_browser)
+       ZEND_FE(crc32, arginfo_crc32)
+       ZEND_FE(crypt, arginfo_crypt)
+#if HAVE_STRPTIME
+       ZEND_FE(strptime, arginfo_strptime)
+#endif
+#if defined(HAVE_GETHOSTNAME)
+       ZEND_FE(gethostname, arginfo_gethostname)
+#endif
+       ZEND_FE(gethostbyaddr, arginfo_gethostbyaddr)
+       ZEND_FE(gethostbyname, arginfo_gethostbyname)
+       ZEND_FE(gethostbynamel, arginfo_gethostbynamel)
+#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
+       ZEND_FE(dns_check_record, arginfo_dns_check_record)
+#endif
+#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
+       ZEND_FALIAS(checkdnsrr, dns_check_record, arginfo_checkdnsrr)
+#endif
+#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
+       ZEND_FE(dns_get_record, arginfo_dns_get_record)
+#endif
+#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
+       ZEND_FE(dns_get_mx, arginfo_dns_get_mx)
+#endif
+#if defined(PHP_WIN32) || HAVE_DNS_SEARCH_FUNC
+       ZEND_FALIAS(getmxrr, dns_get_mx, arginfo_getmxrr)
+#endif
+       ZEND_FE(net_get_interfaces, arginfo_net_get_interfaces)
+#if HAVE_FTOK
+       ZEND_FE(ftok, arginfo_ftok)
+#endif
+       ZEND_FE(hrtime, arginfo_hrtime)
+       ZEND_FE(lcg_value, arginfo_lcg_value)
+       ZEND_FE(md5, arginfo_md5)
+       ZEND_FE(md5_file, arginfo_md5_file)
+       ZEND_FE(getmyuid, arginfo_getmyuid)
+       ZEND_FE(getmygid, arginfo_getmygid)
+       ZEND_FE(getmypid, arginfo_getmypid)
+       ZEND_FE(getmyinode, arginfo_getmyinode)
+       ZEND_FE(getlastmod, arginfo_getlastmod)
+       ZEND_FE(sha1, arginfo_sha1)
+       ZEND_FE(sha1_file, arginfo_sha1_file)
+#if defined(HAVE_SYSLOG_H)
+       ZEND_FE(openlog, arginfo_openlog)
+#endif
+#if defined(HAVE_SYSLOG_H)
+       ZEND_FE(closelog, arginfo_closelog)
+#endif
+#if defined(HAVE_SYSLOG_H)
+       ZEND_FE(syslog, arginfo_syslog)
+#endif
+#if defined(HAVE_INET_NTOP)
+       ZEND_FE(inet_ntop, arginfo_inet_ntop)
+#endif
+#if defined(HAVE_INET_PTON)
+       ZEND_FE(inet_pton, arginfo_inet_pton)
+#endif
+       ZEND_FE(metaphone, arginfo_metaphone)
+       ZEND_FE(header, arginfo_header)
+       ZEND_FE(header_remove, arginfo_header_remove)
+       ZEND_FE(setrawcookie, arginfo_setrawcookie)
+       ZEND_FE(setcookie, arginfo_setcookie)
+       ZEND_FE(http_response_code, arginfo_http_response_code)
+       ZEND_FE(headers_sent, arginfo_headers_sent)
+       ZEND_FE(headers_list, arginfo_headers_list)
+       ZEND_FE(htmlspecialchars, arginfo_htmlspecialchars)
+       ZEND_FE(htmlspecialchars_decode, arginfo_htmlspecialchars_decode)
+       ZEND_FE(html_entity_decode, arginfo_html_entity_decode)
+       ZEND_FE(htmlentities, arginfo_htmlentities)
+       ZEND_FE(get_html_translation_table, arginfo_get_html_translation_table)
+       ZEND_FE(assert, arginfo_assert)
+       ZEND_FE(assert_options, arginfo_assert_options)
+       ZEND_FE(bin2hex, arginfo_bin2hex)
+       ZEND_FE(hex2bin, arginfo_hex2bin)
+       ZEND_FE(strspn, arginfo_strspn)
+       ZEND_FE(strcspn, arginfo_strcspn)
+#if HAVE_NL_LANGINFO
+       ZEND_FE(nl_langinfo, arginfo_nl_langinfo)
+#endif
+       ZEND_FE(strcoll, arginfo_strcoll)
+       ZEND_FE(trim, arginfo_trim)
+       ZEND_FE(rtrim, arginfo_rtrim)
+       ZEND_FALIAS(chop, rtrim, arginfo_chop)
+       ZEND_FE(ltrim, arginfo_ltrim)
+       ZEND_FE(wordwrap, arginfo_wordwrap)
+       ZEND_FE(explode, arginfo_explode)
+       ZEND_FE(implode, arginfo_implode)
+       ZEND_FALIAS(join, implode, arginfo_join)
+       ZEND_FE(strtok, arginfo_strtok)
+       ZEND_FE(strtoupper, arginfo_strtoupper)
+       ZEND_FE(strtolower, arginfo_strtolower)
+       ZEND_FE(basename, arginfo_basename)
+       ZEND_FE(dirname, arginfo_dirname)
+       ZEND_FE(pathinfo, arginfo_pathinfo)
+       ZEND_FE(stristr, arginfo_stristr)
+       ZEND_FE(strstr, arginfo_strstr)
+       ZEND_FALIAS(strchr, strstr, arginfo_strchr)
+       ZEND_FE(strpos, arginfo_strpos)
+       ZEND_FE(stripos, arginfo_stripos)
+       ZEND_FE(strrpos, arginfo_strrpos)
+       ZEND_FE(strripos, arginfo_strripos)
+       ZEND_FE(strrchr, arginfo_strrchr)
+       ZEND_FE(str_contains, arginfo_str_contains)
+       ZEND_FE(chunk_split, arginfo_chunk_split)
+       ZEND_FE(substr, arginfo_substr)
+       ZEND_FE(substr_replace, arginfo_substr_replace)
+       ZEND_FE(quotemeta, arginfo_quotemeta)
+       ZEND_FE(ord, arginfo_ord)
+       ZEND_FE(chr, arginfo_chr)
+       ZEND_FE(ucfirst, arginfo_ucfirst)
+       ZEND_FE(lcfirst, arginfo_lcfirst)
+       ZEND_FE(ucwords, arginfo_ucwords)
+       ZEND_FE(strtr, arginfo_strtr)
+       ZEND_FE(strrev, arginfo_strrev)
+       ZEND_FE(similar_text, arginfo_similar_text)
+       ZEND_FE(addcslashes, arginfo_addcslashes)
+       ZEND_FE(addslashes, arginfo_addslashes)
+       ZEND_FE(stripcslashes, arginfo_stripcslashes)
+       ZEND_FE(stripslashes, arginfo_stripslashes)
+       ZEND_FE(str_replace, arginfo_str_replace)
+       ZEND_FE(str_ireplace, arginfo_str_ireplace)
+       ZEND_FE(hebrev, arginfo_hebrev)
+       ZEND_FE(nl2br, arginfo_nl2br)
+       ZEND_FE(strip_tags, arginfo_strip_tags)
+       ZEND_FE(setlocale, arginfo_setlocale)
+       ZEND_FE(parse_str, arginfo_parse_str)
+       ZEND_FE(str_getcsv, arginfo_str_getcsv)
+       ZEND_FE(str_repeat, arginfo_str_repeat)
+       ZEND_FE(count_chars, arginfo_count_chars)
+       ZEND_FE(strnatcmp, arginfo_strnatcmp)
+       ZEND_FE(localeconv, arginfo_localeconv)
+       ZEND_FE(strnatcasecmp, arginfo_strnatcasecmp)
+       ZEND_FE(substr_count, arginfo_substr_count)
+       ZEND_FE(str_pad, arginfo_str_pad)
+       ZEND_FE(sscanf, arginfo_sscanf)
+       ZEND_FE(str_rot13, arginfo_str_rot13)
+       ZEND_FE(str_shuffle, arginfo_str_shuffle)
+       ZEND_FE(str_word_count, arginfo_str_word_count)
+       ZEND_FE(str_split, arginfo_str_split)
+       ZEND_FE(strpbrk, arginfo_strpbrk)
+       ZEND_FE(substr_compare, arginfo_substr_compare)
+       ZEND_FE(utf8_encode, arginfo_utf8_encode)
+       ZEND_FE(utf8_decode, arginfo_utf8_decode)
+       ZEND_FE(opendir, arginfo_opendir)
+       ZEND_FE(getdir, arginfo_getdir)
+       ZEND_FALIAS(dir, getdir, arginfo_dir)
+       ZEND_FE(closedir, arginfo_closedir)
+       ZEND_FE(chdir, arginfo_chdir)
+#if defined(HAVE_CHROOT) && !defined(ZTS) && ENABLE_CHROOT_FUNC
+       ZEND_FE(chroot, arginfo_chroot)
+#endif
+       ZEND_FE(getcwd, arginfo_getcwd)
+       ZEND_FE(rewinddir, arginfo_rewinddir)
+       ZEND_FE(readdir, arginfo_readdir)
+       ZEND_FE(scandir, arginfo_scandir)
+#if defined(HAVE_GLOB)
+       ZEND_FE(glob, arginfo_glob)
+#endif
+       ZEND_FE(exec, arginfo_exec)
+       ZEND_FE(system, arginfo_system)
+       ZEND_FE(passthru, arginfo_passthru)
+       ZEND_FE(escapeshellcmd, arginfo_escapeshellcmd)
+       ZEND_FE(escapeshellarg, arginfo_escapeshellarg)
+       ZEND_FE(shell_exec, arginfo_shell_exec)
+#if defined(HAVE_NICE)
+       ZEND_FE(proc_nice, arginfo_proc_nice)
+#endif
+       ZEND_FE(flock, arginfo_flock)
+       ZEND_FE(get_meta_tags, arginfo_get_meta_tags)
+       ZEND_FE(pclose, arginfo_pclose)
+       ZEND_FE(popen, arginfo_popen)
+       ZEND_FE(readfile, arginfo_readfile)
+       ZEND_FE(rewind, arginfo_rewind)
+       ZEND_FE(rmdir, arginfo_rmdir)
+       ZEND_FE(umask, arginfo_umask)
+       ZEND_FE(fclose, arginfo_fclose)
+       ZEND_FE(feof, arginfo_feof)
+       ZEND_FE(fgetc, arginfo_fgetc)
+       ZEND_FE(fgets, arginfo_fgets)
+       ZEND_FE(fread, arginfo_fread)
+       ZEND_FE(fopen, arginfo_fopen)
+       ZEND_FE(fscanf, arginfo_fscanf)
+       ZEND_FE(fpassthru, arginfo_fpassthru)
+       ZEND_FE(ftruncate, arginfo_ftruncate)
+       ZEND_FE(fstat, arginfo_fstat)
+       ZEND_FE(fseek, arginfo_fseek)
+       ZEND_FE(ftell, arginfo_ftell)
+       ZEND_FE(fflush, arginfo_fflush)
+       ZEND_FE(fwrite, arginfo_fwrite)
+       ZEND_FALIAS(fputs, fwrite, arginfo_fputs)
+       ZEND_FE(mkdir, arginfo_mkdir)
+       ZEND_FE(rename, arginfo_rename)
+       ZEND_FE(copy, arginfo_copy)
+       ZEND_FE(tempnam, arginfo_tempnam)
+       ZEND_FE(tmpfile, arginfo_tmpfile)
+       ZEND_FE(file, arginfo_file)
+       ZEND_FE(file_get_contents, arginfo_file_get_contents)
+       ZEND_FE(unlink, arginfo_unlink)
+       ZEND_FE(file_put_contents, arginfo_file_put_contents)
+       ZEND_FE(fputcsv, arginfo_fputcsv)
+       ZEND_FE(fgetcsv, arginfo_fgetcsv)
+       ZEND_FE(realpath, arginfo_realpath)
+#if defined(HAVE_FNMATCH)
+       ZEND_FE(fnmatch, arginfo_fnmatch)
+#endif
+       ZEND_FE(sys_get_temp_dir, arginfo_sys_get_temp_dir)
+       ZEND_FE(fileatime, arginfo_fileatime)
+       ZEND_FE(filectime, arginfo_filectime)
+       ZEND_FE(filegroup, arginfo_filegroup)
+       ZEND_FE(fileinode, arginfo_fileinode)
+       ZEND_FE(filemtime, arginfo_filemtime)
+       ZEND_FE(fileowner, arginfo_fileowner)
+       ZEND_FE(fileperms, arginfo_fileperms)
+       ZEND_FE(filesize, arginfo_filesize)
+       ZEND_FE(filetype, arginfo_filetype)
+       ZEND_FE(file_exists, arginfo_file_exists)
+       ZEND_FE(is_writable, arginfo_is_writable)
+       ZEND_FALIAS(is_writeable, is_writable, arginfo_is_writeable)
+       ZEND_FE(is_readable, arginfo_is_readable)
+       ZEND_FE(is_executable, arginfo_is_executable)
+       ZEND_FE(is_file, arginfo_is_file)
+       ZEND_FE(is_dir, arginfo_is_dir)
+       ZEND_FE(is_link, arginfo_is_link)
+       ZEND_FE(stat, arginfo_stat)
+       ZEND_FE(lstat, arginfo_lstat)
+       ZEND_FE(chown, arginfo_chown)
+       ZEND_FE(chgrp, arginfo_chgrp)
+#if HAVE_LCHOWN
+       ZEND_FE(lchown, arginfo_lchown)
+#endif
+#if HAVE_LCHOWN
+       ZEND_FE(lchgrp, arginfo_lchgrp)
+#endif
+       ZEND_FE(chmod, arginfo_chmod)
+#if HAVE_UTIME
+       ZEND_FE(touch, arginfo_touch)
+#endif
+       ZEND_FE(clearstatcache, arginfo_clearstatcache)
+       ZEND_FE(disk_total_space, arginfo_disk_total_space)
+       ZEND_FE(disk_free_space, arginfo_disk_free_space)
+       ZEND_FALIAS(diskfreespace, disk_free_space, arginfo_diskfreespace)
+       ZEND_FE(realpath_cache_get, arginfo_realpath_cache_get)
+       ZEND_FE(realpath_cache_size, arginfo_realpath_cache_size)
+       ZEND_FE(sprintf, arginfo_sprintf)
+       ZEND_FE(printf, arginfo_printf)
+       ZEND_FE(vprintf, arginfo_vprintf)
+       ZEND_FE(vsprintf, arginfo_vsprintf)
+       ZEND_FE(fprintf, arginfo_fprintf)
+       ZEND_FE(vfprintf, arginfo_vfprintf)
+       ZEND_FE(fsockopen, arginfo_fsockopen)
+       ZEND_FE(pfsockopen, arginfo_pfsockopen)
+       ZEND_FE(http_build_query, arginfo_http_build_query)
+       ZEND_FE(image_type_to_mime_type, arginfo_image_type_to_mime_type)
+       ZEND_FE(image_type_to_extension, arginfo_image_type_to_extension)
+       ZEND_FE(getimagesize, arginfo_getimagesize)
+       ZEND_FE(getimagesizefromstring, arginfo_getimagesizefromstring)
+       ZEND_FE(phpinfo, arginfo_phpinfo)
+       ZEND_FE(phpversion, arginfo_phpversion)
+       ZEND_FE(phpcredits, arginfo_phpcredits)
+       ZEND_FE(php_sapi_name, arginfo_php_sapi_name)
+       ZEND_FE(php_uname, arginfo_php_uname)
+       ZEND_FE(php_ini_scanned_files, arginfo_php_ini_scanned_files)
+       ZEND_FE(php_ini_loaded_file, arginfo_php_ini_loaded_file)
+       ZEND_FE(iptcembed, arginfo_iptcembed)
+       ZEND_FE(iptcparse, arginfo_iptcparse)
+       ZEND_FE(levenshtein, arginfo_levenshtein)
+#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
+       ZEND_FE(readlink, arginfo_readlink)
+#endif
+#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
+       ZEND_FE(linkinfo, arginfo_linkinfo)
+#endif
+#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
+       ZEND_FE(symlink, arginfo_symlink)
+#endif
+#if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
+       ZEND_FE(link, arginfo_link)
+#endif
+       ZEND_FE(mail, arginfo_mail)
+       ZEND_FE(abs, arginfo_abs)
+       ZEND_FE(ceil, arginfo_ceil)
+       ZEND_FE(floor, arginfo_floor)
+       ZEND_FE(round, arginfo_round)
+       ZEND_FE(sin, arginfo_sin)
+       ZEND_FE(cos, arginfo_cos)
+       ZEND_FE(tan, arginfo_tan)
+       ZEND_FE(asin, arginfo_asin)
+       ZEND_FE(acos, arginfo_acos)
+       ZEND_FE(atan, arginfo_atan)
+       ZEND_FE(atanh, arginfo_atanh)
+       ZEND_FE(atan2, arginfo_atan2)
+       ZEND_FE(sinh, arginfo_sinh)
+       ZEND_FE(cosh, arginfo_cosh)
+       ZEND_FE(tanh, arginfo_tanh)
+       ZEND_FE(asinh, arginfo_asinh)
+       ZEND_FE(acosh, arginfo_acosh)
+       ZEND_FE(expm1, arginfo_expm1)
+       ZEND_FE(log1p, arginfo_log1p)
+       ZEND_FE(pi, arginfo_pi)
+       ZEND_FE(is_finite, arginfo_is_finite)
+       ZEND_FE(is_nan, arginfo_is_nan)
+       ZEND_FE(intdiv, arginfo_intdiv)
+       ZEND_FE(is_infinite, arginfo_is_infinite)
+       ZEND_FE(pow, arginfo_pow)
+       ZEND_FE(exp, arginfo_exp)
+       ZEND_FE(log, arginfo_log)
+       ZEND_FE(log10, arginfo_log10)
+       ZEND_FE(sqrt, arginfo_sqrt)
+       ZEND_FE(hypot, arginfo_hypot)
+       ZEND_FE(deg2rad, arginfo_deg2rad)
+       ZEND_FE(rad2deg, arginfo_rad2deg)
+       ZEND_FE(bindec, arginfo_bindec)
+       ZEND_FE(hexdec, arginfo_hexdec)
+       ZEND_FE(octdec, arginfo_octdec)
+       ZEND_FE(decbin, arginfo_decbin)
+       ZEND_FE(decoct, arginfo_decoct)
+       ZEND_FE(dechex, arginfo_dechex)
+       ZEND_FE(base_convert, arginfo_base_convert)
+       ZEND_FE(number_format, arginfo_number_format)
+       ZEND_FE(fmod, arginfo_fmod)
+       ZEND_FE(fdiv, arginfo_fdiv)
+#if defined(HAVE_GETTIMEOFDAY)
+       ZEND_FE(microtime, arginfo_microtime)
+#endif
+#if defined(HAVE_GETTIMEOFDAY)
+       ZEND_FE(gettimeofday, arginfo_gettimeofday)
+#endif
+#if defined(HAVE_GETRUSAGE)
+       ZEND_FE(getrusage, arginfo_getrusage)
+#endif
+       ZEND_FE(pack, arginfo_pack)
+       ZEND_FE(unpack, arginfo_unpack)
+       ZEND_FE(password_get_info, arginfo_password_get_info)
+       ZEND_FE(password_hash, arginfo_password_hash)
+       ZEND_FE(password_needs_rehash, arginfo_password_needs_rehash)
+       ZEND_FE(password_verify, arginfo_password_verify)
+       ZEND_FE(password_algos, arginfo_password_algos)
+#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
+       ZEND_FE(proc_open, arginfo_proc_open)
+#endif
+#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
+       ZEND_FE(proc_close, arginfo_proc_close)
+#endif
+#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
+       ZEND_FE(proc_terminate, arginfo_proc_terminate)
+#endif
+#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
+       ZEND_FE(proc_get_status, arginfo_proc_get_status)
+#endif
+       ZEND_FE(quoted_printable_decode, arginfo_quoted_printable_decode)
+       ZEND_FE(quoted_printable_encode, arginfo_quoted_printable_encode)
+       ZEND_FE(mt_srand, arginfo_mt_srand)
+       ZEND_FALIAS(srand, mt_srand, arginfo_srand)
+       ZEND_FE(rand, arginfo_rand)
+       ZEND_FE(mt_rand, arginfo_mt_rand)
+       ZEND_FE(mt_getrandmax, arginfo_mt_getrandmax)
+       ZEND_FALIAS(getrandmax, mt_getrandmax, arginfo_getrandmax)
+       ZEND_FE(random_bytes, arginfo_random_bytes)
+       ZEND_FE(random_int, arginfo_random_int)
+       ZEND_FE(soundex, arginfo_soundex)
+       ZEND_FE(stream_select, arginfo_stream_select)
+       ZEND_FE(stream_context_create, arginfo_stream_context_create)
+       ZEND_FE(stream_context_set_params, arginfo_stream_context_set_params)
+       ZEND_FE(stream_context_get_params, arginfo_stream_context_get_params)
+       ZEND_FE(stream_context_set_option, arginfo_stream_context_set_option)
+       ZEND_FE(stream_context_get_options, arginfo_stream_context_get_options)
+       ZEND_FE(stream_context_get_default, arginfo_stream_context_get_default)
+       ZEND_FE(stream_context_set_default, arginfo_stream_context_set_default)
+       ZEND_FE(stream_filter_prepend, arginfo_stream_filter_prepend)
+       ZEND_FE(stream_filter_append, arginfo_stream_filter_append)
+       ZEND_FE(stream_filter_remove, arginfo_stream_filter_remove)
+       ZEND_FE(stream_socket_client, arginfo_stream_socket_client)
+       ZEND_FE(stream_socket_server, arginfo_stream_socket_server)
+       ZEND_FE(stream_socket_accept, arginfo_stream_socket_accept)
+       ZEND_FE(stream_socket_get_name, arginfo_stream_socket_get_name)
+       ZEND_FE(stream_socket_recvfrom, arginfo_stream_socket_recvfrom)
+       ZEND_FE(stream_socket_sendto, arginfo_stream_socket_sendto)
+       ZEND_FE(stream_socket_enable_crypto, arginfo_stream_socket_enable_crypto)
+#if defined(HAVE_SHUTDOWN)
+       ZEND_FE(stream_socket_shutdown, arginfo_stream_socket_shutdown)
+#endif
+#if HAVE_SOCKETPAIR
+       ZEND_FE(stream_socket_pair, arginfo_stream_socket_pair)
+#endif
+       ZEND_FE(stream_copy_to_stream, arginfo_stream_copy_to_stream)
+       ZEND_FE(stream_get_contents, arginfo_stream_get_contents)
+       ZEND_FE(stream_supports_lock, arginfo_stream_supports_lock)
+       ZEND_FE(stream_set_write_buffer, arginfo_stream_set_write_buffer)
+       ZEND_FALIAS(set_file_buffer, stream_set_write_buffer, arginfo_set_file_buffer)
+       ZEND_FE(stream_set_read_buffer, arginfo_stream_set_read_buffer)
+       ZEND_FE(stream_set_blocking, arginfo_stream_set_blocking)
+       ZEND_FALIAS(socket_set_blocking, stream_set_blocking, arginfo_socket_set_blocking)
+       ZEND_FE(stream_get_meta_data, arginfo_stream_get_meta_data)
+       ZEND_FALIAS(socket_get_status, stream_get_meta_data, arginfo_socket_get_status)
+       ZEND_FE(stream_get_line, arginfo_stream_get_line)
+       ZEND_FE(stream_resolve_include_path, arginfo_stream_resolve_include_path)
+       ZEND_FE(stream_get_wrappers, arginfo_stream_get_wrappers)
+       ZEND_FE(stream_get_transports, arginfo_stream_get_transports)
+       ZEND_FE(stream_is_local, arginfo_stream_is_local)
+       ZEND_FE(stream_isatty, arginfo_stream_isatty)
+#if defined(PHP_WIN32)
+       ZEND_FE(sapi_windows_vt100_support, arginfo_sapi_windows_vt100_support)
+#endif
+       ZEND_FE(stream_set_chunk_size, arginfo_stream_set_chunk_size)
+#if HAVE_SYS_TIME_H || defined(PHP_WIN32)
+       ZEND_FE(stream_set_timeout, arginfo_stream_set_timeout)
+#endif
+#if HAVE_SYS_TIME_H || defined(PHP_WIN32)
+       ZEND_FALIAS(socket_set_timeout, stream_set_timeout, arginfo_socket_set_timeout)
+#endif
+       ZEND_FE(gettype, arginfo_gettype)
+       ZEND_FE(settype, arginfo_settype)
+       ZEND_FE(intval, arginfo_intval)
+       ZEND_FE(floatval, arginfo_floatval)
+       ZEND_FALIAS(doubleval, floatval, arginfo_doubleval)
+       ZEND_FE(boolval, arginfo_boolval)
+       ZEND_FE(strval, arginfo_strval)
+       ZEND_FE(is_null, arginfo_is_null)
+       ZEND_FE(is_resource, arginfo_is_resource)
+       ZEND_FE(is_bool, arginfo_is_bool)
+       ZEND_FE(is_int, arginfo_is_int)
+       ZEND_FALIAS(is_integer, is_int, arginfo_is_integer)
+       ZEND_FALIAS(is_long, is_int, arginfo_is_long)
+       ZEND_FE(is_float, arginfo_is_float)
+       ZEND_FALIAS(is_double, is_float, arginfo_is_double)
+       ZEND_FALIAS(is_real, is_float, arginfo_is_real)
+       ZEND_FE(is_numeric, arginfo_is_numeric)
+       ZEND_FE(is_string, arginfo_is_string)
+       ZEND_FE(is_array, arginfo_is_array)
+       ZEND_FE(is_object, arginfo_is_object)
+       ZEND_FE(is_scalar, arginfo_is_scalar)
+       ZEND_FE(is_callable, arginfo_is_callable)
+       ZEND_FE(is_iterable, arginfo_is_iterable)
+       ZEND_FE(is_countable, arginfo_is_countable)
+#if defined(HAVE_GETTIMEOFDAY)
+       ZEND_FE(uniqid, arginfo_uniqid)
+#endif
+       ZEND_FE(parse_url, arginfo_parse_url)
+       ZEND_FE(urlencode, arginfo_urlencode)
+       ZEND_FE(urldecode, arginfo_urldecode)
+       ZEND_FE(rawurlencode, arginfo_rawurlencode)
+       ZEND_FE(rawurldecode, arginfo_rawurldecode)
+       ZEND_FE(get_headers, arginfo_get_headers)
+       ZEND_FE(stream_bucket_make_writeable, arginfo_stream_bucket_make_writeable)
+       ZEND_FE(stream_bucket_prepend, arginfo_stream_bucket_prepend)
+       ZEND_FE(stream_bucket_append, arginfo_stream_bucket_append)
+       ZEND_FE(stream_bucket_new, arginfo_stream_bucket_new)
+       ZEND_FE(stream_get_filters, arginfo_stream_get_filters)
+       ZEND_FE(stream_filter_register, arginfo_stream_filter_register)
+       ZEND_FE(convert_uuencode, arginfo_convert_uuencode)
+       ZEND_FE(convert_uudecode, arginfo_convert_uudecode)
+       ZEND_FE(var_dump, arginfo_var_dump)
+       ZEND_FE(var_export, arginfo_var_export)
+       ZEND_FE(debug_zval_dump, arginfo_debug_zval_dump)
+       ZEND_FE(serialize, arginfo_serialize)
+       ZEND_FE(unserialize, arginfo_unserialize)
+       ZEND_FE(memory_get_usage, arginfo_memory_get_usage)
+       ZEND_FE(memory_get_peak_usage, arginfo_memory_get_peak_usage)
+       ZEND_FE(version_compare, arginfo_version_compare)
+#if defined(PHP_WIN32)
+       ZEND_FE(sapi_windows_cp_set, arginfo_sapi_windows_cp_set)
+#endif
+#if defined(PHP_WIN32)
+       ZEND_FE(sapi_windows_cp_get, arginfo_sapi_windows_cp_get)
+#endif
+#if defined(PHP_WIN32)
+       ZEND_FE(sapi_windows_cp_conv, arginfo_sapi_windows_cp_conv)
+#endif
+#if defined(PHP_WIN32)
+       ZEND_FE(sapi_windows_cp_is_utf8, arginfo_sapi_windows_cp_is_utf8)
+#endif
+#if defined(PHP_WIN32)
+       ZEND_FE(sapi_windows_set_ctrl_handler, arginfo_sapi_windows_set_ctrl_handler)
+#endif
+#if defined(PHP_WIN32)
+       ZEND_FE(sapi_windows_generate_ctrl_event, arginfo_sapi_windows_generate_ctrl_event)
+#endif
+       ZEND_FE_END
+};