Declare ext/standard constants in stubs - part 6

Closes GH-9467
This commit is contained in:
Máté Kocsis 2022-09-02 13:00:07 +02:00
parent 5c3559464b
commit cfa72ff3af
No known key found for this signature in database
GPG key ID: FD055E41728BF310
5 changed files with 143 additions and 37 deletions

View file

@ -21,6 +21,7 @@
#include "php_globals.h" #include "php_globals.h"
#include "php_variables.h" #include "php_variables.h"
#include "php_ini.h" #include "php_ini.h"
#include "php_image.h"
#include "php_standard.h" #include "php_standard.h"
#include "php_math.h" #include "php_math.h"
#include "php_http.h" #include "php_http.h"
@ -348,7 +349,6 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */
BASIC_MINIT_SUBMODULE(exec) BASIC_MINIT_SUBMODULE(exec)
BASIC_MINIT_SUBMODULE(user_streams) BASIC_MINIT_SUBMODULE(user_streams)
BASIC_MINIT_SUBMODULE(imagetypes)
php_register_url_stream_wrapper("php", &php_stream_php_wrapper); php_register_url_stream_wrapper("php", &php_stream_php_wrapper);
php_register_url_stream_wrapper("file", &php_plain_files_wrapper); php_register_url_stream_wrapper("file", &php_plain_files_wrapper);

View file

@ -425,6 +425,122 @@ const DNS_ANY = UNKNOWN;
const DNS_ALL = UNKNOWN; const DNS_ALL = UNKNOWN;
#endif #endif
/* image.c */
/**
* @var int
* @cvalue IMAGE_FILETYPE_GIF
*/
const IMAGETYPE_GIF = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_JPEG
*/
const IMAGETYPE_JPEG = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_PNG
*/
const IMAGETYPE_PNG = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_SWF
*/
const IMAGETYPE_SWF = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_PSD
*/
const IMAGETYPE_PSD = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_BMP
*/
const IMAGETYPE_BMP = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_TIFF_II
*/
const IMAGETYPE_TIFF_II = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_TIFF_MM
*/
const IMAGETYPE_TIFF_MM = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_JPC
*/
const IMAGETYPE_JPC = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_JP2
*/
const IMAGETYPE_JP2 = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_JPX
*/
const IMAGETYPE_JPX = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_JB2
*/
const IMAGETYPE_JB2 = UNKNOWN;
#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB))
/**
* @var int
* @cvalue IMAGE_FILETYPE_SWC
*/
const IMAGETYPE_SWC = UNKNOWN;
#endif
/**
* @var int
* @cvalue IMAGE_FILETYPE_IFF
*/
const IMAGETYPE_IFF = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_WBMP
*/
const IMAGETYPE_WBMP = UNKNOWN;
/* keep alias */
/**
* @var int
* @cvalue IMAGE_FILETYPE_JPC
*/
const IMAGETYPE_JPEG2000 = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_XBM
*/
const IMAGETYPE_XBM = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_ICO
*/
const IMAGETYPE_ICO = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_WEBP
*/
const IMAGETYPE_WEBP = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_AVIF
*/
const IMAGETYPE_AVIF = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_UNKNOWN
*/
const IMAGETYPE_UNKNOWN = UNKNOWN;
/**
* @var int
* @cvalue IMAGE_FILETYPE_COUNT
*/
const IMAGETYPE_COUNT = UNKNOWN;
/* syslog.c */ /* syslog.c */
/* error levels */ /* error levels */

View file

