summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/bcmath/bcmath.c16
-rw-r--r--ext/bcmath/bcmath.stub.php2
-rw-r--r--ext/bcmath/bcmath_arginfo.h27
-rw-r--r--ext/bcmath/php_bcmath.h11
-rw-r--r--ext/calendar/calendar.c25
-rw-r--r--ext/calendar/calendar.stub.php2
-rw-r--r--ext/calendar/calendar_arginfo.h43
-rw-r--r--ext/calendar/php_calendar.h19
-rw-r--r--ext/ctype/ctype.c54
-rw-r--r--ext/ctype/ctype.stub.php2
-rw-r--r--ext/ctype/ctype_arginfo.h29
-rw-r--r--ext/curl/curl.stub.php23
-rw-r--r--ext/curl/curl_arginfo.h109
-rw-r--r--ext/curl/interface.c41
-rw-r--r--ext/curl/php_curl.h46
-rw-r--r--ext/date/php_date.c64
-rw-r--r--ext/date/php_date.h54
-rw-r--r--ext/date/php_date.stub.php3
-rw-r--r--ext/date/php_date_arginfo.h103
-rw-r--r--ext/dba/dba.c24
-rw-r--r--ext/dba/dba.stub.php2
-rw-r--r--ext/dba/dba_arginfo.h37
-rw-r--r--ext/dba/php_dba.h16
-rw-r--r--ext/dom/dom.stub.php2
-rw-r--r--ext/dom/dom_arginfo.h9
-rw-r--r--ext/dom/php_dom.c7
-rw-r--r--ext/enchant/enchant.c32
-rw-r--r--ext/enchant/enchant.stub.php2
-rw-r--r--ext/enchant/enchant_arginfo.h49
-rw-r--r--ext/enchant/php_enchant.h23
-rw-r--r--ext/exif/exif.c13
-rw-r--r--ext/exif/exif.stub.php2
-rw-r--r--ext/exif/exif_arginfo.h15
-rw-r--r--ext/exif/php_exif.h4
-rw-r--r--ext/fileinfo/fileinfo.c16
-rw-r--r--ext/fileinfo/fileinfo.stub.php2
-rw-r--r--ext/fileinfo/fileinfo_arginfo.h19
-rw-r--r--ext/fileinfo/php_fileinfo.h7
38 files changed, 484 insertions, 470 deletions
diff --git a/ext/bcmath/bcmath.c b/ext/bcmath/bcmath.c
index 5d0d47f7c0..8c46ee0f93 100644
--- a/ext/bcmath/bcmath.c
+++ b/ext/bcmath/bcmath.c
@@ -33,24 +33,10 @@ ZEND_DECLARE_MODULE_GLOBALS(bcmath)
static PHP_GINIT_FUNCTION(bcmath);
static PHP_GSHUTDOWN_FUNCTION(bcmath);
-static const zend_function_entry bcmath_functions[] = {
- PHP_FE(bcadd, arginfo_bcadd)
- PHP_FE(bcsub, arginfo_bcsub)
- PHP_FE(bcmul, arginfo_bcmul)
- PHP_FE(bcdiv, arginfo_bcdiv)
- PHP_FE(bcmod, arginfo_bcmod)
- PHP_FE(bcpow, arginfo_bcpow)
- PHP_FE(bcsqrt, arginfo_bcsqrt)
- PHP_FE(bcscale, arginfo_bcscale)
- PHP_FE(bccomp, arginfo_bccomp)
- PHP_FE(bcpowmod, arginfo_bcpowmod)
- PHP_FE_END
-};
-
zend_module_entry bcmath_module_entry = {
STANDARD_MODULE_HEADER,
"bcmath",
- bcmath_functions,
+ ext_functions,
PHP_MINIT(bcmath),
PHP_MSHUTDOWN(bcmath),
NULL,
diff --git a/ext/bcmath/bcmath.stub.php b/ext/bcmath/bcmath.stub.php
index 0a975352bb..6ef6cc0926 100644
--- a/ext/bcmath/bcmath.stub.php
+++ b/ext/bcmath/bcmath.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
function bcadd(string $left_operand, string $right_operand, int $scale = UNKNOWN): string {}
function bcsub(string $left_operand, string $right_operand, int $scale = UNKNOWN): string {}
diff --git a/ext/bcmath/bcmath_arginfo.h b/ext/bcmath/bcmath_arginfo.h
index dd246518dc..61f0092b45 100644
--- a/ext/bcmath/bcmath_arginfo.h
+++ b/ext/bcmath/bcmath_arginfo.h
@@ -45,3 +45,30 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcscale, 0, 0, IS_LONG, 0)
ZEND_ARG_TYPE_INFO(0, scale, IS_LONG, 0)
ZEND_END_ARG_INFO()
+
+
+ZEND_FUNCTION(bcadd);
+ZEND_FUNCTION(bcsub);
+ZEND_FUNCTION(bcmul);
+ZEND_FUNCTION(bcdiv);
+ZEND_FUNCTION(bcmod);
+ZEND_FUNCTION(bcpowmod);
+ZEND_FUNCTION(bcpow);
+ZEND_FUNCTION(bcsqrt);
+ZEND_FUNCTION(bccomp);
+ZEND_FUNCTION(bcscale);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(bcadd, arginfo_bcadd)
+ ZEND_FE(bcsub, arginfo_bcsub)
+ ZEND_FE(bcmul, arginfo_bcmul)
+ ZEND_FE(bcdiv, arginfo_bcdiv)
+ ZEND_FE(bcmod, arginfo_bcmod)
+ ZEND_FE(bcpowmod, arginfo_bcpowmod)
+ ZEND_FE(bcpow, arginfo_bcpow)
+ ZEND_FE(bcsqrt, arginfo_bcsqrt)
+ ZEND_FE(bccomp, arginfo_bccomp)
+ ZEND_FE(bcscale, arginfo_bcscale)
+ ZEND_FE_END
+};
diff --git a/ext/bcmath/php_bcmath.h b/ext/bcmath/php_bcmath.h
index 5c97780ead..bafaf29e7a 100644
--- a/ext/bcmath/php_bcmath.h
+++ b/ext/bcmath/php_bcmath.h
@@ -29,17 +29,6 @@ PHP_MINIT_FUNCTION(bcmath);
PHP_MSHUTDOWN_FUNCTION(bcmath);
PHP_MINFO_FUNCTION(bcmath);
-PHP_FUNCTION(bcadd);
-PHP_FUNCTION(bcsub);
-PHP_FUNCTION(bcmul);
-PHP_FUNCTION(bcdiv);
-PHP_FUNCTION(bcmod);
-PHP_FUNCTION(bcpow);
-PHP_FUNCTION(bcsqrt);
-PHP_FUNCTION(bccomp);
-PHP_FUNCTION(bcscale);
-PHP_FUNCTION(bcpowmod);
-
ZEND_BEGIN_MODULE_GLOBALS(bcmath)
bc_num _zero_;
bc_num _one_;
diff --git a/ext/calendar/calendar.c b/ext/calendar/calendar.c
index a4a094fcdf..32b229c41d 100644
--- a/ext/calendar/calendar.c
+++ b/ext/calendar/calendar.c
@@ -35,33 +35,10 @@
#undef CAL_GREGORIAN
#endif
-static const zend_function_entry calendar_functions[] = {
- PHP_FE(jdtogregorian, arginfo_jdtogregorian)
- PHP_FE(gregoriantojd, arginfo_gregoriantojd)
- PHP_FE(jdtojulian, arginfo_jdtojulian)
- PHP_FE(juliantojd, arginfo_juliantojd)
- PHP_FE(jdtojewish, arginfo_jdtojewish)
- PHP_FE(jewishtojd, arginfo_jewishtojd)
- PHP_FE(jdtofrench, arginfo_jdtofrench)
- PHP_FE(frenchtojd, arginfo_frenchtojd)
- PHP_FE(jddayofweek, arginfo_jddayofweek)
- PHP_FE(jdmonthname, arginfo_jdmonthname)
- PHP_FE(easter_date, arginfo_easter_date)
- PHP_FE(easter_days, arginfo_easter_days)
- PHP_FE(unixtojd, arginfo_unixtojd)
- PHP_FE(jdtounix, arginfo_jdtounix)
- PHP_FE(cal_to_jd, arginfo_cal_to_jd)
- PHP_FE(cal_from_jd, arginfo_cal_from_jd)
- PHP_FE(cal_days_in_month, arginfo_cal_days_in_month)
- PHP_FE(cal_info, arginfo_cal_info)
- PHP_FE_END
-};
-
-
zend_module_entry calendar_module_entry = {
STANDARD_MODULE_HEADER,
"calendar",
- calendar_functions,
+ ext_functions,
PHP_MINIT(calendar),
NULL,
NULL,
diff --git a/ext/calendar/calendar.stub.php b/ext/calendar/calendar.stub.php
index 88b5b5fe39..1c2db30ce4 100644
--- a/ext/calendar/calendar.stub.php
+++ b/ext/calendar/calendar.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
function cal_days_in_month(int $calendar, int $month, int $year): int {}
function cal_from_jd(int $jd, int $calendar): array {}
diff --git a/ext/calendar/calendar_arginfo.h b/ext/calendar/calendar_arginfo.h
index ab0064d016..c7f2ad2fc1 100644
--- a/ext/calendar/calendar_arginfo.h
+++ b/ext/calendar/calendar_arginfo.h
@@ -72,3 +72,46 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_unixtojd, 0, 0, MAY_BE_LONG|MAY_BE_FALSE)
ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
ZEND_END_ARG_INFO()
+
+
+ZEND_FUNCTION(cal_days_in_month);
+ZEND_FUNCTION(cal_from_jd);
+ZEND_FUNCTION(cal_info);
+ZEND_FUNCTION(cal_to_jd);
+ZEND_FUNCTION(easter_date);
+ZEND_FUNCTION(easter_days);
+ZEND_FUNCTION(frenchtojd);
+ZEND_FUNCTION(gregoriantojd);
+ZEND_FUNCTION(jddayofweek);
+ZEND_FUNCTION(jdmonthname);
+ZEND_FUNCTION(jdtofrench);
+ZEND_FUNCTION(jdtogregorian);
+ZEND_FUNCTION(jdtojewish);
+ZEND_FUNCTION(jdtojulian);
+ZEND_FUNCTION(jdtounix);
+ZEND_FUNCTION(jewishtojd);
+ZEND_FUNCTION(juliantojd);
+ZEND_FUNCTION(unixtojd);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(cal_days_in_month, arginfo_cal_days_in_month)
+ ZEND_FE(cal_from_jd, arginfo_cal_from_jd)
+ ZEND_FE(cal_info, arginfo_cal_info)
+ ZEND_FE(cal_to_jd, arginfo_cal_to_jd)
+ ZEND_FE(easter_date, arginfo_easter_date)
+ ZEND_FE(easter_days, arginfo_easter_days)
+ ZEND_FE(frenchtojd, arginfo_frenchtojd)
+ ZEND_FE(gregoriantojd, arginfo_gregoriantojd)
+ ZEND_FE(jddayofweek, arginfo_jddayofweek)
+ ZEND_FE(jdmonthname, arginfo_jdmonthname)
+ ZEND_FE(jdtofrench, arginfo_jdtofrench)
+ ZEND_FE(jdtogregorian, arginfo_jdtogregorian)
+ ZEND_FE(jdtojewish, arginfo_jdtojewish)
+ ZEND_FE(jdtojulian, arginfo_jdtojulian)
+ ZEND_FE(jdtounix, arginfo_jdtounix)
+ ZEND_FE(jewishtojd, arginfo_jewishtojd)
+ ZEND_FE(juliantojd, arginfo_juliantojd)
+ ZEND_FE(unixtojd, arginfo_unixtojd)
+ ZEND_FE_END
+};
diff --git a/ext/calendar/php_calendar.h b/ext/calendar/php_calendar.h
index 0566ce58c5..38127eb80e 100644
--- a/ext/calendar/php_calendar.h
+++ b/ext/calendar/php_calendar.h
@@ -12,25 +12,6 @@ extern zend_module_entry calendar_module_entry;
PHP_MINIT_FUNCTION(calendar);
PHP_MINFO_FUNCTION(calendar);
-PHP_FUNCTION(jdtogregorian);
-PHP_FUNCTION(gregoriantojd);
-PHP_FUNCTION(jdtojulian);
-PHP_FUNCTION(juliantojd);
-PHP_FUNCTION(jdtojewish);
-PHP_FUNCTION(jewishtojd);
-PHP_FUNCTION(jdtofrench);
-PHP_FUNCTION(frenchtojd);
-PHP_FUNCTION(jddayofweek);
-PHP_FUNCTION(jdmonthname);
-PHP_FUNCTION(easter_days);
-PHP_FUNCTION(easter_date);
-PHP_FUNCTION(unixtojd);
-PHP_FUNCTION(jdtounix);
-PHP_FUNCTION(cal_from_jd);
-PHP_FUNCTION(cal_to_jd);
-PHP_FUNCTION(cal_days_in_month);
-PHP_FUNCTION(cal_info);
-
#define phpext_calendar_ptr calendar_module_ptr
/*
diff --git a/ext/ctype/ctype.c b/ext/ctype/ctype.c
index 0e80cad16a..0b428ceccd 100644
--- a/ext/ctype/ctype.c
+++ b/ext/ctype/ctype.c
@@ -31,36 +31,6 @@
static PHP_MINFO_FUNCTION(ctype);
-static PHP_FUNCTION(ctype_alnum);
-static PHP_FUNCTION(ctype_alpha);
-static PHP_FUNCTION(ctype_cntrl);
-static PHP_FUNCTION(ctype_digit);
-static PHP_FUNCTION(ctype_lower);
-static PHP_FUNCTION(ctype_graph);
-static PHP_FUNCTION(ctype_print);
-static PHP_FUNCTION(ctype_punct);
-static PHP_FUNCTION(ctype_space);
-static PHP_FUNCTION(ctype_upper);
-static PHP_FUNCTION(ctype_xdigit);
-/* }}} */
-
-/* {{{ ctype_functions[]
- * Every user visible function must have an entry in ctype_functions[].
- */
-static const zend_function_entry ctype_functions[] = {
- PHP_FE(ctype_alnum, arginfo_ctype_alnum)
- PHP_FE(ctype_alpha, arginfo_ctype_alpha)
- PHP_FE(ctype_cntrl, arginfo_ctype_cntrl)
- PHP_FE(ctype_digit, arginfo_ctype_digit)
- PHP_FE(ctype_lower, arginfo_ctype_lower)
- PHP_FE(ctype_graph, arginfo_ctype_graph)
- PHP_FE(ctype_print, arginfo_ctype_print)
- PHP_FE(ctype_punct, arginfo_ctype_punct)
- PHP_FE(ctype_space, arginfo_ctype_space)
- PHP_FE(ctype_upper, arginfo_ctype_upper)
- PHP_FE(ctype_xdigit, arginfo_ctype_xdigit)
- PHP_FE_END
-};
/* }}} */
/* {{{ ctype_module_entry
@@ -68,7 +38,7 @@ static const zend_function_entry ctype_functions[] = {
zend_module_entry ctype_module_entry = {
STANDARD_MODULE_HEADER,
"ctype",
- ctype_functions,
+ ext_functions,
NULL,
NULL,
NULL,
@@ -129,7 +99,7 @@ static PHP_MINFO_FUNCTION(ctype)
/* {{{ proto bool ctype_alnum(mixed c)
Checks for alphanumeric character(s) */
-static PHP_FUNCTION(ctype_alnum)
+PHP_FUNCTION(ctype_alnum)
{
CTYPE(isalnum, 1, 0);
}
@@ -137,7 +107,7 @@ static PHP_FUNCTION(ctype_alnum)
/* {{{ proto bool ctype_alpha(mixed c)
Checks for alphabetic character(s) */
-static PHP_FUNCTION(ctype_alpha)
+PHP_FUNCTION(ctype_alpha)
{
CTYPE(isalpha, 0, 0);
}
@@ -145,7 +115,7 @@ static PHP_FUNCTION(ctype_alpha)
/* {{{ proto bool ctype_cntrl(mixed c)
Checks for control character(s) */
-static PHP_FUNCTION(ctype_cntrl)
+PHP_FUNCTION(ctype_cntrl)
{
CTYPE(iscntrl, 0, 0);
}
@@ -153,7 +123,7 @@ static PHP_FUNCTION(ctype_cntrl)
/* {{{ proto bool ctype_digit(mixed c)
Checks for numeric character(s) */
-static PHP_FUNCTION(ctype_digit)
+PHP_FUNCTION(ctype_digit)
{
CTYPE(isdigit, 1, 0);
}
@@ -161,7 +131,7 @@ static PHP_FUNCTION(ctype_digit)
/* {{{ proto bool ctype_lower(mixed c)
Checks for lowercase character(s) */
-static PHP_FUNCTION(ctype_lower)
+PHP_FUNCTION(ctype_lower)
{
CTYPE(islower, 0, 0);
}
@@ -169,7 +139,7 @@ static PHP_FUNCTION(ctype_lower)
/* {{{ proto bool ctype_graph(mixed c)
Checks for any printable character(s) except space */
-static PHP_FUNCTION(ctype_graph)
+PHP_FUNCTION(ctype_graph)
{
CTYPE(isgraph, 1, 1);
}
@@ -177,7 +147,7 @@ static PHP_FUNCTION(ctype_graph)
/* {{{ proto bool ctype_print(mixed c)
Checks for printable character(s) */
-static PHP_FUNCTION(ctype_print)
+PHP_FUNCTION(ctype_print)
{
CTYPE(isprint, 1, 1);
}
@@ -185,7 +155,7 @@ static PHP_FUNCTION(ctype_print)
/* {{{ proto bool ctype_punct(mixed c)
Checks for any printable character which is not whitespace or an alphanumeric character */
-static PHP_FUNCTION(ctype_punct)
+PHP_FUNCTION(ctype_punct)
{
CTYPE(ispunct, 0, 0);
}
@@ -193,7 +163,7 @@ static PHP_FUNCTION(ctype_punct)
/* {{{ proto bool ctype_space(mixed c)
Checks for whitespace character(s)*/
-static PHP_FUNCTION(ctype_space)
+PHP_FUNCTION(ctype_space)
{
CTYPE(isspace, 0, 0);
}
@@ -201,7 +171,7 @@ static PHP_FUNCTION(ctype_space)
/* {{{ proto bool ctype_upper(mixed c)
Checks for uppercase character(s) */
-static PHP_FUNCTION(ctype_upper)
+PHP_FUNCTION(ctype_upper)
{
CTYPE(isupper, 0, 0);
}
@@ -209,7 +179,7 @@ static PHP_FUNCTION(ctype_upper)
/* {{{ proto bool ctype_xdigit(mixed c)
Checks for character(s) representing a hexadecimal digit */
-static PHP_FUNCTION(ctype_xdigit)
+PHP_FUNCTION(ctype_xdigit)
{
CTYPE(isxdigit, 1, 0);
}
diff --git a/ext/ctype/ctype.stub.php b/ext/ctype/ctype.stub.php
index 7bcc44e6ae..4f78ed85fb 100644
--- a/ext/ctype/ctype.stub.php
+++ b/ext/ctype/ctype.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
function ctype_alnum($text): bool {}
function ctype_alpha($text): bool {}
diff --git a/ext/ctype/ctype_arginfo.h b/ext/ctype/ctype_arginfo.h
index d22d9d3d69..6529fd503e 100644
--- a/ext/ctype/ctype_arginfo.h
+++ b/ext/ctype/ctype_arginfo.h
@@ -23,3 +23,32 @@ ZEND_END_ARG_INFO()
#define arginfo_ctype_upper arginfo_ctype_alnum
#define arginfo_ctype_xdigit arginfo_ctype_alnum
+
+
+ZEND_FUNCTION(ctype_alnum);
+ZEND_FUNCTION(ctype_alpha);
+ZEND_FUNCTION(ctype_cntrl);
+ZEND_FUNCTION(ctype_digit);
+ZEND_FUNCTION(ctype_lower);
+ZEND_FUNCTION(ctype_graph);
+ZEND_FUNCTION(ctype_print);
+ZEND_FUNCTION(ctype_punct);
+ZEND_FUNCTION(ctype_space);
+ZEND_FUNCTION(ctype_upper);
+ZEND_FUNCTION(ctype_xdigit);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(ctype_alnum, arginfo_ctype_alnum)
+ ZEND_FE(ctype_alpha, arginfo_ctype_alpha)
+ ZEND_FE(ctype_cntrl, arginfo_ctype_cntrl)
+ ZEND_FE(ctype_digit, arginfo_ctype_digit)
+ ZEND_FE(ctype_lower, arginfo_ctype_lower)
+ ZEND_FE(ctype_graph, arginfo_ctype_graph)
+ ZEND_FE(ctype_print, arginfo_ctype_print)
+ ZEND_FE(ctype_punct, arginfo_ctype_punct)
+ ZEND_FE(ctype_space, arginfo_ctype_space)
+ ZEND_FE(ctype_upper, arginfo_ctype_upper)
+ ZEND_FE(ctype_xdigit, arginfo_ctype_xdigit)
+ ZEND_FE_END
+};
diff --git a/ext/curl/curl.stub.php b/ext/curl/curl.stub.php
index 08ad7f6340..ac998c4565 100644
--- a/ext/curl/curl.stub.php
+++ b/ext/curl/curl.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
/** @param resource $handle */
function curl_close($handle): void {}
@@ -15,10 +17,22 @@ function curl_errno($handle): int {}
/** @param resource $handle */
function curl_error($handle): string {}
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
/** @param resource $handle */
function curl_escape($handle, string $string): string|false {}
/** @param resource $handle */
+function curl_unescape($handle, string $string): string|false {}
+
+/**
+ * @param resource $multi_handle
+ * @param mixed $value
+ */
+function curl_multi_setopt($multi_handle, int $option, $value): bool {}
+
+#endif
+
+/** @param resource $handle */
function curl_exec($handle): string|bool {}
function curl_file_create(
@@ -72,12 +86,6 @@ function curl_multi_remove_handle($multi_handle, $handle): int {}
/** @param resource $multi_handle */
function curl_multi_select($multi_handle, float $timeout = 1.0): int {}
-/**
- * @param resource $multi_handle
- * @param mixed $value
- */
-function curl_multi_setopt($multi_handle, int $option, $value): bool {}
-
function curl_multi_strerror(int $error_number): ?string {}
#if LIBCURL_VERSION_NUM >= 0x071200 /* 7.18.0 */
@@ -113,7 +121,4 @@ function curl_share_strerror(int $error_number): ?string {}
function curl_strerror(int $error_number): ?string {}
-/** @param resource $handle */
-function curl_unescape($handle, string $string): string|false {}
-
function curl_version(int $age = UNKNOWN): array|false {}
diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h
index a7ae7a071b..9f20f3a4f2 100644
--- a/ext/curl/curl_arginfo.h
+++ b/ext/curl/curl_arginfo.h
@@ -16,10 +16,24 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_error, 0, 1, IS_STRING, 0)
ZEND_ARG_INFO(0, handle)
ZEND_END_ARG_INFO()
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_curl_escape, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
ZEND_ARG_INFO(0, handle)
ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
ZEND_END_ARG_INFO()
+#endif
+
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
+#define arginfo_curl_unescape arginfo_curl_escape
+#endif
+
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_setopt, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_INFO(0, multi_handle)
+ ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
+ ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+#endif
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_curl_exec, 0, 1, MAY_BE_STRING|MAY_BE_BOOL)
ZEND_ARG_INFO(0, handle)
@@ -77,12 +91,6 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_select, 0, 1, IS_LONG
ZEND_ARG_TYPE_INFO(0, timeout, IS_DOUBLE, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_setopt, 0, 3, _IS_BOOL, 0)
- ZEND_ARG_INFO(0, multi_handle)
- ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
- ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_strerror, 0, 1, IS_STRING, 1)
ZEND_ARG_TYPE_INFO(0, error_number, IS_LONG, 0)
ZEND_END_ARG_INFO()
@@ -127,8 +135,93 @@ ZEND_END_ARG_INFO()
#define arginfo_curl_strerror arginfo_curl_multi_strerror
-#define arginfo_curl_unescape arginfo_curl_escape
-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_curl_version, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
ZEND_ARG_TYPE_INFO(0, age, IS_LONG, 0)
ZEND_END_ARG_INFO()
+
+
+ZEND_FUNCTION(curl_close);
+ZEND_FUNCTION(curl_copy_handle);
+ZEND_FUNCTION(curl_errno);
+ZEND_FUNCTION(curl_error);
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
+ZEND_FUNCTION(curl_escape);
+#endif
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
+ZEND_FUNCTION(curl_unescape);
+#endif
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
+ZEND_FUNCTION(curl_multi_setopt);
+#endif
+ZEND_FUNCTION(curl_exec);
+ZEND_FUNCTION(curl_file_create);
+ZEND_FUNCTION(curl_getinfo);
+ZEND_FUNCTION(curl_init);
+ZEND_FUNCTION(curl_multi_add_handle);
+ZEND_FUNCTION(curl_multi_close);
+ZEND_FUNCTION(curl_multi_errno);
+ZEND_FUNCTION(curl_multi_exec);
+ZEND_FUNCTION(curl_multi_getcontent);
+ZEND_FUNCTION(curl_multi_info_read);
+ZEND_FUNCTION(curl_multi_init);
+ZEND_FUNCTION(curl_multi_remove_handle);
+ZEND_FUNCTION(curl_multi_select);
+ZEND_FUNCTION(curl_multi_strerror);
+#if LIBCURL_VERSION_NUM >= 0x071200 /* 7.18.0 */
+ZEND_FUNCTION(curl_pause);
+#endif
+ZEND_FUNCTION(curl_reset);
+ZEND_FUNCTION(curl_setopt_array);
+ZEND_FUNCTION(curl_setopt);
+ZEND_FUNCTION(curl_share_close);
+ZEND_FUNCTION(curl_share_errno);
+ZEND_FUNCTION(curl_share_init);
+ZEND_FUNCTION(curl_share_setopt);
+ZEND_FUNCTION(curl_share_strerror);
+ZEND_FUNCTION(curl_strerror);
+ZEND_FUNCTION(curl_version);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(curl_close, arginfo_curl_close)
+ ZEND_FE(curl_copy_handle, arginfo_curl_copy_handle)
+ ZEND_FE(curl_errno, arginfo_curl_errno)
+ ZEND_FE(curl_error, arginfo_curl_error)
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
+ ZEND_FE(curl_escape, arginfo_curl_escape)
+#endif
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
+ ZEND_FE(curl_unescape, arginfo_curl_unescape)
+#endif
+#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
+ ZEND_FE(curl_multi_setopt, arginfo_curl_multi_setopt)
+#endif
+ ZEND_FE(curl_exec, arginfo_curl_exec)
+ ZEND_FE(curl_file_create, arginfo_curl_file_create)
+ ZEND_FE(curl_getinfo, arginfo_curl_getinfo)
+ ZEND_FE(curl_init, arginfo_curl_init)
+ ZEND_FE(curl_multi_add_handle, arginfo_curl_multi_add_handle)
+ ZEND_FE(curl_multi_close, arginfo_curl_multi_close)
+ ZEND_FE(curl_multi_errno, arginfo_curl_multi_errno)
+ ZEND_FE(curl_multi_exec, arginfo_curl_multi_exec)
+ ZEND_FE(curl_multi_getcontent, arginfo_curl_multi_getcontent)
+ ZEND_FE(curl_multi_info_read, arginfo_curl_multi_info_read)
+ ZEND_FE(curl_multi_init, arginfo_curl_multi_init)
+ ZEND_FE(curl_multi_remove_handle, arginfo_curl_multi_remove_handle)
+ ZEND_FE(curl_multi_select, arginfo_curl_multi_select)
+ ZEND_FE(curl_multi_strerror, arginfo_curl_multi_strerror)
+#if LIBCURL_VERSION_NUM >= 0x071200 /* 7.18.0 */
+ ZEND_FE(curl_pause, arginfo_curl_pause)
+#endif
+ ZEND_FE(curl_reset, arginfo_curl_reset)
+ ZEND_FE(curl_setopt_array, arginfo_curl_setopt_array)
+ ZEND_FE(curl_setopt, arginfo_curl_setopt)
+ ZEND_FE(curl_share_close, arginfo_curl_share_close)
+ ZEND_FE(curl_share_errno, arginfo_curl_share_errno)
+ ZEND_FE(curl_share_init, arginfo_curl_share_init)
+ ZEND_FE(curl_share_setopt, arginfo_curl_share_setopt)
+ ZEND_FE(curl_share_strerror, arginfo_curl_share_strerror)
+ ZEND_FE(curl_strerror, arginfo_curl_strerror)
+ ZEND_FE(curl_version, arginfo_curl_version)
+ ZEND_FE_END
+};
diff --git a/ext/curl/interface.c b/ext/curl/interface.c
index 38eb40a302..12762cd7f4 100644
--- a/ext/curl/interface.c
+++ b/ext/curl/interface.c
@@ -215,51 +215,12 @@ void _php_curl_verify_handlers(php_curl *ch, int reporterror) /* {{{ */
}
/* }}} */
-/* {{{ curl_functions[]
- */
-static const zend_function_entry curl_functions[] = {
- PHP_FE(curl_init, arginfo_curl_init)
- PHP_FE(curl_copy_handle, arginfo_curl_copy_handle)
- PHP_FE(curl_version, arginfo_curl_version)
- PHP_FE(curl_setopt, arginfo_curl_setopt)
- PHP_FE(curl_setopt_array, arginfo_curl_setopt_array)
- PHP_FE(curl_exec, arginfo_curl_exec)
- PHP_FE(curl_getinfo, arginfo_curl_getinfo)
- PHP_FE(curl_error, arginfo_curl_error)
- PHP_FE(curl_errno, arginfo_curl_errno)
- PHP_FE(curl_close, arginfo_curl_close)
- PHP_FE(curl_strerror, arginfo_curl_strerror)
- PHP_FE(curl_multi_strerror, arginfo_curl_multi_strerror)
- PHP_FE(curl_share_strerror, arginfo_curl_share_strerror)
- PHP_FE(curl_reset, arginfo_curl_reset)
- PHP_FE(curl_escape, arginfo_curl_escape)
- PHP_FE(curl_unescape, arginfo_curl_unescape)
- PHP_FE(curl_pause, arginfo_curl_pause)
- PHP_FE(curl_file_create, arginfo_curl_file_create)
- PHP_FE(curl_multi_init, arginfo_curl_multi_init)
- PHP_FE(curl_multi_add_handle, arginfo_curl_multi_add_handle)
- PHP_FE(curl_multi_remove_handle, arginfo_curl_multi_remove_handle)
- PHP_FE(curl_multi_select, arginfo_curl_multi_select)
- PHP_FE(curl_multi_exec, arginfo_curl_multi_exec)
- PHP_FE(curl_multi_getcontent, arginfo_curl_multi_getcontent)
- PHP_FE(curl_multi_info_read, arginfo_curl_multi_info_read)
- PHP_FE(curl_multi_close, arginfo_curl_multi_close)
- PHP_FE(curl_multi_errno, arginfo_curl_multi_errno)
- PHP_FE(curl_multi_setopt, arginfo_curl_multi_setopt)
- PHP_FE(curl_share_init, arginfo_curl_share_init)
- PHP_FE(curl_share_close, arginfo_curl_share_close)
- PHP_FE(curl_share_setopt, arginfo_curl_share_setopt)
- PHP_FE(curl_share_errno, arginfo_curl_share_errno)
- PHP_FE_END
-};
-/* }}} */
-
/* {{{ curl_module_entry
*/
zend_module_entry curl_module_entry = {
STANDARD_MODULE_HEADER,
"curl",
- curl_functions,
+ ext_functions,
PHP_MINIT(curl),
PHP_MSHUTDOWN(curl),
NULL,
diff --git a/ext/curl/php_curl.h b/ext/curl/php_curl.h
index ec74e96956..e7e9361e0e 100644
--- a/ext/curl/php_curl.h
+++ b/ext/curl/php_curl.h
@@ -72,52 +72,6 @@ PHP_MINIT_FUNCTION(curl);
PHP_MSHUTDOWN_FUNCTION(curl);
PHP_MINFO_FUNCTION(curl);
-PHP_FUNCTION(curl_close);
-PHP_FUNCTION(curl_copy_handle);
-PHP_FUNCTION(curl_errno);
-PHP_FUNCTION(curl_error);
-PHP_FUNCTION(curl_exec);
-PHP_FUNCTION(curl_getinfo);
-PHP_FUNCTION(curl_init);
-PHP_FUNCTION(curl_setopt);
-PHP_FUNCTION(curl_setopt_array);
-PHP_FUNCTION(curl_version);
-
-PHP_FUNCTION(curl_multi_add_handle);
-PHP_FUNCTION(curl_multi_close);
-PHP_FUNCTION(curl_multi_exec);
-PHP_FUNCTION(curl_multi_getcontent);
-PHP_FUNCTION(curl_multi_info_read);
-PHP_FUNCTION(curl_multi_init);
-PHP_FUNCTION(curl_multi_remove_handle);
-PHP_FUNCTION(curl_multi_select);
-PHP_FUNCTION(curl_multi_errno);
-
-PHP_FUNCTION(curl_share_close);
-PHP_FUNCTION(curl_share_init);
-PHP_FUNCTION(curl_share_setopt);
-PHP_FUNCTION(curl_share_errno);
-
-PHP_FUNCTION(curl_strerror);
-PHP_FUNCTION(curl_multi_strerror);
-PHP_FUNCTION(curl_share_strerror);
-
-PHP_FUNCTION(curl_reset);
-
-#if LIBCURL_VERSION_NUM >= 0x070f04 /* 7.15.4 */
-PHP_FUNCTION(curl_escape);
-PHP_FUNCTION(curl_unescape);
-
-PHP_FUNCTION(curl_multi_setopt);
-#endif
-
-#if LIBCURL_VERSION_NUM >= 0x071200 /* 7.18.0 */
-PHP_FUNCTION(curl_pause);
-#endif
-
-PHP_FUNCTION(curl_file_create);
-
-
void _php_curl_multi_close(zend_resource *);
void _php_curl_share_close(zend_resource *);
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index ed24895965..5c6825e50f 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -76,68 +76,6 @@ PHPAPI time_t php_time()
#include "php_date_arginfo.h"
-/* {{{ Function table */
-static const zend_function_entry date_functions[] = {
- PHP_FE(strtotime, arginfo_strtotime)
- PHP_FE(date, arginfo_date)
- PHP_FE(idate, arginfo_idate)
- PHP_FE(gmdate, arginfo_gmdate)
- PHP_FE(mktime, arginfo_mktime)
- PHP_FE(gmmktime, arginfo_gmmktime)
- PHP_FE(checkdate, arginfo_checkdate)
- PHP_FE(strftime, arginfo_strftime)
- PHP_FE(gmstrftime, arginfo_gmstrftime)
- PHP_FE(time, arginfo_time)
- PHP_FE(localtime, arginfo_localtime)
- PHP_FE(getdate, arginfo_getdate)
-
- /* Advanced Interface */
- PHP_FE(date_create, arginfo_date_create)
- PHP_FE(date_create_immutable, arginfo_date_create_immutable)
- PHP_FE(date_create_from_format, arginfo_date_create_from_format)
- PHP_FE(date_create_immutable_from_format, arginfo_date_create_immutable_from_format)
- PHP_FE(date_parse, arginfo_date_parse)
- PHP_FE(date_parse_from_format, arginfo_date_parse_from_format)
- PHP_FE(date_get_last_errors, arginfo_date_get_last_errors)
- PHP_FE(date_format, arginfo_date_format)
- PHP_FE(date_modify, arginfo_date_modify)
- PHP_FE(date_add, arginfo_date_add)
- PHP_FE(date_sub, arginfo_date_sub)
- PHP_FE(date_timezone_get, arginfo_date_timezone_get)
- PHP_FE(date_timezone_set, arginfo_date_timezone_set)
- PHP_FE(date_offset_get, arginfo_date_offset_get)
- PHP_FE(date_diff, arginfo_date_diff)
-
- PHP_FE(date_time_set, arginfo_date_time_set)
- PHP_FE(date_date_set, arginfo_date_date_set)
- PHP_FE(date_isodate_set, arginfo_date_isodate_set)
- PHP_FE(date_timestamp_set, arginfo_date_timestamp_set)
- PHP_FE(date_timestamp_get, arginfo_date_timestamp_get)
-
- PHP_FE(timezone_open, arginfo_timezone_open)
- PHP_FE(timezone_name_get, arginfo_timezone_name_get)
- PHP_FE(timezone_name_from_abbr, arginfo_timezone_name_from_abbr)
- PHP_FE(timezone_offset_get, arginfo_timezone_offset_get)
- PHP_FE(timezone_transitions_get, arginfo_timezone_transitions_get)
- PHP_FE(timezone_location_get, arginfo_timezone_location_get)
- PHP_FE(timezone_identifiers_list, arginfo_timezone_identifiers_list)
- PHP_FE(timezone_abbreviations_list, arginfo_timezone_abbreviations_list)
- PHP_FE(timezone_version_get, arginfo_timezone_version_get)
-
- PHP_FE(date_interval_create_from_date_string, arginfo_date_interval_create_from_date_string)
- PHP_FE(date_interval_format, arginfo_date_interval_format)
-
- /* Options and Configuration */
- PHP_FE(date_default_timezone_set, arginfo_date_default_timezone_set)
- PHP_FE(date_default_timezone_get, arginfo_date_default_timezone_get)
-
- /* Astronomical functions */
- PHP_FE(date_sunrise, arginfo_date_sunrise)
- PHP_FE(date_sunset, arginfo_date_sunset)
- PHP_FE(date_sun_info, arginfo_date_sun_info)
- PHP_FE_END
-};
-
static const zend_function_entry date_funcs_interface[] = {
PHP_ABSTRACT_ME(DateTimeInterface, format, arginfo_class_DateTimeInterface_format)
PHP_ABSTRACT_ME(DateTimeInterface, getTimezone, arginfo_class_DateTimeInterface_getTimezone)
@@ -350,7 +288,7 @@ zend_module_entry date_module_entry = {
NULL,
NULL,
"date", /* extension name */
- date_functions, /* function list */
+ ext_functions, /* function list */
PHP_MINIT(date), /* process startup */
PHP_MSHUTDOWN(date), /* process shutdown */
PHP_RINIT(date), /* request startup */
diff --git a/ext/date/php_date.h b/ext/date/php_date.h
index 8458b0187e..e3008e47e0 100644
--- a/ext/date/php_date.h
+++ b/ext/date/php_date.h
@@ -26,48 +26,12 @@
extern zend_module_entry date_module_entry;
#define phpext_date_ptr &date_module_entry
-PHP_FUNCTION(date);
-PHP_FUNCTION(idate);
-PHP_FUNCTION(gmdate);
-PHP_FUNCTION(strtotime);
-
-PHP_FUNCTION(mktime);
-PHP_FUNCTION(gmmktime);
-
-PHP_FUNCTION(checkdate);
-PHP_FUNCTION(strftime);
-PHP_FUNCTION(gmstrftime);
-PHP_FUNCTION(time);
-PHP_FUNCTION(localtime);
-PHP_FUNCTION(getdate);
-
/* Advanced Interface */
PHP_METHOD(DateTime, __construct);
PHP_METHOD(DateTime, __wakeup);
PHP_METHOD(DateTime, __set_state);
PHP_METHOD(DateTime, createFromImmutable);
PHP_METHOD(DateTime, createFromInterface);
-PHP_FUNCTION(date_create);
-PHP_FUNCTION(date_create_immutable);
-PHP_FUNCTION(date_create_from_format);
-PHP_FUNCTION(date_create_immutable_from_format);
-PHP_FUNCTION(date_parse);
-PHP_FUNCTION(date_parse_from_format);
-PHP_FUNCTION(date_get_last_errors);
-PHP_FUNCTION(date_format);
-PHP_FUNCTION(date_modify);
-PHP_FUNCTION(date_add);
-PHP_FUNCTION(date_sub);
-PHP_FUNCTION(date_timezone_get);
-PHP_FUNCTION(date_timezone_set);
-PHP_FUNCTION(date_offset_get);
-PHP_FUNCTION(date_diff);
-
-PHP_FUNCTION(date_time_set);
-PHP_FUNCTION(date_date_set);
-PHP_FUNCTION(date_isodate_set);
-PHP_FUNCTION(date_timestamp_set);
-PHP_FUNCTION(date_timestamp_get);
PHP_METHOD(DateTimeImmutable, __construct);
PHP_METHOD(DateTimeImmutable, __set_state);
@@ -85,15 +49,6 @@ PHP_METHOD(DateTimeImmutable, createFromInterface);
PHP_METHOD(DateTimeZone, __construct);
PHP_METHOD(DateTimeZone, __wakeup);
PHP_METHOD(DateTimeZone, __set_state);
-PHP_FUNCTION(timezone_open);
-PHP_FUNCTION(timezone_name_get);
-PHP_FUNCTION(timezone_name_from_abbr);
-PHP_FUNCTION(timezone_offset_get);
-PHP_FUNCTION(timezone_transitions_get);
-PHP_FUNCTION(timezone_location_get);
-PHP_FUNCTION(timezone_identifiers_list);
-PHP_FUNCTION(timezone_abbreviations_list);
-PHP_FUNCTION(timezone_version_get);
PHP_METHOD(DateInterval, __construct);
PHP_METHOD(DateInterval, __wakeup);
@@ -109,15 +64,6 @@ PHP_METHOD(DatePeriod, getEndDate);
PHP_METHOD(DatePeriod, getDateInterval);
PHP_METHOD(DatePeriod, getRecurrences);
-/* Options and Configuration */
-PHP_FUNCTION(date_default_timezone_set);
-PHP_FUNCTION(date_default_timezone_get);
-
-/* Astro functions */
-PHP_FUNCTION(date_sunrise);
-PHP_FUNCTION(date_sunset);
-PHP_FUNCTION(date_sun_info);
-
PHP_RINIT_FUNCTION(date);
PHP_RSHUTDOWN_FUNCTION(date);
PHP_MINIT_FUNCTION(date);
diff --git a/ext/date/php_date.stub.php b/ext/date/php_date.stub.php
index e9985dd6b2..23936a9d48 100644
--- a/ext/date/php_date.stub.php
+++ b/ext/date/php_date.stub.php
@@ -1,7 +1,6 @@
<?php
-/* TODO: Convert "uninitialized" into an exception. This will remove many
- * possibilities for false return values in here. */
+/** @generate-function-entries */
function strtotime(string $time, int $now = UNKNOWN): int|false {}
diff --git a/ext/date/php_date_arginfo.h b/ext/date/php_date_arginfo.h
index acf6ddd663..37c58e84ab 100644
--- a/ext/date/php_date_arginfo.h
+++ b/ext/date/php_date_arginfo.h
@@ -397,3 +397,106 @@ ZEND_END_ARG_INFO()
#define arginfo_class_DatePeriod___wakeup arginfo_class_DateTimeInterface_getTimezone
#define arginfo_class_DatePeriod___set_state arginfo_class_DateTime___set_state
+
+
+ZEND_FUNCTION(strtotime);
+ZEND_FUNCTION(date);
+ZEND_FUNCTION(idate);
+ZEND_FUNCTION(gmdate);
+ZEND_FUNCTION(mktime);
+ZEND_FUNCTION(gmmktime);
+ZEND_FUNCTION(checkdate);
+ZEND_FUNCTION(strftime);
+ZEND_FUNCTION(gmstrftime);
+ZEND_FUNCTION(time);
+ZEND_FUNCTION(localtime);
+ZEND_FUNCTION(getdate);
+ZEND_FUNCTION(date_create);
+ZEND_FUNCTION(date_create_immutable);
+ZEND_FUNCTION(date_create_from_format);
+ZEND_FUNCTION(date_create_immutable_from_format);
+ZEND_FUNCTION(date_parse);
+ZEND_FUNCTION(date_parse_from_format);
+ZEND_FUNCTION(date_get_last_errors);
+ZEND_FUNCTION(date_format);
+ZEND_FUNCTION(date_modify);
+ZEND_FUNCTION(date_add);
+ZEND_FUNCTION(date_sub);
+ZEND_FUNCTION(date_timezone_get);
+ZEND_FUNCTION(date_timezone_set);
+ZEND_FUNCTION(date_offset_get);
+ZEND_FUNCTION(date_diff);
+ZEND_FUNCTION(date_time_set);
+ZEND_FUNCTION(date_date_set);
+ZEND_FUNCTION(date_isodate_set);
+ZEND_FUNCTION(date_timestamp_set);
+ZEND_FUNCTION(date_timestamp_get);
+ZEND_FUNCTION(timezone_open);
+ZEND_FUNCTION(timezone_name_get);
+ZEND_FUNCTION(timezone_name_from_abbr);
+ZEND_FUNCTION(timezone_offset_get);
+ZEND_FUNCTION(timezone_transitions_get);
+ZEND_FUNCTION(timezone_location_get);
+ZEND_FUNCTION(timezone_identifiers_list);
+ZEND_FUNCTION(timezone_abbreviations_list);
+ZEND_FUNCTION(timezone_version_get);
+ZEND_FUNCTION(date_interval_create_from_date_string);
+ZEND_FUNCTION(date_interval_format);
+ZEND_FUNCTION(date_default_timezone_set);
+ZEND_FUNCTION(date_default_timezone_get);
+ZEND_FUNCTION(date_sunrise);
+ZEND_FUNCTION(date_sunset);
+ZEND_FUNCTION(date_sun_info);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(strtotime, arginfo_strtotime)
+ ZEND_FE(date, arginfo_date)
+ ZEND_FE(idate, arginfo_idate)
+ ZEND_FE(gmdate, arginfo_gmdate)
+ ZEND_FE(mktime, arginfo_mktime)
+ ZEND_FE(gmmktime, arginfo_gmmktime)
+ ZEND_FE(checkdate, arginfo_checkdate)
+ ZEND_FE(strftime, arginfo_strftime)
+ ZEND_FE(gmstrftime, arginfo_gmstrftime)
+ ZEND_FE(time, arginfo_time)
+ ZEND_FE(localtime, arginfo_localtime)
+ ZEND_FE(getdate, arginfo_getdate)
+ ZEND_FE(date_create, arginfo_date_create)
+ ZEND_FE(date_create_immutable, arginfo_date_create_immutable)
+ ZEND_FE(date_create_from_format, arginfo_date_create_from_format)
+ ZEND_FE(date_create_immutable_from_format, arginfo_date_create_immutable_from_format)
+ ZEND_FE(date_parse, arginfo_date_parse)
+ ZEND_FE(date_parse_from_format, arginfo_date_parse_from_format)
+ ZEND_FE(date_get_last_errors, arginfo_date_get_last_errors)
+ ZEND_FE(date_format, arginfo_date_format)
+ ZEND_FE(date_modify, arginfo_date_modify)
+ ZEND_FE(date_add, arginfo_date_add)
+ ZEND_FE(date_sub, arginfo_date_sub)
+ ZEND_FE(date_timezone_get, arginfo_date_timezone_get)
+ ZEND_FE(date_timezone_set, arginfo_date_timezone_set)
+ ZEND_FE(date_offset_get, arginfo_date_offset_get)
+ ZEND_FE(date_diff, arginfo_date_diff)
+ ZEND_FE(date_time_set, arginfo_date_time_set)
+ ZEND_FE(date_date_set, arginfo_date_date_set)
+ ZEND_FE(date_isodate_set, arginfo_date_isodate_set)
+ ZEND_FE(date_timestamp_set, arginfo_date_timestamp_set)
+ ZEND_FE(date_timestamp_get, arginfo_date_timestamp_get)
+ ZEND_FE(timezone_open, arginfo_timezone_open)
+ ZEND_FE(timezone_name_get, arginfo_timezone_name_get)
+ ZEND_FE(timezone_name_from_abbr, arginfo_timezone_name_from_abbr)
+ ZEND_FE(timezone_offset_get, arginfo_timezone_offset_get)
+ ZEND_FE(timezone_transitions_get, arginfo_timezone_transitions_get)
+ ZEND_FE(timezone_location_get, arginfo_timezone_location_get)
+ ZEND_FE(timezone_identifiers_list, arginfo_timezone_identifiers_list)
+ ZEND_FE(timezone_abbreviations_list, arginfo_timezone_abbreviations_list)
+ ZEND_FE(timezone_version_get, arginfo_timezone_version_get)
+ ZEND_FE(date_interval_create_from_date_string, arginfo_date_interval_create_from_date_string)
+ ZEND_FE(date_interval_format, arginfo_date_interval_format)
+ ZEND_FE(date_default_timezone_set, arginfo_date_default_timezone_set)
+ ZEND_FE(date_default_timezone_get, arginfo_date_default_timezone_get)
+ ZEND_FE(date_sunrise, arginfo_date_sunrise)
+ ZEND_FE(date_sunset, arginfo_date_sunset)
+ ZEND_FE(date_sun_info, arginfo_date_sun_info)
+ ZEND_FE_END
+};
diff --git a/ext/dba/dba.c b/ext/dba/dba.c
index d407d2a8e7..4e26157050 100644
--- a/ext/dba/dba.c
+++ b/ext/dba/dba.c
@@ -50,28 +50,6 @@
#include "php_lmdb.h"
#include "dba_arginfo.h"
-/* {{{ dba_functions[]
- */
-static const zend_function_entry dba_functions[] = {
- PHP_FE(dba_open, arginfo_dba_open)
- PHP_FE(dba_popen, arginfo_dba_popen)
- PHP_FE(dba_close, arginfo_dba_close)
- PHP_FE(dba_delete, arginfo_dba_delete)
- PHP_FE(dba_exists, arginfo_dba_exists)
- PHP_FE(dba_fetch, arginfo_dba_fetch)
- PHP_FE(dba_insert, arginfo_dba_insert)
- PHP_FE(dba_replace, arginfo_dba_replace)
- PHP_FE(dba_firstkey, arginfo_dba_firstkey)
- PHP_FE(dba_nextkey, arginfo_dba_nextkey)
- PHP_FE(dba_optimize, arginfo_dba_optimize)
- PHP_FE(dba_sync, arginfo_dba_sync)
- PHP_FE(dba_handlers, arginfo_dba_handlers)
- PHP_FE(dba_list, arginfo_dba_list)
- PHP_FE(dba_key_split, arginfo_dba_key_split)
- PHP_FE_END
-};
-/* }}} */
-
PHP_MINIT_FUNCTION(dba);
PHP_MSHUTDOWN_FUNCTION(dba);
PHP_MINFO_FUNCTION(dba);
@@ -90,7 +68,7 @@ static PHP_GINIT_FUNCTION(dba);
zend_module_entry dba_module_entry = {
STANDARD_MODULE_HEADER,
"dba",
- dba_functions,
+ ext_functions,
PHP_MINIT(dba),
PHP_MSHUTDOWN(dba),
NULL,
diff --git a/ext/dba/dba.stub.php b/ext/dba/dba.stub.php
index 96ce6d573a..9127bb96d0 100644
--- a/ext/dba/dba.stub.php
+++ b/ext/dba/dba.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
/** @return resource|false */
function dba_popen($path, $mode, $handlername = UNKNOWN, ...$handler_parameters) {}
diff --git a/ext/dba/dba_arginfo.h b/ext/dba/dba_arginfo.h
index 32e925fb6a..97f3a29936 100644
--- a/ext/dba/dba_arginfo.h
+++ b/ext/dba/dba_arginfo.h
@@ -56,3 +56,40 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dba_list, 0, 0, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
+
+
+ZEND_FUNCTION(dba_popen);
+ZEND_FUNCTION(dba_open);
+ZEND_FUNCTION(dba_close);
+ZEND_FUNCTION(dba_exists);
+ZEND_FUNCTION(dba_fetch);
+ZEND_FUNCTION(dba_key_split);
+ZEND_FUNCTION(dba_firstkey);
+ZEND_FUNCTION(dba_nextkey);
+ZEND_FUNCTION(dba_delete);
+ZEND_FUNCTION(dba_insert);
+ZEND_FUNCTION(dba_replace);
+ZEND_FUNCTION(dba_optimize);
+ZEND_FUNCTION(dba_sync);
+ZEND_FUNCTION(dba_handlers);
+ZEND_FUNCTION(dba_list);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(dba_popen, arginfo_dba_popen)
+ ZEND_FE(dba_open, arginfo_dba_open)
+ ZEND_FE(dba_close, arginfo_dba_close)
+ ZEND_FE(dba_exists, arginfo_dba_exists)
+ ZEND_FE(dba_fetch, arginfo_dba_fetch)
+ ZEND_FE(dba_key_split, arginfo_dba_key_split)
+ ZEND_FE(dba_firstkey, arginfo_dba_firstkey)
+ ZEND_FE(dba_nextkey, arginfo_dba_nextkey)
+ ZEND_FE(dba_delete, arginfo_dba_delete)
+ ZEND_FE(dba_insert, arginfo_dba_insert)
+ ZEND_FE(dba_replace, arginfo_dba_replace)
+ ZEND_FE(dba_optimize, arginfo_dba_optimize)
+ ZEND_FE(dba_sync, arginfo_dba_sync)
+ ZEND_FE(dba_handlers, arginfo_dba_handlers)
+ ZEND_FE(dba_list, arginfo_dba_list)
+ ZEND_FE_END
+};
diff --git a/ext/dba/php_dba.h b/ext/dba/php_dba.h
index cd93b47bd1..4054b5be0f 100644
--- a/ext/dba/php_dba.h
+++ b/ext/dba/php_dba.h
@@ -125,22 +125,6 @@ typedef struct dba_handler {
DBA_SYNC_FUNC(x); \
DBA_INFO_FUNC(x)
-PHP_FUNCTION(dba_open);
-PHP_FUNCTION(dba_popen);
-PHP_FUNCTION(dba_close);
-PHP_FUNCTION(dba_firstkey);
-PHP_FUNCTION(dba_nextkey);
-PHP_FUNCTION(dba_replace);
-PHP_FUNCTION(dba_insert);
-PHP_FUNCTION(dba_delete);
-PHP_FUNCTION(dba_exists);
-PHP_FUNCTION(dba_fetch);
-PHP_FUNCTION(dba_optimize);
-PHP_FUNCTION(dba_sync);
-PHP_FUNCTION(dba_handlers);
-PHP_FUNCTION(dba_list);
-PHP_FUNCTION(dba_key_split);
-
#else
#define dba_module_ptr NULL
#endif
diff --git a/ext/dom/dom.stub.php b/ext/dom/dom.stub.php
index de192878a1..ab405bcbbf 100644
--- a/ext/dom/dom.stub.php
+++ b/ext/dom/dom.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
class DOMDocumentType {
}
diff --git a/ext/dom/dom_arginfo.h b/ext/dom/dom_arginfo.h
index 8faed43ab2..261eaba13b 100644
--- a/ext/dom/dom_arginfo.h
+++ b/ext/dom/dom_arginfo.h
@@ -3,3 +3,12 @@
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_dom_import_simplexml, 0, 1, DOMElement, 1)
ZEND_ARG_TYPE_INFO(0, node, IS_OBJECT, 0)
ZEND_END_ARG_INFO()
+
+
+ZEND_FUNCTION(dom_import_simplexml);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(dom_import_simplexml, arginfo_dom_import_simplexml)
+ ZEND_FE_END
+};
diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c
index dae52faeeb..ea6f1953ff 100644
--- a/ext/dom/php_dom.c
+++ b/ext/dom/php_dom.c
@@ -520,11 +520,6 @@ static void dom_dtor_prop_handler(zval *zv) /* {{{ */
free(Z_PTR_P(zv));
}
-static const zend_function_entry dom_functions[] = {
- PHP_FE(dom_import_simplexml, arginfo_dom_import_simplexml)
- PHP_FE_END
-};
-
static const zend_module_dep dom_deps[] = {
ZEND_MOD_REQUIRED("libxml")
ZEND_MOD_CONFLICTS("domxml")
@@ -535,7 +530,7 @@ zend_module_entry dom_module_entry = { /* {{{ */
STANDARD_MODULE_HEADER_EX, NULL,
dom_deps,
"dom",
- dom_functions,
+ ext_functions,
PHP_MINIT(dom),
PHP_MSHUTDOWN(dom),
NULL,
diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c
index 339cfd7af4..640a48d548 100644
--- a/ext/enchant/enchant.c
+++ b/ext/enchant/enchant.c
@@ -58,42 +58,12 @@ static int le_enchant_dict;
#define PHP_ENCHANT_MYSPELL 1
#define PHP_ENCHANT_ISPELL 2
-/* {{{ enchant_functions[]
- *
- * Every user visible function must have an entry in enchant_functions[].
- */
-static const zend_function_entry enchant_functions[] = {
- PHP_FE(enchant_broker_init, arginfo_enchant_broker_init)
- PHP_FE(enchant_broker_free, arginfo_enchant_broker_free)
- PHP_FE(enchant_broker_get_error, arginfo_enchant_broker_get_error)
- PHP_FE(enchant_broker_set_dict_path, arginfo_enchant_broker_set_dict_path)
- PHP_FE(enchant_broker_get_dict_path, arginfo_enchant_broker_get_dict_path)
- PHP_FE(enchant_broker_list_dicts, arginfo_enchant_broker_list_dicts)
- PHP_FE(enchant_broker_request_dict, arginfo_enchant_broker_request_dict)
- PHP_FE(enchant_broker_request_pwl_dict, arginfo_enchant_broker_request_pwl_dict)
- PHP_FE(enchant_broker_free_dict, arginfo_enchant_broker_free_dict)
- PHP_FE(enchant_broker_dict_exists, arginfo_enchant_broker_dict_exists)
- PHP_FE(enchant_broker_set_ordering, arginfo_enchant_broker_set_ordering)
- PHP_FE(enchant_broker_describe, arginfo_enchant_broker_describe)
- PHP_FE(enchant_dict_check, arginfo_enchant_dict_check)
- PHP_FE(enchant_dict_suggest, arginfo_enchant_dict_suggest)
- PHP_FE(enchant_dict_add_to_personal, arginfo_enchant_dict_add_to_personal)
- PHP_FE(enchant_dict_add_to_session, arginfo_enchant_dict_add_to_session)
- PHP_FE(enchant_dict_is_in_session, arginfo_enchant_dict_is_in_session)
- PHP_FE(enchant_dict_store_replacement, arginfo_enchant_dict_store_replacement)
- PHP_FE(enchant_dict_get_error, arginfo_enchant_dict_get_error)
- PHP_FE(enchant_dict_describe, arginfo_enchant_dict_describe)
- PHP_FE(enchant_dict_quick_check, arginfo_enchant_dict_quick_check)
- PHP_FE_END
-};
-/* }}} */
-
/* {{{ enchant_module_entry
*/
zend_module_entry enchant_module_entry = {
STANDARD_MODULE_HEADER,
"enchant",
- enchant_functions,
+ ext_functions,
PHP_MINIT(enchant),
PHP_MSHUTDOWN(enchant),
NULL, /* Replace with NULL if there's nothing to do at request start */
diff --git a/ext/enchant/enchant.stub.php b/ext/enchant/enchant.stub.php
index 22533b9b82..b68e9ae325 100644
--- a/ext/enchant/enchant.stub.php
+++ b/ext/enchant/enchant.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
/** @return resource|false */
function enchant_broker_init() {}
diff --git a/ext/enchant/enchant_arginfo.h b/ext/enchant/enchant_arginfo.h
index dae661d197..ab89ab71f3 100644
--- a/ext/enchant/enchant_arginfo.h
+++ b/ext/enchant/enchant_arginfo.h
@@ -91,3 +91,52 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_describe, 0, 1, IS_ARRAY, 0)
ZEND_ARG_INFO(0, dict)
ZEND_END_ARG_INFO()
+
+
+ZEND_FUNCTION(enchant_broker_init);
+ZEND_FUNCTION(enchant_broker_free);
+ZEND_FUNCTION(enchant_broker_get_error);
+ZEND_FUNCTION(enchant_broker_set_dict_path);
+ZEND_FUNCTION(enchant_broker_get_dict_path);
+ZEND_FUNCTION(enchant_broker_list_dicts);
+ZEND_FUNCTION(enchant_broker_request_dict);
+ZEND_FUNCTION(enchant_broker_request_pwl_dict);
+ZEND_FUNCTION(enchant_broker_free_dict);
+ZEND_FUNCTION(enchant_broker_dict_exists);
+ZEND_FUNCTION(enchant_broker_set_ordering);
+ZEND_FUNCTION(enchant_broker_describe);
+ZEND_FUNCTION(enchant_dict_quick_check);
+ZEND_FUNCTION(enchant_dict_check);
+ZEND_FUNCTION(enchant_dict_suggest);
+ZEND_FUNCTION(enchant_dict_add_to_personal);
+ZEND_FUNCTION(enchant_dict_add_to_session);
+ZEND_FUNCTION(enchant_dict_is_in_session);
+ZEND_FUNCTION(enchant_dict_store_replacement);
+ZEND_FUNCTION(enchant_dict_get_error);
+ZEND_FUNCTION(enchant_dict_describe);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(enchant_broker_init, arginfo_enchant_broker_init)
+ ZEND_FE(enchant_broker_free, arginfo_enchant_broker_free)
+ ZEND_FE(enchant_broker_get_error, arginfo_enchant_broker_get_error)
+ ZEND_FE(enchant_broker_set_dict_path, arginfo_enchant_broker_set_dict_path)
+ ZEND_FE(enchant_broker_get_dict_path, arginfo_enchant_broker_get_dict_path)
+ ZEND_FE(enchant_broker_list_dicts, arginfo_enchant_broker_list_dicts)
+ ZEND_FE(enchant_broker_request_dict, arginfo_enchant_broker_request_dict)
+ ZEND_FE(enchant_broker_request_pwl_dict, arginfo_enchant_broker_request_pwl_dict)
+ ZEND_FE(enchant_broker_free_dict, arginfo_enchant_broker_free_dict)
+ ZEND_FE(enchant_broker_dict_exists, arginfo_enchant_broker_dict_exists)
+ ZEND_FE(enchant_broker_set_ordering, arginfo_enchant_broker_set_ordering)
+ ZEND_FE(enchant_broker_describe, arginfo_enchant_broker_describe)
+ ZEND_FE(enchant_dict_quick_check, arginfo_enchant_dict_quick_check)
+ ZEND_FE(enchant_dict_check, arginfo_enchant_dict_check)
+ ZEND_FE(enchant_dict_suggest, arginfo_enchant_dict_suggest)
+ ZEND_FE(enchant_dict_add_to_personal, arginfo_enchant_dict_add_to_personal)
+ ZEND_FE(enchant_dict_add_to_session, arginfo_enchant_dict_add_to_session)
+ ZEND_FE(enchant_dict_is_in_session, arginfo_enchant_dict_is_in_session)
+ ZEND_FE(enchant_dict_store_replacement, arginfo_enchant_dict_store_replacement)
+ ZEND_FE(enchant_dict_get_error, arginfo_enchant_dict_get_error)
+ ZEND_FE(enchant_dict_describe, arginfo_enchant_dict_describe)
+ ZEND_FE_END
+};
diff --git a/ext/enchant/php_enchant.h b/ext/enchant/php_enchant.h
index 02578b4596..3c2b8d3c47 100644
--- a/ext/enchant/php_enchant.h
+++ b/ext/enchant/php_enchant.h
@@ -36,27 +36,4 @@ PHP_MINIT_FUNCTION(enchant);
PHP_MSHUTDOWN_FUNCTION(enchant);
PHP_MINFO_FUNCTION(enchant);
-PHP_FUNCTION(enchant_broker_init);
-PHP_FUNCTION(enchant_broker_free);
-PHP_FUNCTION(enchant_broker_get_error);
-PHP_FUNCTION(enchant_broker_set_dict_path);
-PHP_FUNCTION(enchant_broker_get_dict_path);
-PHP_FUNCTION(enchant_broker_list_dicts);
-PHP_FUNCTION(enchant_broker_request_dict);
-PHP_FUNCTION(enchant_broker_request_pwl_dict);
-PHP_FUNCTION(enchant_broker_free_dict);
-PHP_FUNCTION(enchant_broker_dict_exists);
-PHP_FUNCTION(enchant_broker_set_ordering);
-PHP_FUNCTION(enchant_broker_describe);
-
-PHP_FUNCTION(enchant_dict_check);
-PHP_FUNCTION(enchant_dict_suggest);
-PHP_FUNCTION(enchant_dict_add_to_personal);
-PHP_FUNCTION(enchant_dict_add_to_session);
-PHP_FUNCTION(enchant_dict_is_in_session);
-PHP_FUNCTION(enchant_dict_store_replacement);
-PHP_FUNCTION(enchant_dict_get_error);
-PHP_FUNCTION(enchant_dict_describe);
-PHP_FUNCTION(enchant_dict_quick_check);
-
#endif /* PHP_ENCHANT_H */
diff --git a/ext/exif/exif.c b/ext/exif/exif.c
index 8606bdd926..7066c5870c 100644
--- a/ext/exif/exif.c
+++ b/ext/exif/exif.c
@@ -69,17 +69,6 @@ typedef unsigned char uchar;
#define MAX_IFD_NESTING_LEVEL 150
-/* {{{ exif_functions[]
- */
-static const zend_function_entry exif_functions[] = {
- PHP_FE(exif_read_data, arginfo_exif_read_data)
- PHP_FE(exif_tagname, arginfo_exif_tagname)
- PHP_FE(exif_thumbnail, arginfo_exif_thumbnail)
- PHP_FE(exif_imagetype, arginfo_exif_imagetype)
- PHP_FE_END
-};
-/* }}} */
-
/* {{{ PHP_MINFO_FUNCTION
*/
PHP_MINFO_FUNCTION(exif)
@@ -220,7 +209,7 @@ zend_module_entry exif_module_entry = {
STANDARD_MODULE_HEADER_EX, NULL,
exif_module_deps,
"exif",
- exif_functions,
+ ext_functions,
PHP_MINIT(exif),
PHP_MSHUTDOWN(exif),
NULL, NULL,
diff --git a/ext/exif/exif.stub.php b/ext/exif/exif.stub.php
index 3fe2e72f66..b5db8bf02b 100644
--- a/ext/exif/exif.stub.php
+++ b/ext/exif/exif.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
function exif_tagname(int $index): string|false {}
function exif_read_data($filename, ?string $sections_needed = null, bool $sub_arrays = false, bool $read_thumbnail = false): array|false {}
diff --git a/ext/exif/exif_arginfo.h b/ext/exif/exif_arginfo.h
index 2551e5e987..a5be44ed8a 100644
--- a/ext/exif/exif_arginfo.h
+++ b/ext/exif/exif_arginfo.h
@@ -21,3 +21,18 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_exif_imagetype, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
ZEND_END_ARG_INFO()
+
+
+ZEND_FUNCTION(exif_tagname);
+ZEND_FUNCTION(exif_read_data);
+ZEND_FUNCTION(exif_thumbnail);
+ZEND_FUNCTION(exif_imagetype);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(exif_tagname, arginfo_exif_tagname)
+ ZEND_FE(exif_read_data, arginfo_exif_read_data)
+ ZEND_FE(exif_thumbnail, arginfo_exif_thumbnail)
+ ZEND_FE(exif_imagetype, arginfo_exif_imagetype)
+ ZEND_FE_END
+};
diff --git a/ext/exif/php_exif.h b/ext/exif/php_exif.h
index 8cbf70fef3..2ffdb6a8a2 100644
--- a/ext/exif/php_exif.h
+++ b/ext/exif/php_exif.h
@@ -23,8 +23,4 @@
extern zend_module_entry exif_module_entry;
#define phpext_exif_ptr &exif_module_entry
-PHP_FUNCTION(exif_read_data);
-PHP_FUNCTION(exif_tagname);
-PHP_FUNCTION(exif_thumbnail);
-PHP_FUNCTION(exif_imagetype);
#endif
diff --git a/ext/fileinfo/fileinfo.c b/ext/fileinfo/fileinfo.c
index 258f8055e9..3f3614cd7b 100644
--- a/ext/fileinfo/fileinfo.c
+++ b/ext/fileinfo/fileinfo.c
@@ -140,20 +140,6 @@ void finfo_resource_destructor(zend_resource *rsrc) /* {{{ */
}
/* }}} */
-
-/* {{{ fileinfo_functions[]
- */
-static const zend_function_entry fileinfo_functions[] = {
- PHP_FE(finfo_open, arginfo_finfo_open)
- PHP_FE(finfo_close, arginfo_finfo_close)
- PHP_FE(finfo_set_flags, arginfo_finfo_set_flags)
- PHP_FE(finfo_file, arginfo_finfo_file)
- PHP_FE(finfo_buffer, arginfo_finfo_buffer)
- PHP_FE(mime_content_type, arginfo_mime_content_type)
- PHP_FE_END
-};
-/* }}} */
-
/* {{{ PHP_MINIT_FUNCTION
*/
PHP_MINIT_FUNCTION(finfo)
@@ -199,7 +185,7 @@ PHP_MINIT_FUNCTION(finfo)
zend_module_entry fileinfo_module_entry = {
STANDARD_MODULE_HEADER,
"fileinfo",
- fileinfo_functions,
+ ext_functions,
PHP_MINIT(finfo),
NULL,
NULL,
diff --git a/ext/fileinfo/fileinfo.stub.php b/ext/fileinfo/fileinfo.stub.php
index f19b3163a7..6835a4930f 100644
--- a/ext/fileinfo/fileinfo.stub.php
+++ b/ext/fileinfo/fileinfo.stub.php
@@ -1,5 +1,7 @@
<?php
+/** @generate-function-entries */
+
class finfo
{
function __construct(int $options = FILEINFO_NONE, string $arg = "") {}
diff --git a/ext/fileinfo/fileinfo_arginfo.h b/ext/fileinfo/fileinfo_arginfo.h
index 266fc31a33..c3b1c93da7 100644
--- a/ext/fileinfo/fileinfo_arginfo.h
+++ b/ext/fileinfo/fileinfo_arginfo.h
@@ -49,3 +49,22 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_finfo_set_flags, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
ZEND_END_ARG_INFO()
+
+
+ZEND_FUNCTION(finfo_open);
+ZEND_FUNCTION(finfo_close);
+ZEND_FUNCTION(finfo_set_flags);
+ZEND_FUNCTION(finfo_file);
+ZEND_FUNCTION(finfo_buffer);
+ZEND_FUNCTION(mime_content_type);
+
+
+static const zend_function_entry ext_functions[] = {
+ ZEND_FE(finfo_open, arginfo_finfo_open)
+ ZEND_FE(finfo_close, arginfo_finfo_close)
+ ZEND_FE(finfo_set_flags, arginfo_finfo_set_flags)
+ ZEND_FE(finfo_file, arginfo_finfo_file)
+ ZEND_FE(finfo_buffer, arginfo_finfo_buffer)
+ ZEND_FE(mime_content_type, arginfo_mime_content_type)
+ ZEND_FE_END
+};
diff --git a/ext/fileinfo/php_fileinfo.h b/ext/fileinfo/php_fileinfo.h
index c4f12abf5f..54b6b9d458 100644
--- a/ext/fileinfo/php_fileinfo.h
+++ b/ext/fileinfo/php_fileinfo.h
@@ -34,11 +34,4 @@ extern zend_module_entry fileinfo_module_entry;
PHP_MINFO_FUNCTION(fileinfo);
-PHP_FUNCTION(finfo_open);
-PHP_FUNCTION(finfo_close);
-PHP_FUNCTION(finfo_set_flags);
-PHP_FUNCTION(finfo_file);
-PHP_FUNCTION(finfo_buffer);
-PHP_FUNCTION(mime_content_type);
-
#endif /* PHP_FILEINFO_H */