diff options
Diffstat (limited to 'ext')
34 files changed, 868 insertions, 811 deletions
diff --git a/ext/filter/filter.c b/ext/filter/filter.c index 996308a418..8feae0a3df 100644 --- a/ext/filter/filter.c +++ b/ext/filter/filter.c @@ -78,26 +78,12 @@ static const filter_list_entry filter_list[] = { static unsigned int php_sapi_filter(int arg, char *var, char **val, size_t val_len, size_t *new_val_len); static unsigned int php_sapi_filter_init(void); -/* {{{ filter_functions[] - */ -static const zend_function_entry filter_functions[] = { - PHP_FE(filter_input, arginfo_filter_input) - PHP_FE(filter_var, arginfo_filter_var) - PHP_FE(filter_input_array, arginfo_filter_input_array) - PHP_FE(filter_var_array, arginfo_filter_var_array) - PHP_FE(filter_list, arginfo_filter_list) - PHP_FE(filter_has_var, arginfo_filter_has_var) - PHP_FE(filter_id, arginfo_filter_id) - PHP_FE_END -}; -/* }}} */ - /* {{{ filter_module_entry */ zend_module_entry filter_module_entry = { STANDARD_MODULE_HEADER, "filter", - filter_functions, + ext_functions, PHP_MINIT(filter), PHP_MSHUTDOWN(filter), NULL, diff --git a/ext/filter/filter.stub.php b/ext/filter/filter.stub.php index 31a7f2c3e6..5014e60dd9 100644 --- a/ext/filter/filter.stub.php +++ b/ext/filter/filter.stub.php @@ -1,5 +1,7 @@ <?php +/** @generate-function-entries */ + function filter_has_var(int $type, string $variable_name): bool {} /** diff --git a/ext/filter/filter_arginfo.h b/ext/filter/filter_arginfo.h index 0c2f590dce..b0338ff01e 100644 --- a/ext/filter/filter_arginfo.h +++ b/ext/filter/filter_arginfo.h @@ -36,3 +36,24 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_filter_id, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, filtername, IS_STRING, 0) ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(filter_has_var); +ZEND_FUNCTION(filter_input); +ZEND_FUNCTION(filter_var); +ZEND_FUNCTION(filter_input_array); +ZEND_FUNCTION(filter_var_array); +ZEND_FUNCTION(filter_list); +ZEND_FUNCTION(filter_id); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(filter_has_var, arginfo_filter_has_var) + ZEND_FE(filter_input, arginfo_filter_input) + ZEND_FE(filter_var, arginfo_filter_var) + ZEND_FE(filter_input_array, arginfo_filter_input_array) + ZEND_FE(filter_var_array, arginfo_filter_var_array) + ZEND_FE(filter_list, arginfo_filter_list) + ZEND_FE(filter_id, arginfo_filter_id) + ZEND_FE_END +}; diff --git a/ext/filter/php_filter.h b/ext/filter/php_filter.h index 2a923ab953..2798ca2255 100644 --- a/ext/filter/php_filter.h +++ b/ext/filter/php_filter.h @@ -42,14 +42,6 @@ PHP_RINIT_FUNCTION(filter); PHP_RSHUTDOWN_FUNCTION(filter); PHP_MINFO_FUNCTION(filter); -PHP_FUNCTION(filter_input); -PHP_FUNCTION(filter_var); -PHP_FUNCTION(filter_input_array); -PHP_FUNCTION(filter_var_array); -PHP_FUNCTION(filter_list); -PHP_FUNCTION(filter_has_var); -PHP_FUNCTION(filter_id); - ZEND_BEGIN_MODULE_GLOBALS(filter) zval post_array; zval get_array; diff --git a/ext/ftp/ftp.stub.php b/ext/ftp/ftp.stub.php index d3033e3b31..72b7126843 100644 --- a/ext/ftp/ftp.stub.php +++ b/ext/ftp/ftp.stub.php @@ -1,5 +1,7 @@ <?php +/** @generate-function-entries */ + /** @return resource|false */ function ftp_connect(string $host, int $port = 21, int $timeout = 90) {} diff --git a/ext/ftp/ftp_arginfo.h b/ext/ftp/ftp_arginfo.h index 04292b459f..3167de7d64 100644 --- a/ext/ftp/ftp_arginfo.h +++ b/ext/ftp/ftp_arginfo.h @@ -194,3 +194,85 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ftp_get_option, 0, 2, MAY_BE_LON ZEND_ARG_INFO(0, ftp) ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0) ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(ftp_connect); +#if defined(HAVE_FTP_SSL) +ZEND_FUNCTION(ftp_ssl_connect); +#endif +ZEND_FUNCTION(ftp_login); +ZEND_FUNCTION(ftp_pwd); +ZEND_FUNCTION(ftp_cdup); +ZEND_FUNCTION(ftp_chdir); +ZEND_FUNCTION(ftp_exec); +ZEND_FUNCTION(ftp_raw); +ZEND_FUNCTION(ftp_mkdir); +ZEND_FUNCTION(ftp_rmdir); +ZEND_FUNCTION(ftp_chmod); +ZEND_FUNCTION(ftp_alloc); +ZEND_FUNCTION(ftp_nlist); +ZEND_FUNCTION(ftp_rawlist); +ZEND_FUNCTION(ftp_mlsd); +ZEND_FUNCTION(ftp_systype); +ZEND_FUNCTION(ftp_fget); +ZEND_FUNCTION(ftp_nb_fget); +ZEND_FUNCTION(ftp_pasv); +ZEND_FUNCTION(ftp_get); +ZEND_FUNCTION(ftp_nb_get); +ZEND_FUNCTION(ftp_nb_continue); +ZEND_FUNCTION(ftp_fput); +ZEND_FUNCTION(ftp_nb_fput); +ZEND_FUNCTION(ftp_put); +ZEND_FUNCTION(ftp_append); +ZEND_FUNCTION(ftp_nb_put); +ZEND_FUNCTION(ftp_size); +ZEND_FUNCTION(ftp_mdtm); +ZEND_FUNCTION(ftp_rename); +ZEND_FUNCTION(ftp_delete); +ZEND_FUNCTION(ftp_site); +ZEND_FUNCTION(ftp_close); +ZEND_FUNCTION(ftp_set_option); +ZEND_FUNCTION(ftp_get_option); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(ftp_connect, arginfo_ftp_connect) +#if defined(HAVE_FTP_SSL) + ZEND_FE(ftp_ssl_connect, arginfo_ftp_ssl_connect) +#endif + ZEND_FE(ftp_login, arginfo_ftp_login) + ZEND_FE(ftp_pwd, arginfo_ftp_pwd) + ZEND_FE(ftp_cdup, arginfo_ftp_cdup) + ZEND_FE(ftp_chdir, arginfo_ftp_chdir) + ZEND_FE(ftp_exec, arginfo_ftp_exec) + ZEND_FE(ftp_raw, arginfo_ftp_raw) + ZEND_FE(ftp_mkdir, arginfo_ftp_mkdir) + ZEND_FE(ftp_rmdir, arginfo_ftp_rmdir) + ZEND_FE(ftp_chmod, arginfo_ftp_chmod) + ZEND_FE(ftp_alloc, arginfo_ftp_alloc) + ZEND_FE(ftp_nlist, arginfo_ftp_nlist) + ZEND_FE(ftp_rawlist, arginfo_ftp_rawlist) + ZEND_FE(ftp_mlsd, arginfo_ftp_mlsd) + ZEND_FE(ftp_systype, arginfo_ftp_systype) + ZEND_FE(ftp_fget, arginfo_ftp_fget) + ZEND_FE(ftp_nb_fget, arginfo_ftp_nb_fget) + ZEND_FE(ftp_pasv, arginfo_ftp_pasv) + ZEND_FE(ftp_get, arginfo_ftp_get) + ZEND_FE(ftp_nb_get, arginfo_ftp_nb_get) + ZEND_FE(ftp_nb_continue, arginfo_ftp_nb_continue) + ZEND_FE(ftp_fput, arginfo_ftp_fput) + ZEND_FE(ftp_nb_fput, arginfo_ftp_nb_fput) + ZEND_FE(ftp_put, arginfo_ftp_put) + ZEND_FE(ftp_append, arginfo_ftp_append) + ZEND_FE(ftp_nb_put, arginfo_ftp_nb_put) + ZEND_FE(ftp_size, arginfo_ftp_size) + ZEND_FE(ftp_mdtm, arginfo_ftp_mdtm) + ZEND_FE(ftp_rename, arginfo_ftp_rename) + ZEND_FE(ftp_delete, arginfo_ftp_delete) + ZEND_FE(ftp_site, arginfo_ftp_site) + ZEND_FE(ftp_close, arginfo_ftp_close) + ZEND_FALIAS(ftp_quit, ftp_close, arginfo_ftp_quit) + ZEND_FE(ftp_set_option, arginfo_ftp_set_option) + ZEND_FE(ftp_get_option, arginfo_ftp_get_option) + ZEND_FE_END +}; diff --git a/ext/ftp/php_ftp.c b/ext/ftp/php_ftp.c index 8254ed9127..f4030038f1 100644 --- a/ext/ftp/php_ftp.c +++ b/ext/ftp/php_ftp.c @@ -37,54 +37,12 @@ static int le_ftpbuf; #define le_ftpbuf_name "FTP Buffer" -static const zend_function_entry php_ftp_functions[] = { - PHP_FE(ftp_connect, arginfo_ftp_connect) -#ifdef HAVE_FTP_SSL - PHP_FE(ftp_ssl_connect, arginfo_ftp_ssl_connect) -#endif - PHP_FE(ftp_login, arginfo_ftp_login) - PHP_FE(ftp_pwd, arginfo_ftp_pwd) - PHP_FE(ftp_cdup, arginfo_ftp_cdup) - PHP_FE(ftp_chdir, arginfo_ftp_chdir) - PHP_FE(ftp_exec, arginfo_ftp_exec) - PHP_FE(ftp_raw, arginfo_ftp_raw) - PHP_FE(ftp_mkdir, arginfo_ftp_mkdir) - PHP_FE(ftp_rmdir, arginfo_ftp_rmdir) - PHP_FE(ftp_chmod, arginfo_ftp_chmod) - PHP_FE(ftp_alloc, arginfo_ftp_alloc) - PHP_FE(ftp_nlist, arginfo_ftp_nlist) - PHP_FE(ftp_rawlist, arginfo_ftp_rawlist) - PHP_FE(ftp_mlsd, arginfo_ftp_mlsd) - PHP_FE(ftp_systype, arginfo_ftp_systype) - PHP_FE(ftp_pasv, arginfo_ftp_pasv) - PHP_FE(ftp_get, arginfo_ftp_get) - PHP_FE(ftp_fget, arginfo_ftp_fget) - PHP_FE(ftp_put, arginfo_ftp_put) - PHP_FE(ftp_append, arginfo_ftp_append) - PHP_FE(ftp_fput, arginfo_ftp_fput) - PHP_FE(ftp_size, arginfo_ftp_size) - PHP_FE(ftp_mdtm, arginfo_ftp_mdtm) - PHP_FE(ftp_rename, arginfo_ftp_rename) - PHP_FE(ftp_delete, arginfo_ftp_delete) - PHP_FE(ftp_site, arginfo_ftp_site) - PHP_FE(ftp_close, arginfo_ftp_close) - PHP_FE(ftp_set_option, arginfo_ftp_set_option) - PHP_FE(ftp_get_option, arginfo_ftp_get_option) - PHP_FE(ftp_nb_fget, arginfo_ftp_nb_fget) - PHP_FE(ftp_nb_get, arginfo_ftp_nb_get) - PHP_FE(ftp_nb_continue, arginfo_ftp_nb_continue) - PHP_FE(ftp_nb_put, arginfo_ftp_nb_put) - PHP_FE(ftp_nb_fput, arginfo_ftp_nb_fput) - PHP_FALIAS(ftp_quit, ftp_close, arginfo_ftp_quit) - PHP_FE_END -}; - zend_module_entry php_ftp_module_entry = { STANDARD_MODULE_HEADER_EX, NULL, NULL, "ftp", - php_ftp_functions, + ext_functions, PHP_MINIT(ftp), NULL, NULL, diff --git a/ext/ftp/php_ftp.h b/ext/ftp/php_ftp.h index 0d85f64880..4d18721284 100644 --- a/ext/ftp/php_ftp.h +++ b/ext/ftp/php_ftp.h @@ -34,44 +34,6 @@ extern zend_module_entry php_ftp_module_entry; PHP_MINIT_FUNCTION(ftp); PHP_MINFO_FUNCTION(ftp); -PHP_FUNCTION(ftp_connect); -#ifdef HAVE_FTP_SSL -PHP_FUNCTION(ftp_ssl_connect); -#endif -PHP_FUNCTION(ftp_login); -PHP_FUNCTION(ftp_pwd); -PHP_FUNCTION(ftp_cdup); -PHP_FUNCTION(ftp_chdir); -PHP_FUNCTION(ftp_exec); -PHP_FUNCTION(ftp_raw); -PHP_FUNCTION(ftp_mkdir); -PHP_FUNCTION(ftp_rmdir); -PHP_FUNCTION(ftp_chmod); -PHP_FUNCTION(ftp_alloc); -PHP_FUNCTION(ftp_nlist); -PHP_FUNCTION(ftp_rawlist); -PHP_FUNCTION(ftp_mlsd); -PHP_FUNCTION(ftp_systype); -PHP_FUNCTION(ftp_pasv); -PHP_FUNCTION(ftp_get); -PHP_FUNCTION(ftp_fget); -PHP_FUNCTION(ftp_put); -PHP_FUNCTION(ftp_append); -PHP_FUNCTION(ftp_fput); -PHP_FUNCTION(ftp_size); -PHP_FUNCTION(ftp_mdtm); -PHP_FUNCTION(ftp_rename); -PHP_FUNCTION(ftp_delete); -PHP_FUNCTION(ftp_site); -PHP_FUNCTION(ftp_close); -PHP_FUNCTION(ftp_set_option); -PHP_FUNCTION(ftp_get_option); -PHP_FUNCTION(ftp_nb_get); -PHP_FUNCTION(ftp_nb_fget); -PHP_FUNCTION(ftp_nb_put); -PHP_FUNCTION(ftp_nb_fput); -PHP_FUNCTION(ftp_nb_continue); - #define phpext_ftp_ptr php_ftp_module_ptr #else diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 8435d765b6..5bb840aad8 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -238,160 +238,10 @@ static void php_gd_object_minit_helper() * ********************************************************/ -/* {{{ gd_functions[] - */ -static const zend_function_entry gd_functions[] = { - PHP_FE(gd_info, arginfo_gd_info) - PHP_FE(imagearc, arginfo_imagearc) - PHP_FE(imageellipse, arginfo_imageellipse) - PHP_FE(imagechar, arginfo_imagechar) - PHP_FE(imagecharup, arginfo_imagecharup) - PHP_FE(imagecolorat, arginfo_imagecolorat) - PHP_FE(imagecolorallocate, arginfo_imagecolorallocate) - PHP_FE(imagepalettecopy, arginfo_imagepalettecopy) - PHP_FE(imagecreatefromstring, arginfo_imagecreatefromstring) - PHP_FE(imagecolorclosest, arginfo_imagecolorclosest) - PHP_FE(imagecolorclosesthwb, arginfo_imagecolorclosesthwb) - PHP_FE(imagecolordeallocate, arginfo_imagecolordeallocate) - PHP_FE(imagecolorresolve, arginfo_imagecolorresolve) - PHP_FE(imagecolorexact, arginfo_imagecolorexact) - PHP_FE(imagecolorset, arginfo_imagecolorset) - PHP_FE(imagecolortransparent, arginfo_imagecolortransparent) - PHP_FE(imagecolorstotal, arginfo_imagecolorstotal) - PHP_FE(imagecolorsforindex, arginfo_imagecolorsforindex) - PHP_FE(imagecopy, arginfo_imagecopy) - PHP_FE(imagecopymerge, arginfo_imagecopymerge) - PHP_FE(imagecopymergegray, arginfo_imagecopymergegray) - PHP_FE(imagecopyresized, arginfo_imagecopyresized) - PHP_FE(imagecreate, arginfo_imagecreate) - PHP_FE(imagecreatetruecolor, arginfo_imagecreatetruecolor) - PHP_FE(imageistruecolor, arginfo_imageistruecolor) - PHP_FE(imagetruecolortopalette, arginfo_imagetruecolortopalette) - PHP_FE(imagepalettetotruecolor, arginfo_imagepalettetotruecolor) - PHP_FE(imagesetthickness, arginfo_imagesetthickness) - PHP_FE(imagefilledarc, arginfo_imagefilledarc) - PHP_FE(imagefilledellipse, arginfo_imagefilledellipse) - PHP_FE(imagealphablending, arginfo_imagealphablending) - PHP_FE(imagesavealpha, arginfo_imagesavealpha) - PHP_FE(imagecolorallocatealpha, arginfo_imagecolorallocatealpha) - PHP_FE(imagecolorresolvealpha, arginfo_imagecolorresolvealpha) - PHP_FE(imagecolorclosestalpha, arginfo_imagecolorclosestalpha) - PHP_FE(imagecolorexactalpha, arginfo_imagecolorexactalpha) - PHP_FE(imagecopyresampled, arginfo_imagecopyresampled) - -#ifdef PHP_WIN32 - PHP_FE(imagegrabwindow, arginfo_imagegrabwindow) - PHP_FE(imagegrabscreen, arginfo_imagegrabscreen) -#endif - - PHP_FE(imagerotate, arginfo_imagerotate) - PHP_FE(imageflip, arginfo_imageflip) - - PHP_FE(imageantialias, arginfo_imageantialias) - PHP_FE(imagecrop, arginfo_imagecrop) - PHP_FE(imagecropauto, arginfo_imagecropauto) - PHP_FE(imagescale, arginfo_imagescale) - PHP_FE(imageaffine, arginfo_imageaffine) - PHP_FE(imageaffinematrixconcat, arginfo_imageaffinematrixconcat) - PHP_FE(imageaffinematrixget, arginfo_imageaffinematrixget) - PHP_FE(imagegetinterpolation, arginfo_imagegetinterpolation) - PHP_FE(imagesetinterpolation, arginfo_imagesetinterpolation) - PHP_FE(imagesettile, arginfo_imagesettile) - PHP_FE(imagesetbrush, arginfo_imagesetbrush) - PHP_FE(imagesetstyle, arginfo_imagesetstyle) - -#ifdef HAVE_GD_PNG - PHP_FE(imagecreatefrompng, arginfo_imagecreatefrompng) -#endif -#ifdef HAVE_GD_WEBP - PHP_FE(imagecreatefromwebp, arginfo_imagecreatefromwebp) -#endif - PHP_FE(imagecreatefromgif, arginfo_imagecreatefromgif) -#ifdef HAVE_GD_JPG - PHP_FE(imagecreatefromjpeg, arginfo_imagecreatefromjpeg) -#endif - PHP_FE(imagecreatefromwbmp, arginfo_imagecreatefromwbmp) - PHP_FE(imagecreatefromxbm, arginfo_imagecreatefromxbm) -#if defined(HAVE_GD_XPM) - PHP_FE(imagecreatefromxpm, arginfo_imagecreatefromxpm) -#endif - PHP_FE(imagecreatefromgd, arginfo_imagecreatefromgd) - PHP_FE(imagecreatefromgd2, arginfo_imagecreatefromgd2) - PHP_FE(imagecreatefromgd2part, arginfo_imagecreatefromgd2part) -#ifdef HAVE_GD_BMP - PHP_FE(imagecreatefrombmp, arginfo_imagecreatefrombmp) -#endif -#ifdef HAVE_GD_TGA - PHP_FE(imagecreatefromtga, arginfo_imagecreatefromtga) -#endif -#ifdef HAVE_GD_PNG - PHP_FE(imagepng, arginfo_imagepng) -#endif -#ifdef HAVE_GD_WEBP - PHP_FE(imagewebp, arginfo_imagewebp) -#endif - PHP_FE(imagegif, arginfo_imagegif) -#ifdef HAVE_GD_JPG - PHP_FE(imagejpeg, arginfo_imagejpeg) -#endif - PHP_FE(imagewbmp, arginfo_imagewbmp) - PHP_FE(imagegd, arginfo_imagegd) - PHP_FE(imagegd2, arginfo_imagegd2) -#ifdef HAVE_GD_BMP - PHP_FE(imagebmp, arginfo_imagebmp) -#endif - - PHP_FE(imagedestroy, arginfo_imagedestroy) - PHP_FE(imagegammacorrect, arginfo_imagegammacorrect) - PHP_FE(imagefill, arginfo_imagefill) - PHP_FE(imagefilledpolygon, arginfo_imagefilledpolygon) - PHP_FE(imagefilledrectangle, arginfo_imagefilledrectangle) - PHP_FE(imagefilltoborder, arginfo_imagefilltoborder) - PHP_FE(imagefontwidth, arginfo_imagefontwidth) - PHP_FE(imagefontheight, arginfo_imagefontheight) - PHP_FE(imageinterlace, arginfo_imageinterlace) - PHP_FE(imageline, arginfo_imageline) - PHP_FE(imageloadfont, arginfo_imageloadfont) - PHP_FE(imagepolygon, arginfo_imagepolygon) - PHP_FE(imageopenpolygon, arginfo_imageopenpolygon) - PHP_FE(imagerectangle, arginfo_imagerectangle) - PHP_FE(imagesetpixel, arginfo_imagesetpixel) - PHP_FE(imagestring, arginfo_imagestring) - PHP_FE(imagestringup, arginfo_imagestringup) - PHP_FE(imagesx, arginfo_imagesx) - PHP_FE(imagesy, arginfo_imagesy) - PHP_FE(imagesetclip, arginfo_imagesetclip) - PHP_FE(imagegetclip, arginfo_imagegetclip) - PHP_FE(imagedashedline, arginfo_imagedashedline) - -#ifdef HAVE_GD_FREETYPE - PHP_FE(imagettfbbox, arginfo_imagettfbbox) - PHP_FE(imagettftext, arginfo_imagettftext) - PHP_FE(imageftbbox, arginfo_imageftbbox) - PHP_FE(imagefttext, arginfo_imagefttext) -#endif - - PHP_FE(imagetypes, arginfo_imagetypes) - - PHP_FE(imagelayereffect, arginfo_imagelayereffect) - PHP_FE(imagexbm, arginfo_imagexbm) - - PHP_FE(imagecolormatch, arginfo_imagecolormatch) - -/* gd filters */ - PHP_FE(imagefilter, arginfo_imagefilter) - PHP_FE(imageconvolution, arginfo_imageconvolution) - - PHP_FE(imageresolution, arginfo_imageresolution) - - PHP_FE_END -}; -/* }}} */ - zend_module_entry gd_module_entry = { STANDARD_MODULE_HEADER, "gd", - gd_functions, + ext_functions, PHP_MINIT(gd), PHP_MSHUTDOWN(gd), NULL, diff --git a/ext/gd/gd.stub.php b/ext/gd/gd.stub.php index 18497cddfe..1a886f5965 100644 --- a/ext/gd/gd.stub.php +++ b/ext/gd/gd.stub.php @@ -1,5 +1,7 @@ <?php +/** @generate-function-entries */ + function gd_info(): array {} function imageloadfont(string $filename): int|false {} diff --git a/ext/gd/gd_arginfo.h b/ext/gd/gd_arginfo.h index e829e3a4bc..cc2944913e 100644 --- a/ext/gd/gd_arginfo.h +++ b/ext/gd/gd_arginfo.h @@ -568,3 +568,286 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_imageresolution, 0, 1, MAY_BE_AR ZEND_ARG_TYPE_INFO(0, res_x, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, res_y, IS_LONG, 0) ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(gd_info); +ZEND_FUNCTION(imageloadfont); +ZEND_FUNCTION(imagesetstyle); +ZEND_FUNCTION(imagecreatetruecolor); +ZEND_FUNCTION(imageistruecolor); +ZEND_FUNCTION(imagetruecolortopalette); +ZEND_FUNCTION(imagepalettetotruecolor); +ZEND_FUNCTION(imagecolormatch); +ZEND_FUNCTION(imagesetthickness); +ZEND_FUNCTION(imagefilledellipse); +ZEND_FUNCTION(imagefilledarc); +ZEND_FUNCTION(imagealphablending); +ZEND_FUNCTION(imagesavealpha); +ZEND_FUNCTION(imagelayereffect); +ZEND_FUNCTION(imagecolorallocatealpha); +ZEND_FUNCTION(imagecolorresolvealpha); +ZEND_FUNCTION(imagecolorclosestalpha); +ZEND_FUNCTION(imagecolorexactalpha); +ZEND_FUNCTION(imagecopyresampled); +#if defined(PHP_WIN32) +ZEND_FUNCTION(imagegrabwindow); +#endif +#if defined(PHP_WIN32) +ZEND_FUNCTION(imagegrabscreen); +#endif +ZEND_FUNCTION(imagerotate); +ZEND_FUNCTION(imagesettile); +ZEND_FUNCTION(imagesetbrush); +ZEND_FUNCTION(imagecreate); +ZEND_FUNCTION(imagetypes); +ZEND_FUNCTION(imagecreatefromstring); +ZEND_FUNCTION(imagecreatefromgif); +#if defined(HAVE_GD_JPG) +ZEND_FUNCTION(imagecreatefromjpeg); +#endif +#if defined(HAVE_GD_PNG) +ZEND_FUNCTION(imagecreatefrompng); +#endif +#if defined(HAVE_GD_WEBP) +ZEND_FUNCTION(imagecreatefromwebp); +#endif +ZEND_FUNCTION(imagecreatefromxbm); +#if defined(HAVE_GD_XPM) +ZEND_FUNCTION(imagecreatefromxpm); +#endif +ZEND_FUNCTION(imagecreatefromwbmp); +ZEND_FUNCTION(imagecreatefromgd); +ZEND_FUNCTION(imagecreatefromgd2); +ZEND_FUNCTION(imagecreatefromgd2part); +#if defined(HAVE_GD_BMP) +ZEND_FUNCTION(imagecreatefrombmp); +#endif +#if defined(HAVE_GD_TGA) +ZEND_FUNCTION(imagecreatefromtga); +#endif +ZEND_FUNCTION(imagexbm); +ZEND_FUNCTION(imagegif); +#if defined(HAVE_GD_PNG) +ZEND_FUNCTION(imagepng); +#endif +#if defined(HAVE_GD_WEBP) +ZEND_FUNCTION(imagewebp); +#endif +#if defined(HAVE_GD_JPG) +ZEND_FUNCTION(imagejpeg); +#endif +ZEND_FUNCTION(imagewbmp); +ZEND_FUNCTION(imagegd); +ZEND_FUNCTION(imagegd2); +#if defined(HAVE_GD_BMP) +ZEND_FUNCTION(imagebmp); +#endif +ZEND_FUNCTION(imagedestroy); +ZEND_FUNCTION(imagecolorallocate); +ZEND_FUNCTION(imagepalettecopy); +ZEND_FUNCTION(imagecolorat); +ZEND_FUNCTION(imagecolorclosest); +ZEND_FUNCTION(imagecolorclosesthwb); +ZEND_FUNCTION(imagecolordeallocate); +ZEND_FUNCTION(imagecolorresolve); +ZEND_FUNCTION(imagecolorexact); +ZEND_FUNCTION(imagecolorset); +ZEND_FUNCTION(imagecolorsforindex); +ZEND_FUNCTION(imagegammacorrect); +ZEND_FUNCTION(imagesetpixel); +ZEND_FUNCTION(imageline); +ZEND_FUNCTION(imagedashedline); +ZEND_FUNCTION(imagerectangle); +ZEND_FUNCTION(imagefilledrectangle); +ZEND_FUNCTION(imagearc); +ZEND_FUNCTION(imageellipse); +ZEND_FUNCTION(imagefilltoborder); +ZEND_FUNCTION(imagefill); +ZEND_FUNCTION(imagecolorstotal); +ZEND_FUNCTION(imagecolortransparent); +ZEND_FUNCTION(imageinterlace); +ZEND_FUNCTION(imagepolygon); +ZEND_FUNCTION(imageopenpolygon); +ZEND_FUNCTION(imagefilledpolygon); +ZEND_FUNCTION(imagefontwidth); +ZEND_FUNCTION(imagefontheight); +ZEND_FUNCTION(imagechar); +ZEND_FUNCTION(imagecharup); +ZEND_FUNCTION(imagestring); +ZEND_FUNCTION(imagestringup); +ZEND_FUNCTION(imagecopy); +ZEND_FUNCTION(imagecopymerge); +ZEND_FUNCTION(imagecopymergegray); +ZEND_FUNCTION(imagecopyresized); +ZEND_FUNCTION(imagesx); +ZEND_FUNCTION(imagesy); +ZEND_FUNCTION(imagesetclip); +ZEND_FUNCTION(imagegetclip); +#if defined(HAVE_GD_FREETYPE) +ZEND_FUNCTION(imageftbbox); +#endif +#if defined(HAVE_GD_FREETYPE) +ZEND_FUNCTION(imagefttext); +#endif +#if defined(HAVE_GD_FREETYPE) +ZEND_FUNCTION(imagettfbbox); +#endif +#if defined(HAVE_GD_FREETYPE) +ZEND_FUNCTION(imagettftext); +#endif +ZEND_FUNCTION(imagefilter); +ZEND_FUNCTION(imageconvolution); +ZEND_FUNCTION(imageflip); +ZEND_FUNCTION(imageantialias); +ZEND_FUNCTION(imagecrop); +ZEND_FUNCTION(imagecropauto); +ZEND_FUNCTION(imagescale); +ZEND_FUNCTION(imageaffine); +ZEND_FUNCTION(imageaffinematrixget); +ZEND_FUNCTION(imageaffinematrixconcat); +ZEND_FUNCTION(imagegetinterpolation); +ZEND_FUNCTION(imagesetinterpolation); +ZEND_FUNCTION(imageresolution); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(gd_info, arginfo_gd_info) + ZEND_FE(imageloadfont, arginfo_imageloadfont) + ZEND_FE(imagesetstyle, arginfo_imagesetstyle) + ZEND_FE(imagecreatetruecolor, arginfo_imagecreatetruecolor) + ZEND_FE(imageistruecolor, arginfo_imageistruecolor) + ZEND_FE(imagetruecolortopalette, arginfo_imagetruecolortopalette) + ZEND_FE(imagepalettetotruecolor, arginfo_imagepalettetotruecolor) + ZEND_FE(imagecolormatch, arginfo_imagecolormatch) + ZEND_FE(imagesetthickness, arginfo_imagesetthickness) + ZEND_FE(imagefilledellipse, arginfo_imagefilledellipse) + ZEND_FE(imagefilledarc, arginfo_imagefilledarc) + ZEND_FE(imagealphablending, arginfo_imagealphablending) + ZEND_FE(imagesavealpha, arginfo_imagesavealpha) + ZEND_FE(imagelayereffect, arginfo_imagelayereffect) + ZEND_FE(imagecolorallocatealpha, arginfo_imagecolorallocatealpha) + ZEND_FE(imagecolorresolvealpha, arginfo_imagecolorresolvealpha) + ZEND_FE(imagecolorclosestalpha, arginfo_imagecolorclosestalpha) + ZEND_FE(imagecolorexactalpha, arginfo_imagecolorexactalpha) + ZEND_FE(imagecopyresampled, arginfo_imagecopyresampled) +#if defined(PHP_WIN32) + ZEND_FE(imagegrabwindow, arginfo_imagegrabwindow) +#endif +#if defined(PHP_WIN32) + ZEND_FE(imagegrabscreen, arginfo_imagegrabscreen) +#endif + ZEND_FE(imagerotate, arginfo_imagerotate) + ZEND_FE(imagesettile, arginfo_imagesettile) + ZEND_FE(imagesetbrush, arginfo_imagesetbrush) + ZEND_FE(imagecreate, arginfo_imagecreate) + ZEND_FE(imagetypes, arginfo_imagetypes) + ZEND_FE(imagecreatefromstring, arginfo_imagecreatefromstring) + ZEND_FE(imagecreatefromgif, arginfo_imagecreatefromgif) +#if defined(HAVE_GD_JPG) + ZEND_FE(imagecreatefromjpeg, arginfo_imagecreatefromjpeg) +#endif +#if defined(HAVE_GD_PNG) + ZEND_FE(imagecreatefrompng, arginfo_imagecreatefrompng) +#endif +#if defined(HAVE_GD_WEBP) + ZEND_FE(imagecreatefromwebp, arginfo_imagecreatefromwebp) +#endif + ZEND_FE(imagecreatefromxbm, arginfo_imagecreatefromxbm) +#if defined(HAVE_GD_XPM) + ZEND_FE(imagecreatefromxpm, arginfo_imagecreatefromxpm) +#endif + ZEND_FE(imagecreatefromwbmp, arginfo_imagecreatefromwbmp) + ZEND_FE(imagecreatefromgd, arginfo_imagecreatefromgd) + ZEND_FE(imagecreatefromgd2, arginfo_imagecreatefromgd2) + ZEND_FE(imagecreatefromgd2part, arginfo_imagecreatefromgd2part) +#if defined(HAVE_GD_BMP) + ZEND_FE(imagecreatefrombmp, arginfo_imagecreatefrombmp) +#endif +#if defined(HAVE_GD_TGA) + ZEND_FE(imagecreatefromtga, arginfo_imagecreatefromtga) +#endif + ZEND_FE(imagexbm, arginfo_imagexbm) + ZEND_FE(imagegif, arginfo_imagegif) +#if defined(HAVE_GD_PNG) + ZEND_FE(imagepng, arginfo_imagepng) +#endif +#if defined(HAVE_GD_WEBP) + ZEND_FE(imagewebp, arginfo_imagewebp) +#endif +#if defined(HAVE_GD_JPG) + ZEND_FE(imagejpeg, arginfo_imagejpeg) +#endif + ZEND_FE(imagewbmp, arginfo_imagewbmp) + ZEND_FE(imagegd, arginfo_imagegd) + ZEND_FE(imagegd2, arginfo_imagegd2) +#if defined(HAVE_GD_BMP) + ZEND_FE(imagebmp, arginfo_imagebmp) +#endif + ZEND_FE(imagedestroy, arginfo_imagedestroy) + ZEND_FE(imagecolorallocate, arginfo_imagecolorallocate) + ZEND_FE(imagepalettecopy, arginfo_imagepalettecopy) + ZEND_FE(imagecolorat, arginfo_imagecolorat) + ZEND_FE(imagecolorclosest, arginfo_imagecolorclosest) + ZEND_FE(imagecolorclosesthwb, arginfo_imagecolorclosesthwb) + ZEND_FE(imagecolordeallocate, arginfo_imagecolordeallocate) + ZEND_FE(imagecolorresolve, arginfo_imagecolorresolve) + ZEND_FE(imagecolorexact, arginfo_imagecolorexact) + ZEND_FE(imagecolorset, arginfo_imagecolorset) + ZEND_FE(imagecolorsforindex, arginfo_imagecolorsforindex) + ZEND_FE(imagegammacorrect, arginfo_imagegammacorrect) + ZEND_FE(imagesetpixel, arginfo_imagesetpixel) + ZEND_FE(imageline, arginfo_imageline) + ZEND_FE(imagedashedline, arginfo_imagedashedline) + ZEND_FE(imagerectangle, arginfo_imagerectangle) + ZEND_FE(imagefilledrectangle, arginfo_imagefilledrectangle) + ZEND_FE(imagearc, arginfo_imagearc) + ZEND_FE(imageellipse, arginfo_imageellipse) + ZEND_FE(imagefilltoborder, arginfo_imagefilltoborder) + ZEND_FE(imagefill, arginfo_imagefill) + ZEND_FE(imagecolorstotal, arginfo_imagecolorstotal) + ZEND_FE(imagecolortransparent, arginfo_imagecolortransparent) + ZEND_FE(imageinterlace, arginfo_imageinterlace) + ZEND_FE(imagepolygon, arginfo_imagepolygon) + ZEND_FE(imageopenpolygon, arginfo_imageopenpolygon) + ZEND_FE(imagefilledpolygon, arginfo_imagefilledpolygon) + ZEND_FE(imagefontwidth, arginfo_imagefontwidth) + ZEND_FE(imagefontheight, arginfo_imagefontheight) + ZEND_FE(imagechar, arginfo_imagechar) + ZEND_FE(imagecharup, arginfo_imagecharup) + ZEND_FE(imagestring, arginfo_imagestring) + ZEND_FE(imagestringup, arginfo_imagestringup) + ZEND_FE(imagecopy, arginfo_imagecopy) + ZEND_FE(imagecopymerge, arginfo_imagecopymerge) + ZEND_FE(imagecopymergegray, arginfo_imagecopymergegray) + ZEND_FE(imagecopyresized, arginfo_imagecopyresized) + ZEND_FE(imagesx, arginfo_imagesx) + ZEND_FE(imagesy, arginfo_imagesy) + ZEND_FE(imagesetclip, arginfo_imagesetclip) + ZEND_FE(imagegetclip, arginfo_imagegetclip) +#if defined(HAVE_GD_FREETYPE) + ZEND_FE(imageftbbox, arginfo_imageftbbox) +#endif +#if defined(HAVE_GD_FREETYPE) + ZEND_FE(imagefttext, arginfo_imagefttext) +#endif +#if defined(HAVE_GD_FREETYPE) + ZEND_FE(imagettfbbox, arginfo_imagettfbbox) +#endif +#if defined(HAVE_GD_FREETYPE) + ZEND_FE(imagettftext, arginfo_imagettftext) +#endif + ZEND_FE(imagefilter, arginfo_imagefilter) + ZEND_FE(imageconvolution, arginfo_imageconvolution) + ZEND_FE(imageflip, arginfo_imageflip) + ZEND_FE(imageantialias, arginfo_imageantialias) + ZEND_FE(imagecrop, arginfo_imagecrop) + ZEND_FE(imagecropauto, arginfo_imagecropauto) + ZEND_FE(imagescale, arginfo_imagescale) + ZEND_FE(imageaffine, arginfo_imageaffine) + ZEND_FE(imageaffinematrixget, arginfo_imageaffinematrixget) + ZEND_FE(imageaffinematrixconcat, arginfo_imageaffinematrixconcat) + ZEND_FE(imagegetinterpolation, arginfo_imagegetinterpolation) + ZEND_FE(imagesetinterpolation, arginfo_imagesetinterpolation) + ZEND_FE(imageresolution, arginfo_imageresolution) + ZEND_FE_END +}; diff --git a/ext/gd/php_gd.h b/ext/gd/php_gd.h index d429530479..32fba66165 100644 --- a/ext/gd/php_gd.h +++ b/ext/gd/php_gd.h @@ -77,139 +77,6 @@ PHP_MINIT_FUNCTION(gd); PHP_MSHUTDOWN_FUNCTION(gd); PHP_RSHUTDOWN_FUNCTION(gd); -PHP_FUNCTION(gd_info); -PHP_FUNCTION(imagearc); -PHP_FUNCTION(imageellipse); -PHP_FUNCTION(imagechar); -PHP_FUNCTION(imagecharup); -PHP_FUNCTION(imageistruecolor); -PHP_FUNCTION(imagecolorallocate); -PHP_FUNCTION(imagepalettecopy); -PHP_FUNCTION(imagecolorat); -PHP_FUNCTION(imagecolorclosest); -PHP_FUNCTION(imagecolorclosesthwb); -PHP_FUNCTION(imagecolordeallocate); -PHP_FUNCTION(imagecolorresolve); -PHP_FUNCTION(imagecolorexact); -PHP_FUNCTION(imagecolorset); -PHP_FUNCTION(imagecolorstotal); -PHP_FUNCTION(imagecolorsforindex); -PHP_FUNCTION(imagecolortransparent); -PHP_FUNCTION(imagecopy); -PHP_FUNCTION(imagecopymerge); -PHP_FUNCTION(imagecopyresized); -PHP_FUNCTION(imagetypes); -PHP_FUNCTION(imagecreate); -PHP_FUNCTION(imageftbbox); -PHP_FUNCTION(imagefttext); - -PHP_FUNCTION(imagecreatetruecolor); -PHP_FUNCTION(imagetruecolortopalette); -PHP_FUNCTION(imagepalettetotruecolor); -PHP_FUNCTION(imagesetthickness); -PHP_FUNCTION(imagefilledellipse); -PHP_FUNCTION(imagefilledarc); -PHP_FUNCTION(imagealphablending); -PHP_FUNCTION(imagesavealpha); -PHP_FUNCTION(imagecolorallocatealpha); -PHP_FUNCTION(imagecolorresolvealpha); -PHP_FUNCTION(imagecolorclosestalpha); -PHP_FUNCTION(imagecolorexactalpha); -PHP_FUNCTION(imagecopyresampled); - -#ifdef PHP_WIN32 -PHP_FUNCTION(imagegrabwindow); -PHP_FUNCTION(imagegrabscreen); -#endif - -PHP_FUNCTION(imagerotate); - -PHP_FUNCTION(imageflip); - -PHP_FUNCTION(imageantialias); - -PHP_FUNCTION(imagecrop); -PHP_FUNCTION(imagecropauto); -PHP_FUNCTION(imagescale); -PHP_FUNCTION(imageaffine); -PHP_FUNCTION(imageaffinematrixget); -PHP_FUNCTION(imageaffinematrixconcat); -PHP_FUNCTION(imagegetinterpolation); -PHP_FUNCTION(imagesetinterpolation); - -PHP_FUNCTION(imagesetthickness); -PHP_FUNCTION(imagecopymergegray); -PHP_FUNCTION(imagesetbrush); -PHP_FUNCTION(imagesettile); -PHP_FUNCTION(imagesetstyle); - -PHP_FUNCTION(imagecreatefromstring); -PHP_FUNCTION(imagecreatefromgif); -PHP_FUNCTION(imagecreatefromjpeg); -PHP_FUNCTION(imagecreatefromxbm); -PHP_FUNCTION(imagecreatefromwebp); -PHP_FUNCTION(imagecreatefrompng); -PHP_FUNCTION(imagecreatefromwbmp); -PHP_FUNCTION(imagecreatefromgd); -PHP_FUNCTION(imagecreatefromgd2); -PHP_FUNCTION(imagecreatefromgd2part); -#if defined(HAVE_GD_BMP) -PHP_FUNCTION(imagecreatefrombmp); -#endif -#if defined(HAVE_GD_TGA) -PHP_FUNCTION(imagecreatefromtga); -#endif -#if defined(HAVE_GD_XPM) -PHP_FUNCTION(imagecreatefromxpm); -#endif - -PHP_FUNCTION(imagegammacorrect); -PHP_FUNCTION(imagedestroy); -PHP_FUNCTION(imagefill); -PHP_FUNCTION(imagefilledpolygon); -PHP_FUNCTION(imagefilledrectangle); -PHP_FUNCTION(imagefilltoborder); -PHP_FUNCTION(imagefontwidth); -PHP_FUNCTION(imagefontheight); - -PHP_FUNCTION(imagegif ); -PHP_FUNCTION(imagejpeg ); -PHP_FUNCTION(imagepng); -PHP_FUNCTION(imagewebp); -PHP_FUNCTION(imagewbmp); -PHP_FUNCTION(imagegd); -PHP_FUNCTION(imagegd2); -#if defined(HAVE_GD_BMP) -PHP_FUNCTION(imagebmp); -#endif - -PHP_FUNCTION(imageinterlace); -PHP_FUNCTION(imageline); -PHP_FUNCTION(imageloadfont); -PHP_FUNCTION(imagepolygon); -PHP_FUNCTION(imageopenpolygon); -PHP_FUNCTION(imagerectangle); -PHP_FUNCTION(imagesetpixel); -PHP_FUNCTION(imagestring); -PHP_FUNCTION(imagestringup); -PHP_FUNCTION(imagesx); -PHP_FUNCTION(imagesy); -PHP_FUNCTION(imagesetclip); -PHP_FUNCTION(imagegetclip); -PHP_FUNCTION(imagedashedline); -PHP_FUNCTION(imagettfbbox); -PHP_FUNCTION(imagettftext); - -PHP_FUNCTION(imagecolormatch); - -PHP_FUNCTION(imagelayereffect); -PHP_FUNCTION(imagexbm); - -PHP_FUNCTION(imagefilter); -PHP_FUNCTION(imageconvolution); - -PHP_FUNCTION(imageresolution); - PHP_GD_API int phpi_get_le_gd(void); #else diff --git a/ext/gettext/gettext.c b/ext/gettext/gettext.c index ab796630f4..7e6b95f5fc 100644 --- a/ext/gettext/gettext.c +++ b/ext/gettext/gettext.c @@ -27,38 +27,12 @@ #include "php_gettext.h" #include "gettext_arginfo.h" -/* {{{ php_gettext_functions[] - */ -static const zend_function_entry php_gettext_functions[] = { - PHP_NAMED_FE(textdomain, zif_textdomain, arginfo_textdomain) - PHP_NAMED_FE(gettext, zif_gettext, arginfo_gettext) - /* Alias for gettext() */ - PHP_NAMED_FE(_, zif_gettext, arginfo_gettext) - PHP_NAMED_FE(dgettext, zif_dgettext, arginfo_dgettext) - PHP_NAMED_FE(dcgettext, zif_dcgettext, arginfo_dcgettext) - PHP_NAMED_FE(bindtextdomain, zif_bindtextdomain, arginfo_bindtextdomain) -#if HAVE_NGETTEXT - PHP_NAMED_FE(ngettext, zif_ngettext, arginfo_ngettext) -#endif -#if HAVE_DNGETTEXT - PHP_NAMED_FE(dngettext, zif_dngettext, arginfo_dngettext) -#endif -#if HAVE_DCNGETTEXT - PHP_NAMED_FE(dcngettext, zif_dcngettext, arginfo_dcngettext) -#endif -#if HAVE_BIND_TEXTDOMAIN_CODESET - PHP_NAMED_FE(bind_textdomain_codeset, zif_bind_textdomain_codeset, arginfo_bind_textdomain_codeset) -#endif - PHP_FE_END -}; -/* }}} */ - #include <libintl.h> zend_module_entry php_gettext_module_entry = { STANDARD_MODULE_HEADER, "gettext", - php_gettext_functions, + ext_functions, NULL, NULL, NULL, @@ -96,7 +70,7 @@ PHP_MINFO_FUNCTION(php_gettext) /* {{{ proto string textdomain(string domain) Set the textdomain to "domain". Returns the current domain */ -PHP_NAMED_FUNCTION(zif_textdomain) +PHP_FUNCTION(textdomain) { char *domain = NULL, *domain_name, *retval; size_t domain_len = 0; @@ -121,7 +95,7 @@ PHP_NAMED_FUNCTION(zif_textdomain) /* {{{ proto string gettext(string msgid) Return the translation of msgid for the current domain, or msgid unaltered if a translation does not exist */ -PHP_NAMED_FUNCTION(zif_gettext) +PHP_FUNCTION(gettext) { char *msgstr; zend_string *msgid; @@ -143,7 +117,7 @@ PHP_NAMED_FUNCTION(zif_gettext) /* {{{ proto string dgettext(string domain_name, string msgid) Return the translation of msgid for domain_name, or msgid unaltered if a translation does not exist */ -PHP_NAMED_FUNCTION(zif_dgettext) +PHP_FUNCTION(dgettext) { char *msgstr; zend_string *domain, *msgid; @@ -167,7 +141,7 @@ PHP_NAMED_FUNCTION(zif_dgettext) /* {{{ proto string dcgettext(string domain_name, string msgid, int category) Return the translation of msgid for domain_name and category, or msgid unaltered if a translation does not exist */ -PHP_NAMED_FUNCTION(zif_dcgettext) +PHP_FUNCTION(dcgettext) { char *msgstr; zend_string *domain, *msgid; @@ -192,7 +166,7 @@ PHP_NAMED_FUNCTION(zif_dcgettext) /* {{{ proto string bindtextdomain(string domain_name, string dir) Bind to the text domain domain_name, looking for translations in dir. Returns the current domain */ -PHP_NAMED_FUNCTION(zif_bindtextdomain) +PHP_FUNCTION(bindtextdomain) { char *domain, *dir; size_t domain_len, dir_len; @@ -226,7 +200,7 @@ PHP_NAMED_FUNCTION(zif_bindtextdomain) #if HAVE_NGETTEXT /* {{{ proto string ngettext(string MSGID1, string MSGID2, int N) Plural version of gettext() */ -PHP_NAMED_FUNCTION(zif_ngettext) +PHP_FUNCTION(ngettext) { char *msgid1, *msgid2, *msgstr; size_t msgid1_len, msgid2_len; @@ -250,7 +224,7 @@ PHP_NAMED_FUNCTION(zif_ngettext) #if HAVE_DNGETTEXT /* {{{ proto string dngettext(string domain, string msgid1, string msgid2, int count) Plural version of dgettext() */ -PHP_NAMED_FUNCTION(zif_dngettext) +PHP_FUNCTION(dngettext) { char *domain, *msgid1, *msgid2, *msgstr = NULL; size_t domain_len, msgid1_len, msgid2_len; @@ -276,7 +250,7 @@ PHP_NAMED_FUNCTION(zif_dngettext) #if HAVE_DCNGETTEXT /* {{{ proto string dcngettext(string domain, string msgid1, string msgid2, int n, int category) Plural version of dcgettext() */ -PHP_NAMED_FUNCTION(zif_dcngettext) +PHP_FUNCTION(dcngettext) { char *domain, *msgid1, *msgid2, *msgstr = NULL; size_t domain_len, msgid1_len, msgid2_len; @@ -305,7 +279,7 @@ PHP_NAMED_FUNCTION(zif_dcngettext) /* {{{ proto string bind_textdomain_codeset(string domain, string codeset) Specify the character encoding in which the messages from the DOMAIN message catalog will be returned. */ -PHP_NAMED_FUNCTION(zif_bind_textdomain_codeset) +PHP_FUNCTION(bind_textdomain_codeset) { char *domain, *codeset, *retval = NULL; size_t domain_len, codeset_len; diff --git a/ext/gettext/gettext.stub.php b/ext/gettext/gettext.stub.php index 16315f0033..71c7712001 100644 --- a/ext/gettext/gettext.stub.php +++ b/ext/gettext/gettext.stub.php @@ -1,9 +1,14 @@ <?php +/** @generate-function-entries */ + function textdomain(?string $domain): string|false {} function gettext(string $msgid): string|false {} +/** @alias gettext */ +function _(string $msgid): string|false {} + function dgettext(string $domain_name, string $msgid): string|false {} function dcgettext(string $domain_name, string $msgid, int $category): string|false {} diff --git a/ext/gettext/gettext_arginfo.h b/ext/gettext/gettext_arginfo.h index d3c4374b4a..03933da2f6 100644 --- a/ext/gettext/gettext_arginfo.h +++ b/ext/gettext/gettext_arginfo.h @@ -8,6 +8,8 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_gettext, 0, 1, MAY_BE_STRING|MAY ZEND_ARG_TYPE_INFO(0, msgid, IS_STRING, 0) ZEND_END_ARG_INFO() +#define arginfo__ arginfo_gettext + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_dgettext, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, domain_name, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, msgid, IS_STRING, 0) @@ -57,3 +59,45 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_bind_textdomain_codeset, 0, 2, M ZEND_ARG_TYPE_INFO(0, codeset, IS_STRING, 0) ZEND_END_ARG_INFO() #endif + + +ZEND_FUNCTION(textdomain); +ZEND_FUNCTION(gettext); +ZEND_FUNCTION(dgettext); +ZEND_FUNCTION(dcgettext); +ZEND_FUNCTION(bindtextdomain); +#if HAVE_NGETTEXT +ZEND_FUNCTION(ngettext); +#endif +#if HAVE_DNGETTEXT +ZEND_FUNCTION(dngettext); +#endif +#if HAVE_DCNGETTEXT +ZEND_FUNCTION(dcngettext); +#endif +#if HAVE_BIND_TEXTDOMAIN_CODESET +ZEND_FUNCTION(bind_textdomain_codeset); +#endif + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(textdomain, arginfo_textdomain) + ZEND_FE(gettext, arginfo_gettext) + ZEND_FALIAS(_, gettext, arginfo__) + ZEND_FE(dgettext, arginfo_dgettext) + ZEND_FE(dcgettext, arginfo_dcgettext) + ZEND_FE(bindtextdomain, arginfo_bindtextdomain) +#if HAVE_NGETTEXT + ZEND_FE(ngettext, arginfo_ngettext) +#endif +#if HAVE_DNGETTEXT + ZEND_FE(dngettext, arginfo_dngettext) +#endif +#if HAVE_DCNGETTEXT + ZEND_FE(dcngettext, arginfo_dcngettext) +#endif +#if HAVE_BIND_TEXTDOMAIN_CODESET + ZEND_FE(bind_textdomain_codeset, arginfo_bind_textdomain_codeset) +#endif + ZEND_FE_END +}; diff --git a/ext/gettext/php_gettext.h b/ext/gettext/php_gettext.h index e008a61b8c..647d8bffa6 100644 --- a/ext/gettext/php_gettext.h +++ b/ext/gettext/php_gettext.h @@ -27,24 +27,6 @@ extern zend_module_entry php_gettext_module_entry; PHP_MINFO_FUNCTION(php_gettext); -PHP_NAMED_FUNCTION(zif_textdomain); -PHP_NAMED_FUNCTION(zif_gettext); -PHP_NAMED_FUNCTION(zif_dgettext); -PHP_NAMED_FUNCTION(zif_dcgettext); -PHP_NAMED_FUNCTION(zif_bindtextdomain); -#if HAVE_NGETTEXT -PHP_NAMED_FUNCTION(zif_ngettext); -#endif -#if HAVE_DNGETTEXT -PHP_NAMED_FUNCTION(zif_dngettext); -#endif -#if HAVE_DCNGETTEXT -PHP_NAMED_FUNCTION(zif_dcngettext); -#endif -#if HAVE_BIND_TEXTDOMAIN_CODESET -PHP_NAMED_FUNCTION(zif_bind_textdomain_codeset); -#endif - #else #define gettext_module_ptr NULL #endif /* HAVE_LIBINTL */ diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c index b0682c11f2..a714b0760f 100644 --- a/ext/gmp/gmp.c +++ b/ext/gmp/gmp.c @@ -38,70 +38,12 @@ ZEND_DECLARE_MODULE_GLOBALS(gmp) static ZEND_GINIT_FUNCTION(gmp); -/* {{{ gmp_functions[] - */ -static const zend_function_entry gmp_functions[] = { - ZEND_FE(gmp_init, arginfo_gmp_init) - ZEND_FE(gmp_import, arginfo_gmp_import) - ZEND_FE(gmp_export, arginfo_gmp_export) - ZEND_FE(gmp_intval, arginfo_gmp_intval) - ZEND_FE(gmp_strval, arginfo_gmp_strval) - ZEND_FE(gmp_add, arginfo_gmp_add) - ZEND_FE(gmp_sub, arginfo_gmp_sub) - ZEND_FE(gmp_mul, arginfo_gmp_mul) - ZEND_FE(gmp_div_qr, arginfo_gmp_div_qr) - ZEND_FE(gmp_div_q, arginfo_gmp_div_q) - ZEND_FE(gmp_div_r, arginfo_gmp_div_r) - ZEND_FALIAS(gmp_div, gmp_div_q, arginfo_gmp_div) - ZEND_FE(gmp_mod, arginfo_gmp_mod) - ZEND_FE(gmp_divexact, arginfo_gmp_divexact) - ZEND_FE(gmp_neg, arginfo_gmp_neg) - ZEND_FE(gmp_abs, arginfo_gmp_abs) - ZEND_FE(gmp_fact, arginfo_gmp_fact) - ZEND_FE(gmp_sqrt, arginfo_gmp_sqrt) - ZEND_FE(gmp_sqrtrem, arginfo_gmp_sqrtrem) - ZEND_FE(gmp_root, arginfo_gmp_root) - ZEND_FE(gmp_rootrem, arginfo_gmp_rootrem) - ZEND_FE(gmp_pow, arginfo_gmp_pow) - ZEND_FE(gmp_powm, arginfo_gmp_powm) - ZEND_FE(gmp_perfect_square, arginfo_gmp_perfect_square) - ZEND_FE(gmp_perfect_power, arginfo_gmp_perfect_power) - ZEND_FE(gmp_prob_prime, arginfo_gmp_prob_prime) - ZEND_FE(gmp_gcd, arginfo_gmp_gcd) - ZEND_FE(gmp_gcdext, arginfo_gmp_gcdext) - ZEND_FE(gmp_lcm, arginfo_gmp_lcm) - ZEND_FE(gmp_invert, arginfo_gmp_invert) - ZEND_FE(gmp_jacobi, arginfo_gmp_jacobi) - ZEND_FE(gmp_legendre, arginfo_gmp_legendre) - ZEND_FE(gmp_kronecker, arginfo_gmp_kronecker) - ZEND_FE(gmp_cmp, arginfo_gmp_cmp) - ZEND_FE(gmp_sign, arginfo_gmp_sign) - ZEND_FE(gmp_random_seed, arginfo_gmp_random_seed) - ZEND_FE(gmp_random_bits, arginfo_gmp_random_bits) - ZEND_FE(gmp_random_range, arginfo_gmp_random_range) - ZEND_FE(gmp_and, arginfo_gmp_and) - ZEND_FE(gmp_or, arginfo_gmp_or) - ZEND_FE(gmp_com, arginfo_gmp_com) - ZEND_FE(gmp_xor, arginfo_gmp_xor) - ZEND_FE(gmp_setbit, arginfo_gmp_setbit) - ZEND_FE(gmp_clrbit, arginfo_gmp_clrbit) - ZEND_FE(gmp_testbit, arginfo_gmp_testbit) - ZEND_FE(gmp_scan0, arginfo_gmp_scan0) - ZEND_FE(gmp_scan1, arginfo_gmp_scan1) - ZEND_FE(gmp_popcount, arginfo_gmp_popcount) - ZEND_FE(gmp_hamdist, arginfo_gmp_hamdist) - ZEND_FE(gmp_nextprime, arginfo_gmp_nextprime) - ZEND_FE(gmp_binomial, arginfo_gmp_binomial) - PHP_FE_END -}; -/* }}} */ - /* {{{ gmp_module_entry */ zend_module_entry gmp_module_entry = { STANDARD_MODULE_HEADER, "gmp", - gmp_functions, + ext_functions, ZEND_MODULE_STARTUP_N(gmp), NULL, NULL, diff --git a/ext/gmp/gmp.stub.php b/ext/gmp/gmp.stub.php index ab86ce944b..a95616aa4e 100644 --- a/ext/gmp/gmp.stub.php +++ b/ext/gmp/gmp.stub.php @@ -1,5 +1,7 @@ <?php +/** @generate-function-entries */ + /** @param int|bool|string $number */ function gmp_init($number, int $base = 0): GMP|false {} diff --git a/ext/gmp/gmp_arginfo.h b/ext/gmp/gmp_arginfo.h index 714bd046e2..91664b8710 100644 --- a/ext/gmp/gmp_arginfo.h +++ b/ext/gmp/gmp_arginfo.h @@ -181,3 +181,111 @@ ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_gmp_binomial, 0, 2, GMP, MAY ZEND_ARG_INFO(0, a) ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(gmp_init); +ZEND_FUNCTION(gmp_import); +ZEND_FUNCTION(gmp_export); +ZEND_FUNCTION(gmp_intval); +ZEND_FUNCTION(gmp_strval); +ZEND_FUNCTION(gmp_add); +ZEND_FUNCTION(gmp_sub); +ZEND_FUNCTION(gmp_mul); +ZEND_FUNCTION(gmp_div_qr); +ZEND_FUNCTION(gmp_div_q); +ZEND_FUNCTION(gmp_div_r); +ZEND_FUNCTION(gmp_mod); +ZEND_FUNCTION(gmp_divexact); +ZEND_FUNCTION(gmp_neg); +ZEND_FUNCTION(gmp_abs); +ZEND_FUNCTION(gmp_fact); +ZEND_FUNCTION(gmp_sqrt); +ZEND_FUNCTION(gmp_sqrtrem); +ZEND_FUNCTION(gmp_root); +ZEND_FUNCTION(gmp_rootrem); +ZEND_FUNCTION(gmp_pow); +ZEND_FUNCTION(gmp_powm); +ZEND_FUNCTION(gmp_perfect_square); +ZEND_FUNCTION(gmp_perfect_power); +ZEND_FUNCTION(gmp_prob_prime); +ZEND_FUNCTION(gmp_gcd); +ZEND_FUNCTION(gmp_gcdext); +ZEND_FUNCTION(gmp_lcm); +ZEND_FUNCTION(gmp_invert); +ZEND_FUNCTION(gmp_jacobi); +ZEND_FUNCTION(gmp_legendre); +ZEND_FUNCTION(gmp_kronecker); +ZEND_FUNCTION(gmp_cmp); +ZEND_FUNCTION(gmp_sign); +ZEND_FUNCTION(gmp_random_seed); +ZEND_FUNCTION(gmp_random_bits); +ZEND_FUNCTION(gmp_random_range); +ZEND_FUNCTION(gmp_and); +ZEND_FUNCTION(gmp_or); +ZEND_FUNCTION(gmp_com); +ZEND_FUNCTION(gmp_xor); +ZEND_FUNCTION(gmp_setbit); +ZEND_FUNCTION(gmp_clrbit); +ZEND_FUNCTION(gmp_testbit); +ZEND_FUNCTION(gmp_scan0); +ZEND_FUNCTION(gmp_scan1); +ZEND_FUNCTION(gmp_popcount); +ZEND_FUNCTION(gmp_hamdist); +ZEND_FUNCTION(gmp_nextprime); +ZEND_FUNCTION(gmp_binomial); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(gmp_init, arginfo_gmp_init) + ZEND_FE(gmp_import, arginfo_gmp_import) + ZEND_FE(gmp_export, arginfo_gmp_export) + ZEND_FE(gmp_intval, arginfo_gmp_intval) + ZEND_FE(gmp_strval, arginfo_gmp_strval) + ZEND_FE(gmp_add, arginfo_gmp_add) + ZEND_FE(gmp_sub, arginfo_gmp_sub) + ZEND_FE(gmp_mul, arginfo_gmp_mul) + ZEND_FE(gmp_div_qr, arginfo_gmp_div_qr) + ZEND_FE(gmp_div_q, arginfo_gmp_div_q) + ZEND_FE(gmp_div_r, arginfo_gmp_div_r) + ZEND_FALIAS(gmp_div, gmp_div_q, arginfo_gmp_div) + ZEND_FE(gmp_mod, arginfo_gmp_mod) + ZEND_FE(gmp_divexact, arginfo_gmp_divexact) + ZEND_FE(gmp_neg, arginfo_gmp_neg) + ZEND_FE(gmp_abs, arginfo_gmp_abs) + ZEND_FE(gmp_fact, arginfo_gmp_fact) + ZEND_FE(gmp_sqrt, arginfo_gmp_sqrt) + ZEND_FE(gmp_sqrtrem, arginfo_gmp_sqrtrem) + ZEND_FE(gmp_root, arginfo_gmp_root) + ZEND_FE(gmp_rootrem, arginfo_gmp_rootrem) + ZEND_FE(gmp_pow, arginfo_gmp_pow) + ZEND_FE(gmp_powm, arginfo_gmp_powm) + ZEND_FE(gmp_perfect_square, arginfo_gmp_perfect_square) + ZEND_FE(gmp_perfect_power, arginfo_gmp_perfect_power) + ZEND_FE(gmp_prob_prime, arginfo_gmp_prob_prime) + ZEND_FE(gmp_gcd, arginfo_gmp_gcd) + ZEND_FE(gmp_gcdext, arginfo_gmp_gcdext) + ZEND_FE(gmp_lcm, arginfo_gmp_lcm) + ZEND_FE(gmp_invert, arginfo_gmp_invert) + ZEND_FE(gmp_jacobi, arginfo_gmp_jacobi) + ZEND_FE(gmp_legendre, arginfo_gmp_legendre) + ZEND_FE(gmp_kronecker, arginfo_gmp_kronecker) + ZEND_FE(gmp_cmp, arginfo_gmp_cmp) + ZEND_FE(gmp_sign, arginfo_gmp_sign) + ZEND_FE(gmp_random_seed, arginfo_gmp_random_seed) + ZEND_FE(gmp_random_bits, arginfo_gmp_random_bits) + ZEND_FE(gmp_random_range, arginfo_gmp_random_range) + ZEND_FE(gmp_and, arginfo_gmp_and) + ZEND_FE(gmp_or, arginfo_gmp_or) + ZEND_FE(gmp_com, arginfo_gmp_com) + ZEND_FE(gmp_xor, arginfo_gmp_xor) + ZEND_FE(gmp_setbit, arginfo_gmp_setbit) + ZEND_FE(gmp_clrbit, arginfo_gmp_clrbit) + ZEND_FE(gmp_testbit, arginfo_gmp_testbit) + ZEND_FE(gmp_scan0, arginfo_gmp_scan0) + ZEND_FE(gmp_scan1, arginfo_gmp_scan1) + ZEND_FE(gmp_popcount, arginfo_gmp_popcount) + ZEND_FE(gmp_hamdist, arginfo_gmp_hamdist) + ZEND_FE(gmp_nextprime, arginfo_gmp_nextprime) + ZEND_FE(gmp_binomial, arginfo_gmp_binomial) + ZEND_FE_END +}; diff --git a/ext/gmp/php_gmp.h b/ext/gmp/php_gmp.h index 5f2456e989..9db9d696de 100644 --- a/ext/gmp/php_gmp.h +++ b/ext/gmp/php_gmp.h @@ -29,58 +29,6 @@ ZEND_MODULE_STARTUP_D(gmp); ZEND_MODULE_DEACTIVATE_D(gmp); ZEND_MODULE_INFO_D(gmp); -ZEND_FUNCTION(gmp_init); -ZEND_FUNCTION(gmp_import); -ZEND_FUNCTION(gmp_export); -ZEND_FUNCTION(gmp_intval); -ZEND_FUNCTION(gmp_strval); -ZEND_FUNCTION(gmp_add); -ZEND_FUNCTION(gmp_sub); -ZEND_FUNCTION(gmp_mul); -ZEND_FUNCTION(gmp_div_qr); -ZEND_FUNCTION(gmp_div_q); -ZEND_FUNCTION(gmp_div_r); -ZEND_FUNCTION(gmp_mod); -ZEND_FUNCTION(gmp_divexact); -ZEND_FUNCTION(gmp_neg); -ZEND_FUNCTION(gmp_abs); -ZEND_FUNCTION(gmp_fact); -ZEND_FUNCTION(gmp_sqrt); -ZEND_FUNCTION(gmp_sqrtrem); -ZEND_FUNCTION(gmp_root); -ZEND_FUNCTION(gmp_rootrem); -ZEND_FUNCTION(gmp_pow); -ZEND_FUNCTION(gmp_powm); -ZEND_FUNCTION(gmp_perfect_square); -ZEND_FUNCTION(gmp_perfect_power); -ZEND_FUNCTION(gmp_prob_prime); -ZEND_FUNCTION(gmp_gcd); -ZEND_FUNCTION(gmp_gcdext); -ZEND_FUNCTION(gmp_invert); -ZEND_FUNCTION(gmp_jacobi); -ZEND_FUNCTION(gmp_legendre); -ZEND_FUNCTION(gmp_kronecker); -ZEND_FUNCTION(gmp_cmp); -ZEND_FUNCTION(gmp_sign); -ZEND_FUNCTION(gmp_and); -ZEND_FUNCTION(gmp_or); -ZEND_FUNCTION(gmp_com); -ZEND_FUNCTION(gmp_xor); -ZEND_FUNCTION(gmp_random); -ZEND_FUNCTION(gmp_random_seed); -ZEND_FUNCTION(gmp_random_bits); -ZEND_FUNCTION(gmp_random_range); -ZEND_FUNCTION(gmp_setbit); -ZEND_FUNCTION(gmp_clrbit); -ZEND_FUNCTION(gmp_scan0); -ZEND_FUNCTION(gmp_scan1); -ZEND_FUNCTION(gmp_testbit); -ZEND_FUNCTION(gmp_popcount); -ZEND_FUNCTION(gmp_hamdist); -ZEND_FUNCTION(gmp_nextprime); -ZEND_FUNCTION(gmp_binomial); -ZEND_FUNCTION(gmp_lcm); - ZEND_BEGIN_MODULE_GLOBALS(gmp) zend_bool rand_initialized; gmp_randstate_t rand_state; diff --git a/ext/hash/hash.c b/ext/hash/hash.c index 7f58060158..27912bbd10 100644 --- a/ext/hash/hash.c +++ b/ext/hash/hash.c @@ -1302,46 +1302,12 @@ PHP_MINFO_FUNCTION(hash) } /* }}} */ -/* {{{ hash_functions[] - */ -static const zend_function_entry hash_functions[] = { - PHP_FE(hash, arginfo_hash) - PHP_FE(hash_file, arginfo_hash_file) - - PHP_FE(hash_hmac, arginfo_hash_hmac) - PHP_FE(hash_hmac_file, arginfo_hash_hmac_file) - - PHP_FE(hash_init, arginfo_hash_init) - PHP_FE(hash_update, arginfo_hash_update) - PHP_FE(hash_update_stream, arginfo_hash_update_stream) - PHP_FE(hash_update_file, arginfo_hash_update_file) - PHP_FE(hash_final, arginfo_hash_final) - PHP_FE(hash_copy, arginfo_hash_copy) - - PHP_FE(hash_algos, arginfo_hash_algos) - PHP_FE(hash_hmac_algos, arginfo_hash_hmac_algos) - PHP_FE(hash_pbkdf2, arginfo_hash_pbkdf2) - PHP_FE(hash_equals, arginfo_hash_equals) - PHP_FE(hash_hkdf, arginfo_hash_hkdf) - -#ifdef PHP_MHASH_BC - PHP_FE(mhash_keygen_s2k, arginfo_mhash_keygen_s2k) - PHP_FE(mhash_get_block_size, arginfo_mhash_get_block_size) - PHP_FE(mhash_get_hash_name, arginfo_mhash_get_hash_name) - PHP_FE(mhash_count, arginfo_mhash_count) - PHP_FE(mhash, arginfo_mhash) -#endif - - PHP_FE_END -}; -/* }}} */ - /* {{{ hash_module_entry */ zend_module_entry hash_module_entry = { STANDARD_MODULE_HEADER, PHP_HASH_EXTNAME, - hash_functions, + ext_functions, PHP_MINIT(hash), PHP_MSHUTDOWN(hash), NULL, /* RINIT */ diff --git a/ext/hash/hash.stub.php b/ext/hash/hash.stub.php index f17084db1d..e83f38b22c 100644 --- a/ext/hash/hash.stub.php +++ b/ext/hash/hash.stub.php @@ -1,5 +1,7 @@ <?php +/** @generate-function-entries */ + function hash(string $algo, string $data, bool $raw_output = false): string|false {} function hash_file(string $algo, string $filename, bool $raw_output = false): string|false {} diff --git a/ext/hash/hash_arginfo.h b/ext/hash/hash_arginfo.h index 27083f35bd..40529aeff8 100644 --- a/ext/hash/hash_arginfo.h +++ b/ext/hash/hash_arginfo.h @@ -116,3 +116,70 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_HashContext___construct, 0, 0, 0) ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(hash); +ZEND_FUNCTION(hash_file); +ZEND_FUNCTION(hash_hmac); +ZEND_FUNCTION(hash_hmac_file); +ZEND_FUNCTION(hash_init); +ZEND_FUNCTION(hash_update); +ZEND_FUNCTION(hash_update_stream); +ZEND_FUNCTION(hash_update_file); +ZEND_FUNCTION(hash_final); +ZEND_FUNCTION(hash_copy); +ZEND_FUNCTION(hash_algos); +ZEND_FUNCTION(hash_hmac_algos); +ZEND_FUNCTION(hash_pbkdf2); +ZEND_FUNCTION(hash_equals); +ZEND_FUNCTION(hash_hkdf); +#if defined(PHP_MHASH_BC) +ZEND_FUNCTION(mhash_get_block_size); +#endif +#if defined(PHP_MHASH_BC) +ZEND_FUNCTION(mhash_get_hash_name); +#endif +#if defined(PHP_MHASH_BC) +ZEND_FUNCTION(mhash_keygen_s2k); +#endif +#if defined(PHP_MHASH_BC) +ZEND_FUNCTION(mhash_count); +#endif +#if defined(PHP_MHASH_BC) +ZEND_FUNCTION(mhash); +#endif + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(hash, arginfo_hash) + ZEND_FE(hash_file, arginfo_hash_file) + ZEND_FE(hash_hmac, arginfo_hash_hmac) + ZEND_FE(hash_hmac_file, arginfo_hash_hmac_file) + ZEND_FE(hash_init, arginfo_hash_init) + ZEND_FE(hash_update, arginfo_hash_update) + ZEND_FE(hash_update_stream, arginfo_hash_update_stream) + ZEND_FE(hash_update_file, arginfo_hash_update_file) + ZEND_FE(hash_final, arginfo_hash_final) + ZEND_FE(hash_copy, arginfo_hash_copy) + ZEND_FE(hash_algos, arginfo_hash_algos) + ZEND_FE(hash_hmac_algos, arginfo_hash_hmac_algos) + ZEND_FE(hash_pbkdf2, arginfo_hash_pbkdf2) + ZEND_FE(hash_equals, arginfo_hash_equals) + ZEND_FE(hash_hkdf, arginfo_hash_hkdf) +#if defined(PHP_MHASH_BC) + ZEND_FE(mhash_get_block_size, arginfo_mhash_get_block_size) +#endif +#if defined(PHP_MHASH_BC) + ZEND_FE(mhash_get_hash_name, arginfo_mhash_get_hash_name) +#endif +#if defined(PHP_MHASH_BC) + ZEND_FE(mhash_keygen_s2k, arginfo_mhash_keygen_s2k) +#endif +#if defined(PHP_MHASH_BC) + ZEND_FE(mhash_count, arginfo_mhash_count) +#endif +#if defined(PHP_MHASH_BC) + ZEND_FE(mhash, arginfo_mhash) +#endif + ZEND_FE_END +}; diff --git a/ext/hash/php_hash.h b/ext/hash/php_hash.h index f7cdaac305..79bbc066d6 100644 --- a/ext/hash/php_hash.h +++ b/ext/hash/php_hash.h @@ -127,20 +127,6 @@ extern zend_module_entry hash_module_entry; # define PHP_HASH_API #endif -PHP_FUNCTION(hash); -PHP_FUNCTION(hash_file); -PHP_FUNCTION(hash_hkdf); -PHP_FUNCTION(hash_hmac); -PHP_FUNCTION(hash_hmac_file); -PHP_FUNCTION(hash_init); -PHP_FUNCTION(hash_update); -PHP_FUNCTION(hash_update_stream); -PHP_FUNCTION(hash_update_file); -PHP_FUNCTION(hash_final); -PHP_FUNCTION(hash_algos); -PHP_FUNCTION(hash_pbkdf2); -PHP_FUNCTION(hash_equals); - extern PHP_HASH_API zend_class_entry *php_hashcontext_ce; PHP_HASH_API const php_hash_ops *php_hash_fetch_ops(zend_string *algo); PHP_HASH_API void php_hash_register_algo(const char *algo, const php_hash_ops *ops); diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c index 80af1dc8b9..7cda884a65 100644 --- a/ext/iconv/iconv.c +++ b/ext/iconv/iconv.c @@ -56,23 +56,6 @@ #define _php_iconv_memequal(a, b, c) \ (memcmp(a, b, c) == 0) -/* {{{ iconv_functions[] - */ -static const zend_function_entry iconv_functions[] = { - PHP_RAW_NAMED_FE(iconv,php_if_iconv, arginfo_iconv) - PHP_FE(iconv_get_encoding, arginfo_iconv_get_encoding) - PHP_FE(iconv_set_encoding, arginfo_iconv_set_encoding) - PHP_FE(iconv_strlen, arginfo_iconv_strlen) - PHP_FE(iconv_substr, arginfo_iconv_substr) - PHP_FE(iconv_strpos, arginfo_iconv_strpos) - PHP_FE(iconv_strrpos, arginfo_iconv_strrpos) - PHP_FE(iconv_mime_encode, arginfo_iconv_mime_encode) - PHP_FE(iconv_mime_decode, arginfo_iconv_mime_decode) - PHP_FE(iconv_mime_decode_headers, arginfo_iconv_mime_decode_headers) - PHP_FE_END -}; -/* }}} */ - ZEND_DECLARE_MODULE_GLOBALS(iconv) static PHP_GINIT_FUNCTION(iconv); @@ -81,7 +64,7 @@ static PHP_GINIT_FUNCTION(iconv); zend_module_entry iconv_module_entry = { STANDARD_MODULE_HEADER, "iconv", - iconv_functions, + ext_functions, PHP_MINIT(miconv), PHP_MSHUTDOWN(miconv), NULL, @@ -2249,7 +2232,7 @@ PHP_FUNCTION(iconv_mime_decode_headers) /* {{{ proto string iconv(string in_charset, string out_charset, string str) Returns str converted to the out_charset character set */ -PHP_NAMED_FUNCTION(php_if_iconv) +PHP_FUNCTION(iconv) { char *in_charset, *out_charset; zend_string *in_buffer; diff --git a/ext/iconv/iconv.stub.php b/ext/iconv/iconv.stub.php index cd9bab3ad0..ae2a0fa0cb 100644 --- a/ext/iconv/iconv.stub.php +++ b/ext/iconv/iconv.stub.php @@ -1,5 +1,7 @@ <?php +/** @generate-function-entries */ + function iconv_strlen(string $str, string $charset = UNKNOWN): int|false {} function iconv_substr(string $str, int $offset, ?int $length = null, string $charset = UNKNOWN): string|false {} diff --git a/ext/iconv/iconv_arginfo.h b/ext/iconv/iconv_arginfo.h index 51f11cf794..3a05ba633f 100644 --- a/ext/iconv/iconv_arginfo.h +++ b/ext/iconv/iconv_arginfo.h @@ -57,3 +57,30 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_iconv_get_encoding, 0, 0, MAY_BE_ARRAY|MAY_BE_STRING|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(0, type, IS_STRING, 0) ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(iconv_strlen); +ZEND_FUNCTION(iconv_substr); +ZEND_FUNCTION(iconv_strpos); +ZEND_FUNCTION(iconv_strrpos); +ZEND_FUNCTION(iconv_mime_encode); +ZEND_FUNCTION(iconv_mime_decode); +ZEND_FUNCTION(iconv_mime_decode_headers); +ZEND_FUNCTION(iconv); +ZEND_FUNCTION(iconv_set_encoding); +ZEND_FUNCTION(iconv_get_encoding); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(iconv_strlen, arginfo_iconv_strlen) + ZEND_FE(iconv_substr, arginfo_iconv_substr) + ZEND_FE(iconv_strpos, arginfo_iconv_strpos) + ZEND_FE(iconv_strrpos, arginfo_iconv_strrpos) + ZEND_FE(iconv_mime_encode, arginfo_iconv_mime_encode) + ZEND_FE(iconv_mime_decode, arginfo_iconv_mime_decode) + ZEND_FE(iconv_mime_decode_headers, arginfo_iconv_mime_decode_headers) + ZEND_FE(iconv, arginfo_iconv) + ZEND_FE(iconv_set_encoding, arginfo_iconv_set_encoding) + ZEND_FE(iconv_get_encoding, arginfo_iconv_get_encoding) + ZEND_FE_END +}; diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index f473e24caa..d2c418e95a 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -96,96 +96,6 @@ void *fs_get(size_t size); ZEND_DECLARE_MODULE_GLOBALS(imap) static PHP_GINIT_FUNCTION(imap); - -/* {{{ imap_functions[] - */ -static const zend_function_entry imap_functions[] = { - PHP_FE(imap_open, arginfo_imap_open) - PHP_FE(imap_reopen, arginfo_imap_reopen) - PHP_FE(imap_close, arginfo_imap_close) - PHP_FE(imap_num_msg, arginfo_imap_num_msg) - PHP_FE(imap_num_recent, arginfo_imap_num_recent) - PHP_FE(imap_headers, arginfo_imap_headers) - PHP_FE(imap_headerinfo, arginfo_imap_headerinfo) - PHP_FE(imap_rfc822_parse_headers, arginfo_imap_rfc822_parse_headers) - PHP_FE(imap_rfc822_write_address, arginfo_imap_rfc822_write_address) - PHP_FE(imap_rfc822_parse_adrlist, arginfo_imap_rfc822_parse_adrlist) - PHP_FE(imap_body, arginfo_imap_body) - PHP_FE(imap_bodystruct, arginfo_imap_bodystruct) - PHP_FE(imap_fetchbody, arginfo_imap_fetchbody) - PHP_FE(imap_fetchmime, arginfo_imap_fetchmime) - PHP_FE(imap_savebody, arginfo_imap_savebody) - PHP_FE(imap_fetchheader, arginfo_imap_fetchheader) - PHP_FE(imap_fetchstructure, arginfo_imap_fetchstructure) - PHP_FE(imap_gc, arginfo_imap_gc) - PHP_FE(imap_expunge, arginfo_imap_expunge) - PHP_FE(imap_delete, arginfo_imap_delete) - PHP_FE(imap_undelete, arginfo_imap_undelete) - PHP_FE(imap_check, arginfo_imap_check) - PHP_FE(imap_listscan, arginfo_imap_listscan) - PHP_FE(imap_mail_copy, arginfo_imap_mail_copy) - PHP_FE(imap_mail_move, arginfo_imap_mail_move) - PHP_FE(imap_mail_compose, arginfo_imap_mail_compose) - PHP_FE(imap_createmailbox, arginfo_imap_createmailbox) - PHP_FE(imap_renamemailbox, arginfo_imap_renamemailbox) - PHP_FE(imap_deletemailbox, arginfo_imap_deletemailbox) - PHP_FE(imap_subscribe, arginfo_imap_subscribe) - PHP_FE(imap_unsubscribe, arginfo_imap_unsubscribe) - PHP_FE(imap_append, arginfo_imap_append) - PHP_FE(imap_ping, arginfo_imap_ping) - PHP_FE(imap_base64, arginfo_imap_base64) - PHP_FE(imap_qprint, arginfo_imap_qprint) - PHP_FE(imap_8bit, arginfo_imap_8bit) - PHP_FE(imap_binary, arginfo_imap_binary) - PHP_FE(imap_utf8, arginfo_imap_utf8) - PHP_FE(imap_status, arginfo_imap_status) - PHP_FE(imap_mailboxmsginfo, arginfo_imap_mailboxmsginfo) - PHP_FE(imap_setflag_full, arginfo_imap_setflag_full) - PHP_FE(imap_clearflag_full, arginfo_imap_clearflag_full) - PHP_FE(imap_sort, arginfo_imap_sort) - PHP_FE(imap_uid, arginfo_imap_uid) - PHP_FE(imap_msgno, arginfo_imap_msgno) - PHP_FE(imap_list, arginfo_imap_list) - PHP_FE(imap_lsub, arginfo_imap_lsub) - PHP_FE(imap_fetch_overview, arginfo_imap_fetch_overview) - PHP_FE(imap_alerts, arginfo_imap_alerts) - PHP_FE(imap_errors, arginfo_imap_errors) - PHP_FE(imap_last_error, arginfo_imap_last_error) - PHP_FE(imap_search, arginfo_imap_search) - PHP_FE(imap_utf7_decode, arginfo_imap_utf7_decode) - PHP_FE(imap_utf7_encode, arginfo_imap_utf7_encode) -#ifdef HAVE_IMAP_MUTF7 - PHP_FE(imap_utf8_to_mutf7, arginfo_imap_utf8_to_mutf7) - PHP_FE(imap_mutf7_to_utf8, arginfo_imap_mutf7_to_utf8) -#endif - PHP_FE(imap_mime_header_decode, arginfo_imap_mime_header_decode) - PHP_FE(imap_thread, arginfo_imap_thread) - PHP_FE(imap_timeout, arginfo_imap_timeout) - -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) - PHP_FE(imap_get_quota, arginfo_imap_get_quota) - PHP_FE(imap_get_quotaroot, arginfo_imap_get_quotaroot) - PHP_FE(imap_set_quota, arginfo_imap_set_quota) - PHP_FE(imap_setacl, arginfo_imap_setacl) - PHP_FE(imap_getacl, arginfo_imap_getacl) -#endif - - PHP_FE(imap_mail, arginfo_imap_mail) - PHP_FE(imap_getsubscribed, arginfo_imap_getsubscribed) - PHP_FE(imap_getmailboxes, arginfo_imap_getmailboxes) - - PHP_FALIAS(imap_header, imap_headerinfo, arginfo_imap_header) - PHP_FALIAS(imap_listmailbox, imap_list, arginfo_imap_listmailbox) - PHP_FALIAS(imap_scanmailbox, imap_listscan, arginfo_imap_scanmailbox) - PHP_FALIAS(imap_listsubscribed, imap_lsub, arginfo_imap_listsubscribed) - PHP_FALIAS(imap_fetchtext, imap_body, arginfo_imap_fetchtext) - PHP_FALIAS(imap_scan, imap_listscan, arginfo_imap_scan) - PHP_FALIAS(imap_create, imap_createmailbox, arginfo_imap_create) - PHP_FALIAS(imap_rename, imap_renamemailbox, arginfo_imap_rename) - PHP_FE_END -}; -/* }}} */ - /* {{{ imap dependencies */ static const zend_module_dep imap_deps[] = { ZEND_MOD_REQUIRED("standard") @@ -208,7 +118,7 @@ zend_module_entry imap_module_entry = { STANDARD_MODULE_HEADER_EX, NULL, imap_deps, "imap", - imap_functions, + ext_functions, PHP_MINIT(imap), NULL, PHP_RINIT(imap), diff --git a/ext/imap/php_imap.h b/ext/imap/php_imap.h index 2019998942..ae5dfe7b94 100644 --- a/ext/imap/php_imap.h +++ b/ext/imap/php_imap.h @@ -116,86 +116,6 @@ PHP_RINIT_FUNCTION(imap); PHP_RSHUTDOWN_FUNCTION(imap); PHP_MINFO_FUNCTION(imap); -PHP_FUNCTION(imap_open); -PHP_FUNCTION(imap_popen); -PHP_FUNCTION(imap_reopen); -PHP_FUNCTION(imap_num_msg); -PHP_FUNCTION(imap_num_recent); -PHP_FUNCTION(imap_headers); -PHP_FUNCTION(imap_headerinfo); -PHP_FUNCTION(imap_rfc822_parse_headers); -PHP_FUNCTION(imap_body); -PHP_FUNCTION(imap_fetchstructure); -PHP_FUNCTION(imap_fetchbody); -PHP_FUNCTION(imap_fetchmime); -PHP_FUNCTION(imap_savebody); -PHP_FUNCTION(imap_gc); -PHP_FUNCTION(imap_expunge); -PHP_FUNCTION(imap_delete); -PHP_FUNCTION(imap_undelete); -PHP_FUNCTION(imap_check); -PHP_FUNCTION(imap_close); -PHP_FUNCTION(imap_mail_copy); -PHP_FUNCTION(imap_mail_move); -PHP_FUNCTION(imap_createmailbox); -PHP_FUNCTION(imap_renamemailbox); -PHP_FUNCTION(imap_deletemailbox); -PHP_FUNCTION(imap_listmailbox); -PHP_FUNCTION(imap_scanmailbox); -PHP_FUNCTION(imap_subscribe); -PHP_FUNCTION(imap_unsubscribe); -PHP_FUNCTION(imap_append); -PHP_FUNCTION(imap_ping); -PHP_FUNCTION(imap_base64); -PHP_FUNCTION(imap_qprint); -PHP_FUNCTION(imap_8bit); -PHP_FUNCTION(imap_binary); -PHP_FUNCTION(imap_mailboxmsginfo); -PHP_FUNCTION(imap_rfc822_write_address); -PHP_FUNCTION(imap_rfc822_parse_adrlist); -PHP_FUNCTION(imap_setflag_full); -PHP_FUNCTION(imap_clearflag_full); -PHP_FUNCTION(imap_sort); -PHP_FUNCTION(imap_fetchheader); -PHP_FUNCTION(imap_fetchtext); -PHP_FUNCTION(imap_uid); -PHP_FUNCTION(imap_msgno); -PHP_FUNCTION(imap_list); -PHP_FUNCTION(imap_getmailboxes); -PHP_FUNCTION(imap_listscan); -PHP_FUNCTION(imap_lsub); -PHP_FUNCTION(imap_getsubscribed); -PHP_FUNCTION(imap_create); -PHP_FUNCTION(imap_rename); -PHP_FUNCTION(imap_status); -PHP_FUNCTION(imap_bodystruct); -PHP_FUNCTION(imap_fetch_overview); -PHP_FUNCTION(imap_mail_compose); -PHP_FUNCTION(imap_alerts); -PHP_FUNCTION(imap_errors); -PHP_FUNCTION(imap_last_error); -PHP_FUNCTION(imap_mail); -PHP_FUNCTION(imap_search); -PHP_FUNCTION(imap_utf8); -PHP_FUNCTION(imap_utf7_decode); -PHP_FUNCTION(imap_utf7_encode); -#ifdef HAVE_IMAP_MUTF7 -PHP_FUNCTION(imap_utf8_to_mutf7); -PHP_FUNCTION(imap_mutf7_to_utf8); -#endif -PHP_FUNCTION(imap_mime_header_decode); -PHP_FUNCTION(imap_thread); -PHP_FUNCTION(imap_timeout); - -#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) -PHP_FUNCTION(imap_get_quota); -PHP_FUNCTION(imap_get_quotaroot); -PHP_FUNCTION(imap_set_quota); -PHP_FUNCTION(imap_setacl); -PHP_FUNCTION(imap_getacl); -#endif - - ZEND_BEGIN_MODULE_GLOBALS(imap) char *imap_user; char *imap_password; diff --git a/ext/imap/php_imap.stub.php b/ext/imap/php_imap.stub.php index 1366a0fc06..2ed20ba4e3 100644 --- a/ext/imap/php_imap.stub.php +++ b/ext/imap/php_imap.stub.php @@ -1,5 +1,7 @@ <?php +/** @generate-function-entries */ + /** * @return resource|false */ diff --git a/ext/imap/php_imap_arginfo.h b/ext/imap/php_imap_arginfo.h index df274969e7..e963504dbf 100644 --- a/ext/imap/php_imap_arginfo.h +++ b/ext/imap/php_imap_arginfo.h @@ -346,3 +346,180 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_imap_mail, 0, 3, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, bcc, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, rpath, IS_STRING, 0) ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(imap_open); +ZEND_FUNCTION(imap_reopen); +ZEND_FUNCTION(imap_close); +ZEND_FUNCTION(imap_num_msg); +ZEND_FUNCTION(imap_num_recent); +ZEND_FUNCTION(imap_headers); +ZEND_FUNCTION(imap_headerinfo); +ZEND_FUNCTION(imap_rfc822_parse_headers); +ZEND_FUNCTION(imap_rfc822_write_address); +ZEND_FUNCTION(imap_rfc822_parse_adrlist); +ZEND_FUNCTION(imap_body); +ZEND_FUNCTION(imap_bodystruct); +ZEND_FUNCTION(imap_fetchbody); +ZEND_FUNCTION(imap_fetchmime); +ZEND_FUNCTION(imap_savebody); +ZEND_FUNCTION(imap_fetchheader); +ZEND_FUNCTION(imap_fetchstructure); +ZEND_FUNCTION(imap_gc); +ZEND_FUNCTION(imap_expunge); +ZEND_FUNCTION(imap_delete); +ZEND_FUNCTION(imap_undelete); +ZEND_FUNCTION(imap_check); +ZEND_FUNCTION(imap_listscan); +ZEND_FUNCTION(imap_mail_copy); +ZEND_FUNCTION(imap_mail_move); +ZEND_FUNCTION(imap_mail_compose); +ZEND_FUNCTION(imap_createmailbox); +ZEND_FUNCTION(imap_renamemailbox); +ZEND_FUNCTION(imap_deletemailbox); +ZEND_FUNCTION(imap_subscribe); +ZEND_FUNCTION(imap_unsubscribe); +ZEND_FUNCTION(imap_append); +ZEND_FUNCTION(imap_ping); +ZEND_FUNCTION(imap_base64); +ZEND_FUNCTION(imap_qprint); +ZEND_FUNCTION(imap_8bit); +ZEND_FUNCTION(imap_binary); +ZEND_FUNCTION(imap_utf8); +ZEND_FUNCTION(imap_status); +ZEND_FUNCTION(imap_mailboxmsginfo); +ZEND_FUNCTION(imap_setflag_full); +ZEND_FUNCTION(imap_clearflag_full); +ZEND_FUNCTION(imap_sort); +ZEND_FUNCTION(imap_uid); +ZEND_FUNCTION(imap_msgno); +ZEND_FUNCTION(imap_list); +ZEND_FUNCTION(imap_lsub); +ZEND_FUNCTION(imap_getsubscribed); +ZEND_FUNCTION(imap_getmailboxes); +ZEND_FUNCTION(imap_fetch_overview); +ZEND_FUNCTION(imap_alerts); +ZEND_FUNCTION(imap_errors); +ZEND_FUNCTION(imap_last_error); +ZEND_FUNCTION(imap_search); +ZEND_FUNCTION(imap_utf7_decode); +ZEND_FUNCTION(imap_utf7_encode); +#if defined(HAVE_IMAP_MUTF7) +ZEND_FUNCTION(imap_utf8_to_mutf7); +#endif +#if defined(HAVE_IMAP_MUTF7) +ZEND_FUNCTION(imap_mutf7_to_utf8); +#endif +ZEND_FUNCTION(imap_mime_header_decode); +ZEND_FUNCTION(imap_thread); +ZEND_FUNCTION(imap_timeout); +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_FUNCTION(imap_get_quota); +#endif +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_FUNCTION(imap_get_quotaroot); +#endif +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_FUNCTION(imap_set_quota); +#endif +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_FUNCTION(imap_setacl); +#endif +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) +ZEND_FUNCTION(imap_getacl); +#endif +ZEND_FUNCTION(imap_mail); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(imap_open, arginfo_imap_open) + ZEND_FE(imap_reopen, arginfo_imap_reopen) + ZEND_FE(imap_close, arginfo_imap_close) + ZEND_FE(imap_num_msg, arginfo_imap_num_msg) + ZEND_FE(imap_num_recent, arginfo_imap_num_recent) + ZEND_FE(imap_headers, arginfo_imap_headers) + ZEND_FE(imap_headerinfo, arginfo_imap_headerinfo) + ZEND_FALIAS(imap_header, imap_headerinfo, arginfo_imap_header) + ZEND_FE(imap_rfc822_parse_headers, arginfo_imap_rfc822_parse_headers) + ZEND_FE(imap_rfc822_write_address, arginfo_imap_rfc822_write_address) + ZEND_FE(imap_rfc822_parse_adrlist, arginfo_imap_rfc822_parse_adrlist) + ZEND_FE(imap_body, arginfo_imap_body) + ZEND_FALIAS(imap_fetchtext, imap_body, arginfo_imap_fetchtext) + ZEND_FE(imap_bodystruct, arginfo_imap_bodystruct) + ZEND_FE(imap_fetchbody, arginfo_imap_fetchbody) + ZEND_FE(imap_fetchmime, arginfo_imap_fetchmime) + ZEND_FE(imap_savebody, arginfo_imap_savebody) + ZEND_FE(imap_fetchheader, arginfo_imap_fetchheader) + ZEND_FE(imap_fetchstructure, arginfo_imap_fetchstructure) + ZEND_FE(imap_gc, arginfo_imap_gc) + ZEND_FE(imap_expunge, arginfo_imap_expunge) + ZEND_FE(imap_delete, arginfo_imap_delete) + ZEND_FE(imap_undelete, arginfo_imap_undelete) + ZEND_FE(imap_check, arginfo_imap_check) + ZEND_FE(imap_listscan, arginfo_imap_listscan) + ZEND_FALIAS(imap_scan, imap_listscan, arginfo_imap_scan) + ZEND_FALIAS(imap_scanmailbox, imap_listscan, arginfo_imap_scanmailbox) + ZEND_FE(imap_mail_copy, arginfo_imap_mail_copy) + ZEND_FE(imap_mail_move, arginfo_imap_mail_move) + ZEND_FE(imap_mail_compose, arginfo_imap_mail_compose) + ZEND_FE(imap_createmailbox, arginfo_imap_createmailbox) + ZEND_FALIAS(imap_create, imap_createmailbox, arginfo_imap_create) + ZEND_FE(imap_renamemailbox, arginfo_imap_renamemailbox) + ZEND_FALIAS(imap_rename, imap_renamemailbox, arginfo_imap_rename) + ZEND_FE(imap_deletemailbox, arginfo_imap_deletemailbox) + ZEND_FE(imap_subscribe, arginfo_imap_subscribe) + ZEND_FE(imap_unsubscribe, arginfo_imap_unsubscribe) + ZEND_FE(imap_append, arginfo_imap_append) + ZEND_FE(imap_ping, arginfo_imap_ping) + ZEND_FE(imap_base64, arginfo_imap_base64) + ZEND_FE(imap_qprint, arginfo_imap_qprint) + ZEND_FE(imap_8bit, arginfo_imap_8bit) + ZEND_FE(imap_binary, arginfo_imap_binary) + ZEND_FE(imap_utf8, arginfo_imap_utf8) + ZEND_FE(imap_status, arginfo_imap_status) + ZEND_FE(imap_mailboxmsginfo, arginfo_imap_mailboxmsginfo) + ZEND_FE(imap_setflag_full, arginfo_imap_setflag_full) + ZEND_FE(imap_clearflag_full, arginfo_imap_clearflag_full) + ZEND_FE(imap_sort, arginfo_imap_sort) + ZEND_FE(imap_uid, arginfo_imap_uid) + ZEND_FE(imap_msgno, arginfo_imap_msgno) + ZEND_FE(imap_list, arginfo_imap_list) + ZEND_FALIAS(imap_listmailbox, imap_list, arginfo_imap_listmailbox) + ZEND_FE(imap_lsub, arginfo_imap_lsub) + ZEND_FALIAS(imap_listsubscribed, imap_lsub, arginfo_imap_listsubscribed) + ZEND_FE(imap_getsubscribed, arginfo_imap_getsubscribed) + ZEND_FE(imap_getmailboxes, arginfo_imap_getmailboxes) + ZEND_FE(imap_fetch_overview, arginfo_imap_fetch_overview) + ZEND_FE(imap_alerts, arginfo_imap_alerts) + ZEND_FE(imap_errors, arginfo_imap_errors) + ZEND_FE(imap_last_error, arginfo_imap_last_error) + ZEND_FE(imap_search, arginfo_imap_search) + ZEND_FE(imap_utf7_decode, arginfo_imap_utf7_decode) + ZEND_FE(imap_utf7_encode, arginfo_imap_utf7_encode) +#if defined(HAVE_IMAP_MUTF7) + ZEND_FE(imap_utf8_to_mutf7, arginfo_imap_utf8_to_mutf7) +#endif +#if defined(HAVE_IMAP_MUTF7) + ZEND_FE(imap_mutf7_to_utf8, arginfo_imap_mutf7_to_utf8) +#endif + ZEND_FE(imap_mime_header_decode, arginfo_imap_mime_header_decode) + ZEND_FE(imap_thread, arginfo_imap_thread) + ZEND_FE(imap_timeout, arginfo_imap_timeout) +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) + ZEND_FE(imap_get_quota, arginfo_imap_get_quota) +#endif +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) + ZEND_FE(imap_get_quotaroot, arginfo_imap_get_quotaroot) +#endif +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) + ZEND_FE(imap_set_quota, arginfo_imap_set_quota) +#endif +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) + ZEND_FE(imap_setacl, arginfo_imap_setacl) +#endif +#if defined(HAVE_IMAP2000) || defined(HAVE_IMAP2001) + ZEND_FE(imap_getacl, arginfo_imap_getacl) +#endif + ZEND_FE(imap_mail, arginfo_imap_mail) + ZEND_FE_END +}; diff --git a/ext/json/json.c b/ext/json/json.c index 10ec93e220..b78de3ea16 100644 --- a/ext/json/json.c +++ b/ext/json/json.c @@ -31,26 +31,12 @@ #include <zend_exceptions.h> static PHP_MINFO_FUNCTION(json); -static PHP_FUNCTION(json_encode); -static PHP_FUNCTION(json_decode); -static PHP_FUNCTION(json_last_error); -static PHP_FUNCTION(json_last_error_msg); PHP_JSON_API zend_class_entry *php_json_serializable_ce; PHP_JSON_API zend_class_entry *php_json_exception_ce; PHP_JSON_API ZEND_DECLARE_MODULE_GLOBALS(json) -/* {{{ json_functions[] */ -static const zend_function_entry json_functions[] = { - PHP_FE(json_encode, arginfo_json_encode) - PHP_FE(json_decode, arginfo_json_decode) - PHP_FE(json_last_error, arginfo_json_last_error) - PHP_FE(json_last_error_msg, arginfo_json_last_error_msg) - PHP_FE_END -}; -/* }}} */ - /* {{{ JsonSerializable methods */ static const zend_function_entry json_serializable_interface[] = { PHP_ABSTRACT_ME(JsonSerializable, jsonSerialize, arginfo_class_JsonSerializable_jsonSerialize) @@ -132,7 +118,7 @@ static PHP_GINIT_FUNCTION(json) zend_module_entry json_module_entry = { STANDARD_MODULE_HEADER, "json", - json_functions, + ext_functions, PHP_MINIT(json), NULL, NULL, @@ -239,7 +225,7 @@ PHP_JSON_API int php_json_decode_ex(zval *return_value, char *str, size_t str_le /* {{{ proto string json_encode(mixed data [, int options[, int depth]]) Returns the JSON representation of a value */ -static PHP_FUNCTION(json_encode) +PHP_FUNCTION(json_encode) { zval *parameter; php_json_encoder encoder; @@ -282,7 +268,7 @@ static PHP_FUNCTION(json_encode) /* {{{ proto mixed json_decode(string json [, bool assoc [, int depth]]) Decodes the JSON representation into a PHP value */ -static PHP_FUNCTION(json_decode) +PHP_FUNCTION(json_decode) { char *str; size_t str_len; @@ -337,7 +323,7 @@ static PHP_FUNCTION(json_decode) /* {{{ proto int json_last_error() Returns the error code of the last json_encode() or json_decode() call. */ -static PHP_FUNCTION(json_last_error) +PHP_FUNCTION(json_last_error) { ZEND_PARSE_PARAMETERS_NONE(); @@ -347,7 +333,7 @@ static PHP_FUNCTION(json_last_error) /* {{{ proto string json_last_error_msg() Returns the error string of the last json_encode() or json_decode() call. */ -static PHP_FUNCTION(json_last_error_msg) +PHP_FUNCTION(json_last_error_msg) { ZEND_PARSE_PARAMETERS_NONE(); diff --git a/ext/json/json.stub.php b/ext/json/json.stub.php index c5713a7980..406bd8a87c 100644 --- a/ext/json/json.stub.php +++ b/ext/json/json.stub.php @@ -1,5 +1,7 @@ <?php +/** @generate-function-entries */ + function json_encode($value, int $options = 0, int $depth = 512): string|false {} /** @return mixed */ diff --git a/ext/json/json_arginfo.h b/ext/json/json_arginfo.h index 2a06f84f6c..cf06242135 100644 --- a/ext/json/json_arginfo.h +++ b/ext/json/json_arginfo.h @@ -21,3 +21,18 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_class_JsonSerializable_jsonSerialize, 0, 0, 0) ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(json_encode); +ZEND_FUNCTION(json_decode); +ZEND_FUNCTION(json_last_error); +ZEND_FUNCTION(json_last_error_msg); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(json_encode, arginfo_json_encode) + ZEND_FE(json_decode, arginfo_json_decode) + ZEND_FE(json_last_error, arginfo_json_last_error) + ZEND_FE(json_last_error_msg, arginfo_json_last_error_msg) + ZEND_FE_END +}; |