@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead. /* This is a generated file, edit the .stub.php file instead.
* Stub hash: 64cff452a29eabb6a1a2da8ba1171a386b98cf71 */ * Stub hash: 1921468762d3df7f36d22f27db02f22caa36238a */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
@ -3610,6 +3610,30 @@ static void register_basic_functions_symbols(int module_number)
#if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) #if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS)))
REGISTER_LONG_CONSTANT("DNS_ALL", PHP_DNS_ALL, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("DNS_ALL", PHP_DNS_ALL, CONST_PERSISTENT);
#endif #endif
REGISTER_LONG_CONSTANT("IMAGETYPE_GIF", IMAGE_FILETYPE_GIF, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG", IMAGE_FILETYPE_JPEG, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_PNG", IMAGE_FILETYPE_PNG, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_SWF", IMAGE_FILETYPE_SWF, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_PSD", IMAGE_FILETYPE_PSD, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_BMP", IMAGE_FILETYPE_BMP, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_II", IMAGE_FILETYPE_TIFF_II, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_MM", IMAGE_FILETYPE_TIFF_MM, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JPC", IMAGE_FILETYPE_JPC, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_PERSISTENT);
#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB))
REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_PERSISTENT);
#endif
REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000", IMAGE_FILETYPE_JPC, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_XBM", IMAGE_FILETYPE_XBM, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_ICO", IMAGE_FILETYPE_ICO, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_WEBP", IMAGE_FILETYPE_WEBP, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_AVIF", IMAGE_FILETYPE_AVIF, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_UNKNOWN", IMAGE_FILETYPE_UNKNOWN, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_COUNT", IMAGE_FILETYPE_COUNT, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("LOG_EMERG", LOG_EMERG, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_EMERG", LOG_EMERG, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("LOG_ALERT", LOG_ALERT, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_ALERT", LOG_ALERT, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("LOG_CRIT", LOG_CRIT, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_CRIT", LOG_CRIT, CONST_PERSISTENT);

View file

@ -64,38 +64,6 @@ struct gfxinfo {
unsigned int channels; unsigned int channels;
}; };
/* {{{ PHP_MINIT_FUNCTION(imagetypes)
* Register IMAGETYPE_<xxx> constants used by GetImageSize(), image_type_to_mime_type, ext/exif */
PHP_MINIT_FUNCTION(imagetypes)
{
REGISTER_LONG_CONSTANT("IMAGETYPE_GIF", IMAGE_FILETYPE_GIF, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG", IMAGE_FILETYPE_JPEG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_PNG", IMAGE_FILETYPE_PNG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_SWF", IMAGE_FILETYPE_SWF, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_PSD", IMAGE_FILETYPE_PSD, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_BMP", IMAGE_FILETYPE_BMP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_II", IMAGE_FILETYPE_TIFF_II, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_MM", IMAGE_FILETYPE_TIFF_MM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JPC", IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_CS | CONST_PERSISTENT);
#if defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB)
REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT);
#endif
REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000",IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); /* keep alias */
REGISTER_LONG_CONSTANT("IMAGETYPE_XBM", IMAGE_FILETYPE_XBM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_ICO", IMAGE_FILETYPE_ICO, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_WEBP", IMAGE_FILETYPE_WEBP, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_AVIF", IMAGE_FILETYPE_AVIF, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_UNKNOWN", IMAGE_FILETYPE_UNKNOWN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMAGETYPE_COUNT", IMAGE_FILETYPE_COUNT, CONST_CS | CONST_PERSISTENT);
return SUCCESS;
}
/* }}} */
/* {{{ php_handle_gif /* {{{ php_handle_gif
* routine to handle GIF files. If only everything were that easy... ;} */ * routine to handle GIF files. If only everything were that easy... ;} */
static struct gfxinfo *php_handle_gif (php_stream * stream) static struct gfxinfo *php_handle_gif (php_stream * stream)

View file

@ -44,13 +44,11 @@ typedef enum
IMAGE_FILETYPE_ICO, IMAGE_FILETYPE_ICO,
IMAGE_FILETYPE_WEBP, IMAGE_FILETYPE_WEBP,
IMAGE_FILETYPE_AVIF, IMAGE_FILETYPE_AVIF,
/* WHEN EXTENDING: PLEASE ALSO REGISTER IN image.c:PHP_MINIT_FUNCTION(imagetypes) */ /* WHEN EXTENDING: PLEASE ALSO REGISTER IN basic_function.stub.php */
IMAGE_FILETYPE_COUNT IMAGE_FILETYPE_COUNT
} image_filetype; } image_filetype;
/* }}} */ /* }}} */
PHP_MINIT_FUNCTION(imagetypes);
PHPAPI int php_getimagetype(php_stream *stream, const char *input, char *filetype); PHPAPI int php_getimagetype(php_stream *stream, const char *input, char *filetype);
PHPAPI char * php_image_type_to_mime_type(int image_type); PHPAPI char * php_image_type_to_mime_type(int image_type);