Файловый менеджер - Редактировать - /home/skymarketplace/public_html/uploads/main.tar
Назад
SAPI.h 0000644 00000024030 15004366161 0005452 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski <zeev@php.net> | +----------------------------------------------------------------------+ */ #ifndef SAPI_H #define SAPI_H #include "php.h" #include "zend.h" #include "zend_API.h" #include "zend_llist.h" #include "zend_operators.h" #include <sys/stat.h> #define SAPI_OPTION_NO_CHDIR 1 #define SAPI_POST_BLOCK_SIZE 0x4000 #ifdef PHP_WIN32 # ifdef SAPI_EXPORTS # define SAPI_API __declspec(dllexport) # else # define SAPI_API __declspec(dllimport) # endif #elif defined(__GNUC__) && __GNUC__ >= 4 # define SAPI_API __attribute__ ((visibility("default"))) #else # define SAPI_API #endif #undef shutdown typedef struct { char *header; size_t header_len; } sapi_header_struct; typedef struct { zend_llist headers; int http_response_code; unsigned char send_default_content_type; char *mimetype; char *http_status_line; } sapi_headers_struct; typedef struct _sapi_post_entry sapi_post_entry; typedef struct _sapi_module_struct sapi_module_struct; BEGIN_EXTERN_C() extern SAPI_API sapi_module_struct sapi_module; /* true global */ END_EXTERN_C() /* Some values in this structure needs to be filled in before * calling sapi_activate(). We WILL change the `char *' entries, * so make sure that you allocate a separate buffer for them * and that you free them after sapi_deactivate(). */ typedef struct { const char *request_method; char *query_string; char *cookie_data; zend_long content_length; char *path_translated; char *request_uri; /* Do not use request_body directly, but the php://input stream wrapper instead */ struct _php_stream *request_body; const char *content_type; zend_bool headers_only; zend_bool no_headers; zend_bool headers_read; sapi_post_entry *post_entry; char *content_type_dup; /* for HTTP authentication */ char *auth_user; char *auth_password; char *auth_digest; /* this is necessary for the CGI SAPI module */ char *argv0; char *current_user; int current_user_length; /* this is necessary for CLI module */ int argc; char **argv; int proto_num; } sapi_request_info; typedef struct _sapi_globals_struct { void *server_context; sapi_request_info request_info; sapi_headers_struct sapi_headers; int64_t read_post_bytes; unsigned char post_read; unsigned char headers_sent; zend_stat_t global_stat; char *default_mimetype; char *default_charset; HashTable *rfc1867_uploaded_files; zend_long post_max_size; int options; zend_bool sapi_started; double global_request_time; HashTable known_post_content_types; zval callback_func; zend_fcall_info_cache fci_cache; } sapi_globals_struct; BEGIN_EXTERN_C() #ifdef ZTS # define SG(v) ZEND_TSRMG_FAST(sapi_globals_offset, sapi_globals_struct *, v) SAPI_API extern int sapi_globals_id; SAPI_API extern size_t sapi_globals_offset; #else # define SG(v) (sapi_globals.v) extern SAPI_API sapi_globals_struct sapi_globals; #endif SAPI_API void sapi_startup(sapi_module_struct *sf); SAPI_API void sapi_shutdown(void); SAPI_API void sapi_activate(void); SAPI_API void sapi_deactivate_module(void); SAPI_API void sapi_deactivate_destroy(void); SAPI_API void sapi_deactivate(void); SAPI_API void sapi_initialize_empty_request(void); SAPI_API void sapi_add_request_header(const char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg); END_EXTERN_C() /* * This is the preferred and maintained API for * operating on HTTP headers. */ /* * Always specify a sapi_header_line this way: * * sapi_header_line ctr = {0}; */ typedef struct { const char *line; /* If you allocated this, you need to free it yourself */ size_t line_len; zend_long response_code; /* long due to zend_parse_parameters compatibility */ } sapi_header_line; typedef enum { /* Parameter: */ SAPI_HEADER_REPLACE, /* sapi_header_line* */ SAPI_HEADER_ADD, /* sapi_header_line* */ SAPI_HEADER_DELETE, /* sapi_header_line* */ SAPI_HEADER_DELETE_ALL, /* void */ SAPI_HEADER_SET_STATUS /* int */ } sapi_header_op_enum; BEGIN_EXTERN_C() SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg); /* Deprecated functions. Use sapi_header_op instead. */ SAPI_API int sapi_add_header_ex(const char *header_line, size_t header_line_len, zend_bool duplicate, zend_bool replace); #define sapi_add_header(a, b, c) sapi_add_header_ex((a),(b),(c),1) SAPI_API int sapi_send_headers(void); SAPI_API void sapi_free_header(sapi_header_struct *sapi_header); SAPI_API void sapi_handle_post(void *arg); SAPI_API size_t sapi_read_post_block(char *buffer, size_t buflen); SAPI_API int sapi_register_post_entries(const sapi_post_entry *post_entry); SAPI_API int sapi_register_post_entry(const sapi_post_entry *post_entry); SAPI_API void sapi_unregister_post_entry(const sapi_post_entry *post_entry); SAPI_API int sapi_register_default_post_reader(void (*default_post_reader)(void)); SAPI_API int sapi_register_treat_data(void (*treat_data)(int arg, char *str, zval *destArray)); SAPI_API int sapi_register_input_filter(unsigned int (*input_filter)(int arg, const char *var, char **val, size_t val_len, size_t *new_val_len), unsigned int (*input_filter_init)(void)); SAPI_API int sapi_flush(void); SAPI_API zend_stat_t *sapi_get_stat(void); SAPI_API char *sapi_getenv(const char *name, size_t name_len); SAPI_API char *sapi_get_default_content_type(void); SAPI_API void sapi_get_default_content_type_header(sapi_header_struct *default_header); SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len); SAPI_API void sapi_activate_headers_only(void); SAPI_API int sapi_get_fd(int *fd); SAPI_API int sapi_force_http_10(void); SAPI_API int sapi_get_target_uid(uid_t *); SAPI_API int sapi_get_target_gid(gid_t *); SAPI_API double sapi_get_request_time(void); SAPI_API void sapi_terminate_process(void); END_EXTERN_C() struct _sapi_module_struct { char *name; char *pretty_name; int (*startup)(struct _sapi_module_struct *sapi_module); int (*shutdown)(struct _sapi_module_struct *sapi_module); int (*activate)(void); int (*deactivate)(void); size_t (*ub_write)(const char *str, size_t str_length); void (*flush)(void *server_context); zend_stat_t *(*get_stat)(void); char *(*getenv)(const char *name, size_t name_len); void (*sapi_error)(int type, const char *error_msg, ...) ZEND_ATTRIBUTE_FORMAT(printf, 2, 3); int (*header_handler)(sapi_header_struct *sapi_header, sapi_header_op_enum op, sapi_headers_struct *sapi_headers); int (*send_headers)(sapi_headers_struct *sapi_headers); void (*send_header)(sapi_header_struct *sapi_header, void *server_context); size_t (*read_post)(char *buffer, size_t count_bytes); char *(*read_cookies)(void); void (*register_server_variables)(zval *track_vars_array); void (*log_message)(const char *message, int syslog_type_int); double (*get_request_time)(void); void (*terminate_process)(void); char *php_ini_path_override; void (*default_post_reader)(void); void (*treat_data)(int arg, char *str, zval *destArray); char *executable_location; int php_ini_ignore; int php_ini_ignore_cwd; /* don't look for php.ini in the current directory */ int (*get_fd)(int *fd); int (*force_http_10)(void); int (*get_target_uid)(uid_t *); int (*get_target_gid)(gid_t *); unsigned int (*input_filter)(int arg, const char *var, char **val, size_t val_len, size_t *new_val_len); void (*ini_defaults)(HashTable *configuration_hash); int phpinfo_as_text; char *ini_entries; const zend_function_entry *additional_functions; unsigned int (*input_filter_init)(void); }; struct _sapi_post_entry { char *content_type; uint32_t content_type_len; void (*post_reader)(void); void (*post_handler)(char *content_type_dup, void *arg); }; /* header_handler() constants */ #define SAPI_HEADER_ADD (1<<0) #define SAPI_HEADER_SENT_SUCCESSFULLY 1 #define SAPI_HEADER_DO_SEND 2 #define SAPI_HEADER_SEND_FAILED 3 #define SAPI_DEFAULT_MIMETYPE "text/html" #define SAPI_DEFAULT_CHARSET PHP_DEFAULT_CHARSET #define SAPI_PHP_VERSION_HEADER "X-Powered-By: PHP/" PHP_VERSION #define SAPI_POST_READER_FUNC(post_reader) void post_reader(void) #define SAPI_POST_HANDLER_FUNC(post_handler) void post_handler(char *content_type_dup, void *arg) #define SAPI_TREAT_DATA_FUNC(treat_data) void treat_data(int arg, char *str, zval* destArray) #define SAPI_INPUT_FILTER_FUNC(input_filter) unsigned int input_filter(int arg, const char *var, char **val, size_t val_len, size_t *new_val_len) BEGIN_EXTERN_C() SAPI_API SAPI_POST_READER_FUNC(sapi_read_standard_form_data); SAPI_API SAPI_POST_READER_FUNC(php_default_post_reader); SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data); SAPI_API SAPI_INPUT_FILTER_FUNC(php_default_input_filter); END_EXTERN_C() #define STANDARD_SAPI_MODULE_PROPERTIES \ NULL, /* php_ini_path_override */ \ NULL, /* default_post_reader */ \ NULL, /* treat_data */ \ NULL, /* executable_location */ \ 0, /* php_ini_ignore */ \ 0, /* php_ini_ignore_cwd */ \ NULL, /* get_fd */ \ NULL, /* force_http_10 */ \ NULL, /* get_target_uid */ \ NULL, /* get_target_gid */ \ NULL, /* input_filter */ \ NULL, /* ini_defaults */ \ 0, /* phpinfo_as_text; */ \ NULL, /* ini_entries; */ \ NULL, /* additional_functions */ \ NULL /* input_filter_init */ #endif /* SAPI_H */ build-defs.h 0000644 00000015427 15004366161 0006746 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Sæther Bakken <ssb@php.net> | +----------------------------------------------------------------------+ */ #define CONFIGURE_COMMAND " './configure' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/opt/alt/php80' '--exec-prefix=/opt/alt/php80' '--bindir=/opt/alt/php80/usr/bin' '--sbindir=/opt/alt/php80/usr/sbin' '--sysconfdir=/opt/alt/php80/etc' '--datadir=/opt/alt/php80/usr/share' '--includedir=/opt/alt/php80/usr/include' '--libdir=/opt/alt/php80/usr/lib64' '--libexecdir=/opt/alt/php80/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/opt/alt/php80/usr/share/man' '--infodir=/opt/alt/php80/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/opt/alt/php80/etc' '--with-config-file-scan-dir=/opt/alt/php80/link/conf' '--disable-debug' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-huge-code-pages' '--enable-jit' '--enable-shared=yes' '--enable-shmop' '--enable-static=no' '--enable-xml' '--with-bz2' '--with-freetype=/usr' '--with-gettext' '--with-gmp' '--with-gnu-ld=yes' '--with-iconv' '--with-jpeg=/usr' '--with-layout=GNU' '--with-mhash' '--with-password-argon2=/usr' '--with-pcre-jit' '--with-pic' '--with-readline' '--with-webp=/opt/alt/libwebp' '--with-xpm=/usr' '--with-zlib' '--with-zlib-dir=/usr' '--without-gdbm' '--without-pear' '--with-curl=/opt/alt/curlssl11/usr' '--with-openssl-dir=/opt/alt/openssl11' '--with-openssl=/opt/alt/openssl11' '--with-pcre-dir=/opt/alt/pcre2' '--with-kerberos=/opt/alt/krb5/usr' '--with-apxs2' '--enable-litespeed' '--enable-fpm' '--with-fpm-systemd' '--enable-bcmath=shared' '--enable-dba=shared' '--with-db4=/usr' '--enable-dom=shared' '--enable-fileinfo=shared' '--enable-gd=shared' '--enable-intl=shared' '--enable-mbregex' '--enable-mbstring=shared' '--enable-mysqlnd=shared' '--enable-opcache' '--enable-pcntl' '--enable-pdo=shared' '--enable-phar=shared' '--enable-posix=shared' '--enable-soap=shared' '--enable-sockets=shared' '--enable-sysvsem=shared' '--enable-sysvshm=shared' '--enable-sysvmsg=shared' '--enable-xmlreader=shared' '--enable-xmlwriter=shared' '--with-enchant=shared,/usr' '--with-external-gd' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=shared,mysqlnd' '--with-pdo-mysql=shared,mysqlnd' '--with-pdo-odbc=shared,unixODBC,/usr' '--with-pdo-sqlite=shared,/opt/alt/sqlite/usr' '--with-pspell=shared' '--with-sqlite3=/opt/alt/sqlite/usr' '--with-tidy=shared,/usr' '--with-unixODBC=shared,/usr' '--with-zip=shared' '--with-pdo-pgsql=shared,/usr' '--with-pgsql=shared,/usr' '--with-imap=shared,/opt/alt/libc-client11' '--with-imap-ssl=/opt/alt/openssl11' '--with-ldap=shared,/opt/alt/openldap11' '--with-ldap-sasl' '--with-pdo-dblib=shared,/opt/alt/freetds11/usr' '--with-snmp=shared,/opt/alt/net-snmp11/usr' '--with-pdo-oci=shared,instantclient,/usr/lib/oracle/21/client64/lib' '--with-sodium=shared,/usr' '--with-ffi=shared,/usr' '--with-pdo-firebird=shared' '--with-xsl=shared,/usr' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'PKG_CONFIG=/usr/bin/pkg-config' 'PKG_CONFIG_PATH=/opt/alt/sqlite/usr/lib64/pkgconfig:/opt/alt/curlssl11/usr/lib64/pkgconfig:/opt/alt/openssl11/lib64/pkgconfig:/opt/alt/libicu/usr/lib64/pkgconfig:/opt/alt/pcre2/usr/lib64/pkgconfig:/opt/alt/libzip/usr/lib64/pkgconfig:/opt/alt/krb5/usr/lib64/pkgconfig:/opt/alt/libxml2/usr/lib64/pkgconfig:/opt/alt/libgd/lib64/pkgconfig::/usr/lib64/pkgconfig:/usr/share/pkgconfig' 'LDFLAGS= -L/opt/alt/krb5/usr/lib64 -L/opt/alt/cyrus-sasl/lib64 -Wl,-rpath=/opt/alt/krb5/usr/lib64,-rpath=/opt/alt/cyrus-sasl/lib64 -Wl,-rpath=/opt/alt/libxml2/usr/lib64,-rpath=/opt/alt/libwebp/lib64 -L/opt/alt/openssl11/lib64 -L/opt/alt/libicu/usr/lib64 -L/opt/alt/libc-client11/lib64 -L/opt/alt/openldap11/lib64 -L/opt/alt/net-snmp11/usr/lib64 -L/opt/alt/libssh211/usr/lib64 -Wl,-rpath=/opt/alt/curlssl11/usr/lib64,-rpath=/opt/alt/openssl11/lib64,-rpath=/opt/alt/libicu/usr/lib64,-rpath=/opt/alt/t1lib/usr/lib64,-rpath=/opt/alt/pcre2/usr/lib64,-rpath=/opt/alt/openldap11/lib64,-rpath=/opt/alt/freetds11/usr/lib64,-rpath=/opt/alt/net-snmp11/usr/lib64,-rpath=/opt/alt/libssh211/usr/lib64,-rpath=/opt/alt/libc-client11/lib64 -Wl,-rpath=/opt/alt/sqlite/usr/lib64 -Wl,-rpath=/usr/lib64 ' 'KERBEROS_CFLAGS=-I/opt/alt/krb5/usr/include' 'KERBEROS_LIBS=-L/opt/alt/krb5/usr/lib64' 'WEBP_LIBS=-L/opt/alt/libwebp/lib64 -Wl,-rpath=/opt/alt/libwebp/lib64' 'SASL_CFLAGS=-I/opt/alt/cyrus-sasl/include' 'SASL_LIBS=-L/opt/alt/cyrus-sasl/lib64'" #define PHP_ODBC_CFLAGS "-I/usr/include" #define PHP_ODBC_LFLAGS "-L/usr/lib64" #define PHP_ODBC_LIBS "-lodbc" #define PHP_ODBC_TYPE "unixODBC" #define PHP_OCI8_DIR "" #define PHP_OCI8_ORACLE_VERSION "" #define PHP_PROG_SENDMAIL "/usr/sbin/sendmail" #define PEAR_INSTALLDIR "/opt/alt/php80/usr/share/pear" #define PHP_INCLUDE_PATH ".:/opt/alt/php80/usr/share/pear:/opt/alt/php80/usr/share/php:/usr/share/pear:/usr/share/php" #define PHP_EXTENSION_DIR "/opt/alt/php80/usr/lib64/php/modules" #define PHP_PREFIX "/opt/alt/php80" #define PHP_BINDIR "/opt/alt/php80/usr/bin" #define PHP_SBINDIR "/opt/alt/php80/usr/sbin" #define PHP_MANDIR "/opt/alt/php80/usr/share/man" #define PHP_LIBDIR "/opt/alt/php80/usr/lib64" #define PHP_DATADIR "/opt/alt/php80/usr/share" #define PHP_SYSCONFDIR "/opt/alt/php80/etc" #define PHP_LOCALSTATEDIR "/var" #define PHP_CONFIG_FILE_PATH "/opt/alt/php80/etc" #define PHP_CONFIG_FILE_SCAN_DIR "/opt/alt/php80/link/conf" #define PHP_SHLIB_SUFFIX "so" #define PHP_SHLIB_EXT_PREFIX "" fastcgi.h 0000644 00000011414 15004366161 0006340 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Dmitry Stogov <dmitry@php.net> | +----------------------------------------------------------------------+ */ /* FastCGI protocol */ #define FCGI_VERSION_1 1 #define FCGI_MAX_LENGTH 0xffff #define FCGI_KEEP_CONN 1 /* this is near the perfect hash function for most useful FastCGI variables * which combines efficiency and minimal hash collisions */ #define FCGI_HASH_FUNC(var, var_len) \ (UNEXPECTED(var_len < 3) ? (unsigned int)var_len : \ (((unsigned int)var[3]) << 2) + \ (((unsigned int)var[var_len-2]) << 4) + \ (((unsigned int)var[var_len-1]) << 2) + \ var_len) #define FCGI_GETENV(request, name) \ fcgi_quick_getenv(request, name, sizeof(name)-1, FCGI_HASH_FUNC(name, sizeof(name)-1)) #define FCGI_PUTENV(request, name, value) \ fcgi_quick_putenv(request, name, sizeof(name)-1, FCGI_HASH_FUNC(name, sizeof(name)-1), value) typedef enum _fcgi_role { FCGI_RESPONDER = 1, FCGI_AUTHORIZER = 2, FCGI_FILTER = 3 } fcgi_role; enum { FCGI_DEBUG = 1, FCGI_NOTICE = 2, FCGI_WARNING = 3, FCGI_ERROR = 4, FCGI_ALERT = 5, }; typedef enum _fcgi_request_type { FCGI_BEGIN_REQUEST = 1, /* [in] */ FCGI_ABORT_REQUEST = 2, /* [in] (not supported) */ FCGI_END_REQUEST = 3, /* [out] */ FCGI_PARAMS = 4, /* [in] environment variables */ FCGI_STDIN = 5, /* [in] post data */ FCGI_STDOUT = 6, /* [out] response */ FCGI_STDERR = 7, /* [out] errors */ FCGI_DATA = 8, /* [in] filter data (not supported) */ FCGI_GET_VALUES = 9, /* [in] */ FCGI_GET_VALUES_RESULT = 10 /* [out] */ } fcgi_request_type; typedef enum _fcgi_protocol_status { FCGI_REQUEST_COMPLETE = 0, FCGI_CANT_MPX_CONN = 1, FCGI_OVERLOADED = 2, FCGI_UNKNOWN_ROLE = 3 } dcgi_protocol_status; /* FastCGI client API */ typedef void (*fcgi_apply_func)(const char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg); #define FCGI_HASH_TABLE_SIZE 128 #define FCGI_HASH_TABLE_MASK (FCGI_HASH_TABLE_SIZE - 1) #define FCGI_HASH_SEG_SIZE 4096 typedef struct _fcgi_request fcgi_request; int fcgi_init(void); void fcgi_shutdown(void); int fcgi_is_fastcgi(void); int fcgi_is_closed(fcgi_request *req); void fcgi_close(fcgi_request *req, int force, int destroy); int fcgi_in_shutdown(void); void fcgi_terminate(void); int fcgi_listen(const char *path, int backlog); fcgi_request* fcgi_init_request(int listen_socket, void(*on_accept)(), void(*on_read)(), void(*on_close)()); void fcgi_destroy_request(fcgi_request *req); void fcgi_set_allowed_clients(char *ip); int fcgi_accept_request(fcgi_request *req); int fcgi_finish_request(fcgi_request *req, int force_close); const char *fcgi_get_last_client_ip(); void fcgi_set_in_shutdown(int new_value); void fcgi_request_set_keep(fcgi_request *req, int new_value); #ifndef HAVE_ATTRIBUTE_WEAK typedef void (*fcgi_logger)(int type, const char *fmt, ...) ZEND_ATTRIBUTE_FORMAT(printf, 2, 3); void fcgi_set_logger(fcgi_logger lg); #endif int fcgi_has_env(fcgi_request *req); char* fcgi_getenv(fcgi_request *req, const char* var, int var_len); char* fcgi_putenv(fcgi_request *req, char* var, int var_len, char* val); char* fcgi_quick_getenv(fcgi_request *req, const char* var, int var_len, unsigned int hash_value); char* fcgi_quick_putenv(fcgi_request *req, char* var, int var_len, unsigned int hash_value, char* val); void fcgi_loadenv(fcgi_request *req, fcgi_apply_func load_func, zval *array); int fcgi_read(fcgi_request *req, char *str, int len); int fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, int len); int fcgi_flush(fcgi_request *req, int end); int fcgi_end(fcgi_request *req); #ifdef PHP_WIN32 void fcgi_impersonate(void); #endif void fcgi_set_mgmt_var(const char * name, size_t name_len, const char * value, size_t value_len); void fcgi_free_mgmt_var_cb(zval *zv); fopen_wrappers.h 0000644 00000004320 15004366161 0007750 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Jim Winstead <jimw@php.net> | +----------------------------------------------------------------------+ */ #ifndef FOPEN_WRAPPERS_H #define FOPEN_WRAPPERS_H BEGIN_EXTERN_C() #include "php_globals.h" #include "php_ini.h" PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle); PHPAPI char *expand_filepath(const char *filepath, char *real_path); PHPAPI char *expand_filepath_ex(const char *filepath, char *real_path, const char *relative_to, size_t relative_to_len); PHPAPI char *expand_filepath_with_mode(const char *filepath, char *real_path, const char *relative_to, size_t relative_to_len, int use_realpath); PHPAPI int php_check_open_basedir(const char *path); PHPAPI int php_check_open_basedir_ex(const char *path, int warn); PHPAPI int php_check_specific_open_basedir(const char *basedir, const char *path); /* OPENBASEDIR_CHECKPATH(filename) to ease merge between 6.x and 5.x */ #define OPENBASEDIR_CHECKPATH(filename) php_check_open_basedir(filename) PHPAPI int php_check_safe_mode_include_dir(const char *path); PHPAPI zend_string *php_resolve_path(const char *filename, size_t filename_len, const char *path); PHPAPI FILE *php_fopen_with_path(const char *filename, const char *mode, const char *path, zend_string **opened_path); PHPAPI char *php_strip_url_passwd(char *path); PHPAPI ZEND_INI_MH(OnUpdateBaseDir); END_EXTERN_C() #endif http_status_codes.h 0000644 00000005522 15004366161 0010462 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Andrea Faulds <ajf@ajf.me> | +----------------------------------------------------------------------+ */ #ifndef HTTP_STATUS_CODES_H #define HTTP_STATUS_CODES_H typedef struct _http_response_status_code_pair { const int code; const char *str; } http_response_status_code_pair; static const http_response_status_code_pair http_status_map[] = { { 100, "Continue" }, { 101, "Switching Protocols" }, { 200, "OK" }, { 201, "Created" }, { 202, "Accepted" }, { 203, "Non-Authoritative Information" }, { 204, "No Content" }, { 205, "Reset Content" }, { 206, "Partial Content" }, { 300, "Multiple Choices" }, { 301, "Moved Permanently" }, { 302, "Found" }, { 303, "See Other" }, { 304, "Not Modified" }, { 305, "Use Proxy" }, { 307, "Temporary Redirect" }, { 308, "Permanent Redirect" }, { 400, "Bad Request" }, { 401, "Unauthorized" }, { 402, "Payment Required" }, { 403, "Forbidden" }, { 404, "Not Found" }, { 405, "Method Not Allowed" }, { 406, "Not Acceptable" }, { 407, "Proxy Authentication Required" }, { 408, "Request Timeout" }, { 409, "Conflict" }, { 410, "Gone" }, { 411, "Length Required" }, { 412, "Precondition Failed" }, { 413, "Request Entity Too Large" }, { 414, "Request-URI Too Long" }, { 415, "Unsupported Media Type" }, { 416, "Requested Range Not Satisfiable" }, { 417, "Expectation Failed" }, { 426, "Upgrade Required" }, { 428, "Precondition Required" }, { 429, "Too Many Requests" }, { 431, "Request Header Fields Too Large" }, { 451, "Unavailable For Legal Reasons"}, { 500, "Internal Server Error" }, { 501, "Not Implemented" }, { 502, "Bad Gateway" }, { 503, "Service Unavailable" }, { 504, "Gateway Timeout" }, { 505, "HTTP Version Not Supported" }, { 506, "Variant Also Negotiates" }, { 511, "Network Authentication Required" }, /* to allow search with while() loop */ { 0, NULL } }; static const size_t http_status_map_len = (sizeof(http_status_map) / sizeof(http_response_status_code_pair)) - 1; #endif /* HTTP_STATUS_CODES_H */ php.h 0000644 00000027232 15004366161 0005514 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans <andi@php.net> | | Zeev Suraski <zeev@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_H #define PHP_H #ifdef HAVE_DMALLOC #include <dmalloc.h> #endif #define PHP_API_VERSION 20200930 #define PHP_HAVE_STREAMS #define YYDEBUG 0 #define PHP_DEFAULT_CHARSET "UTF-8" #include "php_version.h" #include "zend.h" #include "zend_sort.h" #include "php_compat.h" #include "zend_API.h" #define php_sprintf sprintf /* Operating system family definition */ #ifdef PHP_WIN32 # define PHP_OS_FAMILY "Windows" #elif defined(BSD) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) # define PHP_OS_FAMILY "BSD" #elif defined(__APPLE__) || defined(__MACH__) # define PHP_OS_FAMILY "Darwin" #elif defined(__sun__) # define PHP_OS_FAMILY "Solaris" #elif defined(__linux__) # define PHP_OS_FAMILY "Linux" #else # define PHP_OS_FAMILY "Unknown" #endif /* PHP's DEBUG value must match Zend's ZEND_DEBUG value */ #undef PHP_DEBUG #define PHP_DEBUG ZEND_DEBUG #ifdef PHP_WIN32 # include "tsrm_win32.h" # ifdef PHP_EXPORTS # define PHPAPI __declspec(dllexport) # else # define PHPAPI __declspec(dllimport) # endif # define PHP_DIR_SEPARATOR '\\' # define PHP_EOL "\r\n" #else # if defined(__GNUC__) && __GNUC__ >= 4 # define PHPAPI __attribute__ ((visibility("default"))) # else # define PHPAPI # endif # define THREAD_LS # define PHP_DIR_SEPARATOR '/' # define PHP_EOL "\n" #endif /* Windows specific defines */ #ifdef PHP_WIN32 # define PHP_PROG_SENDMAIL "Built in mailer" # define WIN32_LEAN_AND_MEAN # define NOOPENFILE # include <io.h> # include <malloc.h> # include <direct.h> # include <stdlib.h> # include <stdio.h> # include <stdarg.h> # include <sys/types.h> # include <process.h> typedef int uid_t; typedef int gid_t; typedef char * caddr_t; typedef int pid_t; # ifndef PHP_DEBUG # ifdef inline # undef inline # endif # define inline __inline # endif # define M_TWOPI (M_PI * 2.0) # define off_t _off_t # define lstat(x, y) php_sys_lstat(x, y) # define chdir(path) _chdir(path) # define mkdir(a, b) _mkdir(a) # define rmdir(a) _rmdir(a) # define getpid _getpid # define php_sleep(t) SleepEx(t*1000, TRUE) # ifndef getcwd # define getcwd(a, b) _getcwd(a, b) # endif #endif #if PHP_DEBUG #undef NDEBUG #else #ifndef NDEBUG #define NDEBUG #endif #endif #include <assert.h> #ifdef HAVE_UNIX_H #include <unix.h> #endif #if HAVE_ALLOCA_H #include <alloca.h> #endif #if HAVE_BUILD_DEFS_H #include <build-defs.h> #endif /* * This is a fast version of strlcpy which should be used, if you * know the size of the destination buffer and if you know * the length of the source string. * * size is the allocated number of bytes of dst * src_size is the number of bytes excluding the NUL of src */ #define PHP_STRLCPY(dst, src, size, src_size) \ { \ size_t php_str_len; \ \ if (src_size >= size) \ php_str_len = size - 1; \ else \ php_str_len = src_size; \ memcpy(dst, src, php_str_len); \ dst[php_str_len] = '\0'; \ } #ifndef HAVE_STRLCPY BEGIN_EXTERN_C() PHPAPI size_t php_strlcpy(char *dst, const char *src, size_t siz); END_EXTERN_C() #undef strlcpy #define strlcpy php_strlcpy #define HAVE_STRLCPY 1 #define USE_STRLCPY_PHP_IMPL 1 #endif #ifndef HAVE_STRLCAT BEGIN_EXTERN_C() PHPAPI size_t php_strlcat(char *dst, const char *src, size_t siz); END_EXTERN_C() #undef strlcat #define strlcat php_strlcat #define HAVE_STRLCAT 1 #define USE_STRLCAT_PHP_IMPL 1 #endif #ifndef HAVE_EXPLICIT_BZERO BEGIN_EXTERN_C() PHPAPI void php_explicit_bzero(void *dst, size_t siz); END_EXTERN_C() #undef explicit_bzero #define explicit_bzero php_explicit_bzero #endif #ifndef HAVE_STRTOK_R BEGIN_EXTERN_C() char *strtok_r(char *s, const char *delim, char **last); END_EXTERN_C() #endif #ifndef HAVE_SOCKLEN_T # ifdef PHP_WIN32 typedef int socklen_t; # else typedef unsigned int socklen_t; # endif #endif #define CREATE_MUTEX(a, b) #define SET_MUTEX(a) #define FREE_MUTEX(a) /* * Then the ODBC support can use both iodbc and Solid, * uncomment this. * #define HAVE_ODBC (HAVE_IODBC|HAVE_SOLID) */ #include <stdlib.h> #include <ctype.h> #if HAVE_UNISTD_H #include <unistd.h> #endif #include <stdarg.h> #include "php_stdint.h" #include "zend_hash.h" #include "zend_alloc.h" #include "zend_stack.h" #include <string.h> #if HAVE_PWD_H # ifdef PHP_WIN32 #include "win32/param.h" # else #include <pwd.h> #include <sys/param.h> # endif #endif #include <limits.h> #ifndef LONG_MAX #define LONG_MAX 2147483647L #endif #ifndef LONG_MIN #define LONG_MIN (- LONG_MAX - 1) #endif #ifndef INT_MAX #define INT_MAX 2147483647 #endif #ifndef INT_MIN #define INT_MIN (- INT_MAX - 1) #endif /* double limits */ #include <float.h> #if defined(DBL_MANT_DIG) && defined(DBL_MIN_EXP) #define PHP_DOUBLE_MAX_LENGTH (3 + DBL_MANT_DIG - DBL_MIN_EXP) #else #define PHP_DOUBLE_MAX_LENGTH 1080 #endif #define PHP_GCC_VERSION ZEND_GCC_VERSION #define PHP_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_MALLOC #define PHP_ATTRIBUTE_FORMAT ZEND_ATTRIBUTE_FORMAT BEGIN_EXTERN_C() #include "snprintf.h" END_EXTERN_C() #include "spprintf.h" #define EXEC_INPUT_BUF 4096 #define PHP_MIME_TYPE "application/x-httpd-php" /* macros */ #define STR_PRINT(str) ((str)?(str):"") #ifndef MAXPATHLEN # ifdef PHP_WIN32 # include "win32/ioutil.h" # define MAXPATHLEN PHP_WIN32_IOUTIL_MAXPATHLEN # elif PATH_MAX # define MAXPATHLEN PATH_MAX # elif defined(MAX_PATH) # define MAXPATHLEN MAX_PATH # else # define MAXPATHLEN 256 /* Should be safe for any weird systems that do not define it */ # endif #endif #define php_ignore_value(x) ZEND_IGNORE_VALUE(x) /* global variables */ #ifndef PHP_WIN32 #define php_sleep sleep extern char **environ; #endif /* ifndef PHP_WIN32 */ #ifdef PHP_PWRITE_64 ssize_t pwrite(int, void *, size_t, off64_t); #endif #ifdef PHP_PREAD_64 ssize_t pread(int, void *, size_t, off64_t); #endif BEGIN_EXTERN_C() void phperror(char *error); PHPAPI size_t php_write(void *buf, size_t size); PHPAPI size_t php_printf(const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 1, 2); PHPAPI size_t php_printf_unchecked(const char *format, ...); PHPAPI int php_during_module_startup(void); PHPAPI int php_during_module_shutdown(void); PHPAPI int php_get_module_initialized(void); #ifdef HAVE_SYSLOG_H #include "php_syslog.h" #define php_log_err(msg) php_log_err_with_severity(msg, LOG_NOTICE) #else #define php_log_err(msg) php_log_err_with_severity(msg, 5) #endif PHPAPI ZEND_COLD void php_log_err_with_severity(const char *log_message, int syslog_type_int); int Debug(char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 1, 2); int cfgparse(void); END_EXTERN_C() #define php_error zend_error #define error_handling_t zend_error_handling_t BEGIN_EXTERN_C() static inline ZEND_ATTRIBUTE_DEPRECATED void php_set_error_handling(error_handling_t error_handling, zend_class_entry *exception_class) { zend_replace_error_handling(error_handling, exception_class, NULL); } static inline ZEND_ATTRIBUTE_DEPRECATED void php_std_error_handling() {} PHPAPI ZEND_COLD void php_verror(const char *docref, const char *params, int type, const char *format, va_list args) PHP_ATTRIBUTE_FORMAT(printf, 4, 0); /* PHPAPI void php_error(int type, const char *format, ...); */ PHPAPI ZEND_COLD void php_error_docref(const char *docref, int type, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 3, 4); PHPAPI ZEND_COLD void php_error_docref1(const char *docref, const char *param1, int type, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 4, 5); PHPAPI ZEND_COLD void php_error_docref2(const char *docref, const char *param1, const char *param2, int type, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 5, 6); #ifdef PHP_WIN32 PHPAPI ZEND_COLD void php_win32_docref1_from_error(DWORD error, const char *param1); PHPAPI ZEND_COLD void php_win32_docref2_from_error(DWORD error, const char *param1, const char *param2); #endif END_EXTERN_C() #define zenderror phperror #define zendlex phplex #define phpparse zendparse #define phprestart zendrestart #define phpin zendin #define php_memnstr zend_memnstr /* functions */ BEGIN_EXTERN_C() PHPAPI extern int (*php_register_internal_extensions_func)(void); PHPAPI int php_register_internal_extensions(void); PHPAPI void php_register_pre_request_shutdown(void (*func)(void *), void *userdata); PHPAPI void php_com_initialize(void); PHPAPI char *php_get_current_user(void); PHPAPI const char *php_get_internal_encoding(void); PHPAPI const char *php_get_input_encoding(void); PHPAPI const char *php_get_output_encoding(void); PHPAPI extern void (*php_internal_encoding_changed)(void); END_EXTERN_C() /* PHP-named Zend macro wrappers */ #define PHP_FN ZEND_FN #define PHP_MN ZEND_MN #define PHP_NAMED_FUNCTION ZEND_NAMED_FUNCTION #define PHP_FUNCTION ZEND_FUNCTION #define PHP_METHOD ZEND_METHOD #define PHP_RAW_NAMED_FE ZEND_RAW_NAMED_FE #define PHP_NAMED_FE ZEND_NAMED_FE #define PHP_FE ZEND_FE #define PHP_DEP_FE ZEND_DEP_FE #define PHP_FALIAS ZEND_FALIAS #define PHP_DEP_FALIAS ZEND_DEP_FALIAS #define PHP_ME ZEND_ME #define PHP_MALIAS ZEND_MALIAS #define PHP_ABSTRACT_ME ZEND_ABSTRACT_ME #define PHP_ME_MAPPING ZEND_ME_MAPPING #define PHP_FE_END ZEND_FE_END #define PHP_MODULE_STARTUP_N ZEND_MODULE_STARTUP_N #define PHP_MODULE_SHUTDOWN_N ZEND_MODULE_SHUTDOWN_N #define PHP_MODULE_ACTIVATE_N ZEND_MODULE_ACTIVATE_N #define PHP_MODULE_DEACTIVATE_N ZEND_MODULE_DEACTIVATE_N #define PHP_MODULE_INFO_N ZEND_MODULE_INFO_N #define PHP_MODULE_STARTUP_D ZEND_MODULE_STARTUP_D #define PHP_MODULE_SHUTDOWN_D ZEND_MODULE_SHUTDOWN_D #define PHP_MODULE_ACTIVATE_D ZEND_MODULE_ACTIVATE_D #define PHP_MODULE_DEACTIVATE_D ZEND_MODULE_DEACTIVATE_D #define PHP_MODULE_INFO_D ZEND_MODULE_INFO_D /* Compatibility macros */ #define PHP_MINIT ZEND_MODULE_STARTUP_N #define PHP_MSHUTDOWN ZEND_MODULE_SHUTDOWN_N #define PHP_RINIT ZEND_MODULE_ACTIVATE_N #define PHP_RSHUTDOWN ZEND_MODULE_DEACTIVATE_N #define PHP_MINFO ZEND_MODULE_INFO_N #define PHP_GINIT ZEND_GINIT #define PHP_GSHUTDOWN ZEND_GSHUTDOWN #define PHP_MINIT_FUNCTION ZEND_MODULE_STARTUP_D #define PHP_MSHUTDOWN_FUNCTION ZEND_MODULE_SHUTDOWN_D #define PHP_RINIT_FUNCTION ZEND_MODULE_ACTIVATE_D #define PHP_RSHUTDOWN_FUNCTION ZEND_MODULE_DEACTIVATE_D #define PHP_MINFO_FUNCTION ZEND_MODULE_INFO_D #define PHP_GINIT_FUNCTION ZEND_GINIT_FUNCTION #define PHP_GSHUTDOWN_FUNCTION ZEND_GSHUTDOWN_FUNCTION #define PHP_MODULE_GLOBALS ZEND_MODULE_GLOBALS /* Output support */ #include "main/php_output.h" #include "php_streams.h" #include "php_memory_streams.h" #include "fopen_wrappers.h" /* Virtual current working directory support */ #include "zend_virtual_cwd.h" #include "zend_constants.h" /* connection status states */ #define PHP_CONNECTION_NORMAL 0 #define PHP_CONNECTION_ABORTED 1 #define PHP_CONNECTION_TIMEOUT 2 #include "php_reentrancy.h" #endif php_compat.h 0000644 00000047242 15004366161 0007062 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ #ifndef PHP_COMPAT_H #define PHP_COMPAT_H #ifdef PHP_WIN32 #include "config.w32.h" #else #include <php_config.h> #endif #if defined(HAVE_BUNDLED_PCRE) || !defined(PHP_VERSION) #define pcre2_jit_callback_8 php_pcre2_jit_callback #define pcre2_callout_enumerate_8 php_pcre2_callout_enumerate #define pcre2_code_copy_8 php_pcre2_code_copy #define pcre2_code_copy_with_tables_8 php_pcre2_code_copy_with_tables #define pcre2_code_free_8 php_pcre2_code_free #define pcre2_compile_8 php_pcre2_compile #define pcre2_compile_context_copy_8 php_pcre2_compile_context_copy #define pcre2_compile_context_create_8 php_pcre2_compile_context_create #define pcre2_compile_context_free_8 php_pcre2_compile_context_free #define pcre2_config_8 php_pcre2_config #define pcre2_convert_context_copy_8 php_pcre2_convert_context_copy #define pcre2_convert_context_create_8 php_pcre2_convert_context_create #define pcre2_convert_context_free_8 php_pcre2_convert_context_free #define pcre2_dfa_match_8 php_pcre2_dfa_match #define pcre2_general_context_copy_8 php_pcre2_general_context_copy #define pcre2_general_context_create_8 php_pcre2_general_context_create #define pcre2_general_context_free_8 php_pcre2_general_context_free #define pcre2_get_error_message_8 php_pcre2_get_error_message #define pcre2_get_mark_8 php_pcre2_get_mark #define pcre2_get_ovector_pointer_8 php_pcre2_get_ovector_pointer #define pcre2_get_ovector_count_8 php_pcre2_get_ovector_count #define pcre2_get_startchar_8 php_pcre2_get_startchar #define pcre2_jit_compile_8 php_pcre2_jit_compile #define pcre2_jit_match_8 php_pcre2_jit_match #define pcre2_jit_free_unused_memory_8 php_pcre2_jit_free_unused_memory #define pcre2_jit_stack_assign_8 php_pcre2_jit_stack_assign #define pcre2_jit_stack_create_8 php_pcre2_jit_stack_create #define pcre2_jit_stack_free_8 php_pcre2_jit_stack_free #define pcre2_maketables_8 php_pcre2_maketables #define pcre2_match_8 php_pcre2_match #define pcre2_match_context_copy_8 php_pcre2_match_context_copy #define pcre2_match_context_create_8 php_pcre2_match_context_create #define pcre2_match_context_free_8 php_pcre2_match_context_free #define pcre2_match_data_create_8 php_pcre2_match_data_create #define pcre2_match_data_create_from_pattern_8 php_pcre2_match_data_create_from_pattern #define pcre2_match_data_free_8 php_pcre2_match_data_free #define pcre2_pattern_info_8 php_pcre2_pattern_info #define pcre2_serialize_decode_8 php_pcre2_serialize_decode #define pcre2_serialize_encode_8 php_pcre2_serialize_encode #define pcre2_serialize_free_8 php_pcre2_serialize_free #define pcre2_serialize_get_number_of_codes_8 php_pcre2_serialize_get_number_of_codes #define pcre2_set_bsr_8 php_pcre2_set_bsr #define pcre2_set_callout_8 php_pcre2_set_callout #define pcre2_set_character_tables_8 php_pcre2_set_character_tables #define pcre2_set_compile_extra_options_8 php_pcre2_set_compile_extra_options #define pcre2_set_compile_recursion_guard_8 php_pcre2_set_compile_recursion_guard #define pcre2_set_depth_limit_8 php_pcre2_set_depth_limit #define pcre2_set_glob_escape_8 php_pcre2_set_glob_escape #define pcre2_set_glob_separator_8 php_pcre2_set_glob_separator #define pcre2_set_heap_limit_8 php_pcre2_set_heap_limit #define pcre2_set_match_limit_8 php_pcre2_set_match_limit #define pcre2_set_max_pattern_length_8 php_pcre2_set_max_pattern_length #define pcre2_set_newline_8 php_pcre2_set_newline #define pcre2_set_parens_nest_limit_8 php_pcre2_set_parens_nest_limit #define pcre2_set_offset_limit_8 php_pcre2_set_offset_limit #define pcre2_substitute_8 php_pcre2_substitute #define pcre2_substring_copy_byname_8 php_pcre2_substring_copy_byname #define pcre2_substring_copy_bynumber_8 php_pcre2_substring_copy_bynumber #define pcre2_substring_free_8 php_pcre2_substring_free #define pcre2_substring_get_byname_8 php_pcre2_substring_get_byname #define pcre2_substring_get_bynumber_8 php_pcre2_substring_get_bynumber #define pcre2_substring_length_byname_8 php_pcre2_substring_length_byname #define pcre2_substring_length_bynumber_8 php_pcre2_substring_length_bynumber #define pcre2_substring_list_get_8 php_pcre2_substring_list_get #define pcre2_substring_list_free_8 php_pcre2_substring_list_free #define pcre2_substring_nametable_scan_8 php_pcre2_substring_nametable_scan #define pcre2_substring_number_from_name_8 php_pcre2_substring_number_from_name #define pcre2_set_recursion_limit_8 php_pcre2_set_recursion_limit #define pcre2_set_recursion_memory_management_8 php_pcre2_set_recursion_memory_management #endif #define lookup php_lookup #define hashTableInit php_hashTableInit #define hashTableDestroy php_hashTableDestroy #define hashTableIterInit php_hashTableIterInit #define hashTableIterNext php_hashTableIterNext #if defined(HAVE_LIBXML) && (defined(HAVE_XML) || defined(HAVE_XMLRPC)) && !defined(HAVE_LIBEXPAT) #define XML_DefaultCurrent php_XML_DefaultCurrent #define XML_ErrorString php_XML_ErrorString #define XML_ExpatVersion php_XML_ExpatVersion #define XML_ExpatVersionInfo php_XML_ExpatVersionInfo #define XML_ExternalEntityParserCreate php_XML_ExternalEntityParserCreate #define XML_GetBase php_XML_GetBase #define XML_GetBuffer php_XML_GetBuffer #define XML_GetCurrentByteCount php_XML_GetCurrentByteCount #define XML_GetCurrentByteIndex php_XML_GetCurrentByteIndex #define XML_GetCurrentColumnNumber php_XML_GetCurrentColumnNumber #define XML_GetCurrentLineNumber php_XML_GetCurrentLineNumber #define XML_GetErrorCode php_XML_GetErrorCode #define XML_GetIdAttributeIndex php_XML_GetIdAttributeIndex #define XML_GetInputContext php_XML_GetInputContext #define XML_GetSpecifiedAttributeCount php_XML_GetSpecifiedAttributeCount #define XmlGetUtf16InternalEncodingNS php_XmlGetUtf16InternalEncodingNS #define XmlGetUtf16InternalEncoding php_XmlGetUtf16InternalEncoding #define XmlGetUtf8InternalEncodingNS php_XmlGetUtf8InternalEncodingNS #define XmlGetUtf8InternalEncoding php_XmlGetUtf8InternalEncoding #define XmlInitEncoding php_XmlInitEncoding #define XmlInitEncodingNS php_XmlInitEncodingNS #define XmlInitUnknownEncoding php_XmlInitUnknownEncoding #define XmlInitUnknownEncodingNS php_XmlInitUnknownEncodingNS #define XML_ParseBuffer php_XML_ParseBuffer #define XML_Parse php_XML_Parse #define XML_ParserCreate_MM php_XML_ParserCreate_MM #define XML_ParserCreateNS php_XML_ParserCreateNS #define XML_ParserCreate php_XML_ParserCreate #define XML_ParserFree php_XML_ParserFree #define XmlParseXmlDecl php_XmlParseXmlDecl #define XmlParseXmlDeclNS php_XmlParseXmlDeclNS #define XmlPrologStateInitExternalEntity php_XmlPrologStateInitExternalEntity #define XmlPrologStateInit php_XmlPrologStateInit #define XML_SetAttlistDeclHandler php_XML_SetAttlistDeclHandler #define XML_SetBase php_XML_SetBase #define XML_SetCdataSectionHandler php_XML_SetCdataSectionHandler #define XML_SetCharacterDataHandler php_XML_SetCharacterDataHandler #define XML_SetCommentHandler php_XML_SetCommentHandler #define XML_SetDefaultHandlerExpand php_XML_SetDefaultHandlerExpand #define XML_SetDefaultHandler php_XML_SetDefaultHandler #define XML_SetDoctypeDeclHandler php_XML_SetDoctypeDeclHandler #define XML_SetElementDeclHandler php_XML_SetElementDeclHandler #define XML_SetElementHandler php_XML_SetElementHandler #define XML_SetEncoding php_XML_SetEncoding #define XML_SetEndCdataSectionHandler php_XML_SetEndCdataSectionHandler #define XML_SetEndDoctypeDeclHandler php_XML_SetEndDoctypeDeclHandler #define XML_SetEndElementHandler php_XML_SetEndElementHandler #define XML_SetEndNamespaceDeclHandler php_XML_SetEndNamespaceDeclHandler #define XML_SetEntityDeclHandler php_XML_SetEntityDeclHandler #define XML_SetExternalEntityRefHandlerArg php_XML_SetExternalEntityRefHandlerArg #define XML_SetExternalEntityRefHandler php_XML_SetExternalEntityRefHandler #define XML_SetNamespaceDeclHandler php_XML_SetNamespaceDeclHandler #define XML_SetNotationDeclHandler php_XML_SetNotationDeclHandler #define XML_SetNotStandaloneHandler php_XML_SetNotStandaloneHandler #define XML_SetParamEntityParsing php_XML_SetParamEntityParsing #define XML_SetProcessingInstructionHandler php_XML_SetProcessingInstructionHandler #define XML_SetReturnNSTriplet php_XML_SetReturnNSTriplet #define XML_SetStartCdataSectionHandler php_XML_SetStartCdataSectionHandler #define XML_SetStartDoctypeDeclHandler php_XML_SetStartDoctypeDeclHandler #define XML_SetStartElementHandler php_XML_SetStartElementHandler #define XML_SetStartNamespaceDeclHandler php_XML_SetStartNamespaceDeclHandler #define XML_SetUnknownEncodingHandler php_XML_SetUnknownEncodingHandler #define XML_SetUnparsedEntityDeclHandler php_XML_SetUnparsedEntityDeclHandler #define XML_SetUserData php_XML_SetUserData #define XML_SetXmlDeclHandler php_XML_SetXmlDeclHandler #define XmlSizeOfUnknownEncoding php_XmlSizeOfUnknownEncoding #define XML_UseParserAsHandlerArg php_XML_UseParserAsHandlerArg #define XmlUtf16Encode php_XmlUtf16Encode #define XmlUtf8Encode php_XmlUtf8Encode #define XML_FreeContentModel php_XML_FreeContentModel #define XML_MemMalloc php_XML_MemMalloc #define XML_MemRealloc php_XML_MemRealloc #define XML_MemFree php_XML_MemFree #define XML_UseForeignDTD php_XML_UseForeignDTD #define XML_GetFeatureList php_XML_GetFeatureList #define XML_ParserReset php_XML_ParserReset #ifdef HAVE_GD_BUNDLED #define any2eucjp php_gd_any2eucjp #define createwbmp php_gd_createwbmp #define empty_output_buffer php_gd_empty_output_buffer #define fill_input_buffer php_gd_fill_input_buffer #define freewbmp php_gd_freewbmp #define gdAlphaBlend php_gd_gdAlphaBlend #define gdCompareInt php_gd_gdCompareInt #define gdCosT php_gd_gdCosT #define gdCtxPrintf php_gd_gdCtxPrintf #define gdDPExtractData php_gd_gdDPExtractData #define gdFontGetGiant php_gd_gdFontGetGiant #define gdFontGetLarge php_gd_gdFontGetLarge #define gdFontGetMediumBold php_gd_gdFontGetMediumBold #define gdFontGetSmall php_gd_gdFontGetSmall #define gdFontGetTiny php_gd_gdFontGetTiny #define gdFontGiant php_gd_gdFontGiant #define gdFontGiantData php_gd_gdFontGiantData #define gdFontGiantRep php_gd_gdFontGiantRep #define gdFontLarge php_gd_gdFontLarge #define gdFontLargeData php_gd_gdFontLargeData #define gdFontLargeRep php_gd_gdFontLargeRep #define gdFontMediumBold php_gd_gdFontMediumBold #define gdFontMediumBoldData php_gd_gdFontMediumBoldData #define gdFontMediumBoldRep php_gd_gdFontMediumBoldRep #define gdFontSmall php_gd_gdFontSmall #define gdFontSmallData php_gd_gdFontSmallData #define gdFontSmallRep php_gd_gdFontSmallRep #define gdFontTiny php_gd_gdFontTiny #define gdFontTinyData php_gd_gdFontTinyData #define gdFontTinyRep php_gd_gdFontTinyRep #define gdGetBuf php_gd_gdGetBuf #define gdGetByte php_gd_gdGetByte #define gdGetC php_gd_gdGetC #define _gdGetColors php_gd__gdGetColors #define gd_getin php_gd_gd_getin #define gdGetInt php_gd_gdGetInt #define gdGetWord php_gd_gdGetWord #define gdImageAABlend php_gd_gdImageAABlend #define gdImageAALine php_gd_gdImageAALine #define gdImageAlphaBlending php_gd_gdImageAlphaBlending #define gdImageAntialias php_gd_gdImageAntialias #define gdImageArc php_gd_gdImageArc #define gdImageBrightness php_gd_gdImageBrightness #define gdImageChar php_gd_gdImageChar #define gdImageCharUp php_gd_gdImageCharUp #define gdImageColor php_gd_gdImageColor #define gdImageColorAllocate php_gd_gdImageColorAllocate #define gdImageColorAllocateAlpha php_gd_gdImageColorAllocateAlpha #define gdImageColorClosest php_gd_gdImageColorClosest #define gdImageColorClosestAlpha php_gd_gdImageColorClosestAlpha #define gdImageColorClosestHWB php_gd_gdImageColorClosestHWB #define gdImageColorDeallocate php_gd_gdImageColorDeallocate #define gdImageColorExact php_gd_gdImageColorExact #define gdImageColorExactAlpha php_gd_gdImageColorExactAlpha #define gdImageColorMatch php_gd_gdImageColorMatch #define gdImageColorResolve php_gd_gdImageColorResolve #define gdImageColorResolveAlpha php_gd_gdImageColorResolveAlpha #define gdImageColorTransparent php_gd_gdImageColorTransparent #define gdImageCompare php_gd_gdImageCompare #define gdImageContrast php_gd_gdImageContrast #define gdImageConvolution php_gd_gdImageConvolution #define gdImageCopy php_gd_gdImageCopy #define gdImageCopyMerge php_gd_gdImageCopyMerge #define gdImageCopyMergeGray php_gd_gdImageCopyMergeGray #define gdImageCopyResampled php_gd_gdImageCopyResampled #define gdImageCopyResized php_gd_gdImageCopyResized #define gdImageCreate php_gd_gdImageCreate #define gdImageCreateFromGd php_gd_gdImageCreateFromGd #define gdImageCreateFromGd2 php_gd_gdImageCreateFromGd2 #define gdImageCreateFromGd2Ctx php_gd_gdImageCreateFromGd2Ctx #define gdImageCreateFromGd2Part php_gd_gdImageCreateFromGd2Part #define gdImageCreateFromGd2PartCtx php_gd_gdImageCreateFromGd2PartCtx #define gdImageCreateFromGd2PartPtr php_gd_gdImageCreateFromGd2PartPtr #define gdImageCreateFromGd2Ptr php_gd_gdImageCreateFromGd2Ptr #define gdImageCreateFromGdCtx php_gd_gdImageCreateFromGdCtx #define gdImageCreateFromGdPtr php_gd_gdImageCreateFromGdPtr #define gdImageCreateFromGif php_gd_gdImageCreateFromGif #define gdImageCreateFromGifCtx php_gd_gdImageCreateFromGifCtx #define gdImageCreateFromGifSource php_gd_gdImageCreateFromGifSource #define gdImageCreateFromJpeg php_gd_gdImageCreateFromJpeg #define gdImageCreateFromJpegCtx php_gd_gdImageCreateFromJpegCtx #define gdImageCreateFromJpegPtr php_gd_gdImageCreateFromJpegPtr #define gdImageCreateFromPng php_gd_gdImageCreateFromPng #define gdImageCreateFromPngCtx php_gd_gdImageCreateFromPngCtx #define gdImageCreateFromPngPtr php_gd_gdImageCreateFromPngPtr #define gdImageCreateFromPngSource php_gd_gdImageCreateFromPngSource #define gdImageCreateFromWBMP php_gd_gdImageCreateFromWBMP #define gdImageCreateFromWBMPCtx php_gd_gdImageCreateFromWBMPCtx #define gdImageCreateFromWBMPPtr php_gd_gdImageCreateFromWBMPPtr #define gdImageCreateFromXbm php_gd_gdImageCreateFromXbm #define gdImageCreatePaletteFromTrueColor php_gd_gdImageCreatePaletteFromTrueColor #define gdImageCreateTrueColor php_gd_gdImageCreateTrueColor #define gdImageDashedLine php_gd_gdImageDashedLine #define gdImageDestroy php_gd_gdImageDestroy #define gdImageEdgeDetectQuick php_gd_gdImageEdgeDetectQuick #define gdImageEllipse php_gd_gdImageEllipse #define gdImageEmboss php_gd_gdImageEmboss #define gdImageFill php_gd_gdImageFill #define gdImageFilledArc php_gd_gdImageFilledArc #define gdImageFilledEllipse php_gd_gdImageFilledEllipse #define gdImageFilledPolygon php_gd_gdImageFilledPolygon #define gdImageFilledRectangle php_gd_gdImageFilledRectangle #define _gdImageFillTiled php_gd__gdImageFillTiled #define gdImageFillToBorder php_gd_gdImageFillToBorder #define gdImageGaussianBlur php_gd_gdImageGaussianBlur #define gdImageGd php_gd_gdImageGd #define gdImageGd2 php_gd_gdImageGd2 #define gdImageGd2Ptr php_gd_gdImageGd2Ptr #define gdImageGdPtr php_gd_gdImageGdPtr #define gdImageGetClip php_gd_gdImageGetClip #define gdImageGetPixel php_gd_gdImageGetPixel #define gdImageGetTrueColorPixel php_gd_gdImageGetTrueColorPixel #define gdImageGif php_gd_gdImageGif #define gdImageGifCtx php_gd_gdImageGifCtx #define gdImageGifPtr php_gd_gdImageGifPtr #define gdImageGrayScale php_gd_gdImageGrayScale #define gdImageInterlace php_gd_gdImageInterlace #define gdImageJpeg php_gd_gdImageJpeg #define gdImageJpegCtx php_gd_gdImageJpegCtx #define gdImageJpegPtr php_gd_gdImageJpegPtr #define gdImageLine php_gd_gdImageLine #define gdImageMeanRemoval php_gd_gdImageMeanRemoval #define gdImageNegate php_gd_gdImageNegate #define gdImagePaletteCopy php_gd_gdImagePaletteCopy #define gdImagePng php_gd_gdImagePng #define gdImagePngCtx php_gd_gdImagePngCtx #define gdImagePngCtxEx php_gd_gdImagePngCtxEx #define gdImagePngEx php_gd_gdImagePngEx #define gdImagePngPtr php_gd_gdImagePngPtr #define gdImagePngPtrEx php_gd_gdImagePngPtrEx #define gdImagePngToSink php_gd_gdImagePngToSink #define gdImagePolygon php_gd_gdImagePolygon #define gdImageRectangle php_gd_gdImageRectangle #define gdImageRotate php_gd_gdImageRotate #define gdImageRotate180 php_gd_gdImageRotate180 #define gdImageRotate270 php_gd_gdImageRotate270 #define gdImageRotate45 php_gd_gdImageRotate45 #define gdImageRotate90 php_gd_gdImageRotate90 #define gdImageSaveAlpha php_gd_gdImageSaveAlpha #define gdImageSelectiveBlur php_gd_gdImageSelectiveBlur #define gdImageSetAntiAliased php_gd_gdImageSetAntiAliased #define gdImageSetAntiAliasedDontBlend php_gd_gdImageSetAntiAliasedDontBlend #define gdImageSetBrush php_gd_gdImageSetBrush #define gdImageSetClip php_gd_gdImageSetClip #define gdImageSetPixel php_gd_gdImageSetPixel #define gdImageSetStyle php_gd_gdImageSetStyle #define gdImageSetThickness php_gd_gdImageSetThickness #define gdImageSetTile php_gd_gdImageSetTile #define gdImageSkewX php_gd_gdImageSkewX #define gdImageSkewY php_gd_gdImageSkewY #define gdImageSmooth php_gd_gdImageSmooth #define gdImageString php_gd_gdImageString #define gdImageString16 php_gd_gdImageString16 #define gdImageStringFT php_gd_gdImageStringFT #define gdImageStringFTEx php_gd_gdImageStringFTEx #define gdImageStringTTF php_gd_gdImageStringTTF #define gdImageStringUp php_gd_gdImageStringUp #define gdImageStringUp16 php_gd_gdImageStringUp16 #define gdImageTrueColorToPalette php_gd_gdImageTrueColorToPalette #define gdImageWBMP php_gd_gdImageWBMP #define gdImageWBMPCtx php_gd_gdImageWBMPCtx #define gdImageWBMPPtr php_gd_gdImageWBMPPtr #define gdImageXbmCtx php_gd_gdImageXbmCtx #define gdNewDynamicCtx php_gd_gdNewDynamicCtx #define gdNewDynamicCtxEx php_gd_gdNewDynamicCtxEx #define gdNewFileCtx php_gd_gdNewFileCtx #define gdNewSSCtx php_gd_gdNewSSCtx #define gdPutBuf php_gd_gdPutBuf #define gdPutC php_gd_gdPutC #define _gdPutColors php_gd__gdPutColors #define gdPutInt php_gd_gdPutInt #define gd_putout php_gd_gd_putout #define gdPutWord php_gd_gdPutWord #define gdSeek php_gd_gdSeek #define gdSinT php_gd_gdSinT #define gd_strtok_r php_gd_gd_strtok_r #define gdTell php_gd_gdTell #define getmbi php_gd_getmbi #define init_destination php_gd_init_destination #define init_source php_gd_init_source #define jpeg_gdIOCtx_dest php_gd_jpeg_gdIOCtx_dest #define jpeg_gdIOCtx_src php_gd_jpeg_gdIOCtx_src #define lsqrt php_gd_lsqrt #define printwbmp php_gd_printwbmp #define Putchar php_gd_Putchar #define putmbi php_gd_putmbi #define Putword php_gd_Putword #define readwbmp php_gd_readwbmp #define skipheader php_gd_skipheader #define skip_input_data php_gd_skip_input_data #define term_destination php_gd_term_destination #define term_source php_gd_term_source #define writewbmp php_gd_writewbmp #define ZeroDataBlock php_gd_ZeroDataBlock #define gdCacheCreate php_gd_gdCacheCreate #define gdCacheDelete php_gd_gdCacheDelete #define gdCacheGet php_gd_gdCacheGet #define gdFontCacheSetup php_gd_gdFontCacheSetup #define gdFontCacheShutdown php_gd_gdFontCacheShutdown #define gdFreeFontCache php_gd_gdFreeFontCache #endif /* HAVE_GD_BUNDLED */ /* Define to specify how much context to retain around the current parse point. */ #define XML_CONTEXT_BYTES 1024 /* Define to make parameter entity parsing functionality available. */ #define XML_DTD 1 /* Define to make XML Namespaces functionality available. */ #define XML_NS 1 #endif #ifdef PHP_EXPORTS #define PCRE_STATIC #endif #endif php_config.h 0000644 00000135246 15004366161 0007046 0 ustar 00 /* main/php_config.h. Generated from php_config.h.in by configure. */ /* main/php_config.h.in. Generated from configure.ac by autoheader. */ #ifndef PHP_CONFIG_H #define PHP_CONFIG_H #if defined(__GNUC__) && __GNUC__ >= 4 # define ZEND_API __attribute__ ((visibility("default"))) # define ZEND_DLEXPORT __attribute__ ((visibility("default"))) #else # define ZEND_API # define ZEND_DLEXPORT #endif #define ZEND_DLIMPORT /* Uses cmsgcred struct */ /* #undef ANC_CREDS_CMSGCRED */ /* Uses ucred struct */ #define ANC_CREDS_UCRED 1 /* build architecture */ /* #undef ARCHITECTURE */ /* */ /* #undef CDB_INCLUDE_FILE */ /* used compiler for build */ /* #undef COMPILER */ /* Whether to build bcmath as dynamic module */ #define COMPILE_DL_BCMATH 1 /* Whether to build bz2 as dynamic module */ /* #undef COMPILE_DL_BZ2 */ /* Whether to build calendar as dynamic module */ /* #undef COMPILE_DL_CALENDAR */ /* Whether to build ctype as dynamic module */ /* #undef COMPILE_DL_CTYPE */ /* Whether to build curl as dynamic module */ /* #undef COMPILE_DL_CURL */ /* Whether to build date as dynamic module */ /* #undef COMPILE_DL_DATE */ /* Whether to build dba as dynamic module */ #define COMPILE_DL_DBA 1 /* Whether to build dom as dynamic module */ #define COMPILE_DL_DOM 1 /* Whether to build enchant as dynamic module */ #define COMPILE_DL_ENCHANT 1 /* Whether to build exif as dynamic module */ /* #undef COMPILE_DL_EXIF */ /* Whether to build ffi as dynamic module */ #define COMPILE_DL_FFI 1 /* Whether to build fileinfo as dynamic module */ #define COMPILE_DL_FILEINFO 1 /* Whether to build filter as dynamic module */ /* #undef COMPILE_DL_FILTER */ /* Whether to build ftp as dynamic module */ /* #undef COMPILE_DL_FTP */ /* Whether to build gd as dynamic module */ #define COMPILE_DL_GD 1 /* Whether to build gettext as dynamic module */ /* #undef COMPILE_DL_GETTEXT */ /* Whether to build gmp as dynamic module */ /* #undef COMPILE_DL_GMP */ /* Whether to build hash as dynamic module */ /* #undef COMPILE_DL_HASH */ /* Whether to build iconv as dynamic module */ /* #undef COMPILE_DL_ICONV */ /* Whether to build imap as dynamic module */ #define COMPILE_DL_IMAP 1 /* Whether to build intl as dynamic module */ #define COMPILE_DL_INTL 1 /* Whether to build json as dynamic module */ /* #undef COMPILE_DL_JSON */ /* Whether to build ldap as dynamic module */ #define COMPILE_DL_LDAP 1 /* Whether to build libxml as dynamic module */ /* #undef COMPILE_DL_LIBXML */ /* Whether to build mbstring as dynamic module */ #define COMPILE_DL_MBSTRING 1 /* Whether to build mysqli as dynamic module */ #define COMPILE_DL_MYSQLI 1 /* Whether to build mysqlnd as dynamic module */ #define COMPILE_DL_MYSQLND 1 /* Whether to build oci8 as dynamic module */ /* #undef COMPILE_DL_OCI8 */ /* Whether to build odbc as dynamic module */ #define COMPILE_DL_ODBC 1 /* Whether to build opcache as dynamic module */ #define COMPILE_DL_OPCACHE 1 /* Whether to build openssl as dynamic module */ /* #undef COMPILE_DL_OPENSSL */ /* Whether to build pcntl as dynamic module */ /* #undef COMPILE_DL_PCNTL */ /* Whether to build pcre as dynamic module */ /* #undef COMPILE_DL_PCRE */ /* Whether to build pdo as dynamic module */ #define COMPILE_DL_PDO 1 /* Whether to build pdo_dblib as dynamic module */ #define COMPILE_DL_PDO_DBLIB 1 /* Whether to build pdo_firebird as dynamic module */ #define COMPILE_DL_PDO_FIREBIRD 1 /* Whether to build pdo_mysql as dynamic module */ #define COMPILE_DL_PDO_MYSQL 1 /* Whether to build pdo_oci as dynamic module */ #define COMPILE_DL_PDO_OCI 1 /* Whether to build pdo_odbc as dynamic module */ #define COMPILE_DL_PDO_ODBC 1 /* Whether to build pdo_pgsql as dynamic module */ #define COMPILE_DL_PDO_PGSQL 1 /* Whether to build pdo_sqlite as dynamic module */ #define COMPILE_DL_PDO_SQLITE 1 /* Whether to build pgsql as dynamic module */ #define COMPILE_DL_PGSQL 1 /* Whether to build phar as dynamic module */ #define COMPILE_DL_PHAR 1 /* Whether to build phpdbg_webhelper as dynamic module */ /* #undef COMPILE_DL_PHPDBG_WEBHELPER */ /* Whether to build posix as dynamic module */ #define COMPILE_DL_POSIX 1 /* Whether to build pspell as dynamic module */ #define COMPILE_DL_PSPELL 1 /* Whether to build readline as dynamic module */ /* #undef COMPILE_DL_READLINE */ /* Whether to build reflection as dynamic module */ /* #undef COMPILE_DL_REFLECTION */ /* Whether to build session as dynamic module */ /* #undef COMPILE_DL_SESSION */ /* Whether to build shmop as dynamic module */ /* #undef COMPILE_DL_SHMOP */ /* Whether to build simplexml as dynamic module */ /* #undef COMPILE_DL_SIMPLEXML */ /* Whether to build snmp as dynamic module */ #define COMPILE_DL_SNMP 1 /* Whether to build soap as dynamic module */ #define COMPILE_DL_SOAP 1 /* Whether to build sockets as dynamic module */ #define COMPILE_DL_SOCKETS 1 /* Whether to build sodium as dynamic module */ #define COMPILE_DL_SODIUM 1 /* Whether to build spl as dynamic module */ /* #undef COMPILE_DL_SPL */ /* Whether to build sqlite3 as dynamic module */ /* #undef COMPILE_DL_SQLITE3 */ /* Whether to build standard as dynamic module */ /* #undef COMPILE_DL_STANDARD */ /* Whether to build sysvmsg as dynamic module */ #define COMPILE_DL_SYSVMSG 1 /* Whether to build sysvsem as dynamic module */ #define COMPILE_DL_SYSVSEM 1 /* Whether to build sysvshm as dynamic module */ #define COMPILE_DL_SYSVSHM 1 /* Whether to build tidy as dynamic module */ #define COMPILE_DL_TIDY 1 /* Whether to build tokenizer as dynamic module */ /* #undef COMPILE_DL_TOKENIZER */ /* Whether to build xml as dynamic module */ /* #undef COMPILE_DL_XML */ /* Whether to build xmlreader as dynamic module */ #define COMPILE_DL_XMLREADER 1 /* Whether to build xmlwriter as dynamic module */ #define COMPILE_DL_XMLWRITER 1 /* Whether to build xsl as dynamic module */ #define COMPILE_DL_XSL 1 /* Whether to build zend_test as dynamic module */ /* #undef COMPILE_DL_ZEND_TEST */ /* Whether to build zip as dynamic module */ #define COMPILE_DL_ZIP 1 /* Whether to build zlib as dynamic module */ /* #undef COMPILE_DL_ZLIB */ /* */ #define COOKIE_IO_FUNCTIONS_T cookie_io_functions_t /* */ #define COOKIE_SEEKER_USES_OFF64_T 1 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ /* #undef CRAY_STACKSEG_END */ /* Define if crypt_r has uses CRYPTD */ /* #undef CRYPT_R_CRYPTD */ /* Define if struct crypt_data requires _GNU_SOURCE */ /* #undef CRYPT_R_GNU_SOURCE */ /* Define if crypt_r uses struct crypt_data */ #define CRYPT_R_STRUCT_CRYPT_DATA 1 /* Define to 1 if using `alloca.c'. */ /* #undef C_ALLOCA */ /* Define if the target system is darwin */ /* #undef DARWIN */ /* */ /* #undef DB1_INCLUDE_FILE */ /* */ /* #undef DB1_VERSION */ /* */ /* #undef DB2_INCLUDE_FILE */ /* */ /* #undef DB3_INCLUDE_FILE */ /* */ #define DB4_INCLUDE_FILE "/usr/include/db.h" /* */ #define DBA_CDB 1 /* */ #define DBA_CDB_BUILTIN 1 /* */ #define DBA_CDB_MAKE 1 /* */ /* #undef DBA_DB1 */ /* */ /* #undef DBA_DB2 */ /* */ /* #undef DBA_DB3 */ /* */ #define DBA_DB4 1 /* */ /* #undef DBA_DBM */ /* */ #define DBA_FLATFILE 1 /* */ /* #undef DBA_GDBM */ /* */ #define DBA_INIFILE 1 /* */ /* #undef DBA_LMDB */ /* */ /* #undef DBA_NDBM */ /* */ /* #undef DBA_QDBM */ /* */ /* #undef DBA_TCADB */ /* */ /* #undef DBM_INCLUDE_FILE */ /* */ /* #undef DBM_VERSION */ /* */ #define DEFAULT_SHORT_OPEN_TAG "1" /* Whether to enable chroot() function */ /* #undef ENABLE_CHROOT_FUNC */ /* */ /* #undef GDBM_INCLUDE_FILE */ /* Define to 1 if `TIOCGWINSZ' requires <sys/ioctl.h>. */ #define GWINSZ_IN_SYS_IOCTL 1 /* Whether 3 arg set_rebind_proc() */ #define HAVE_3ARG_SETREBINDPROC 1 /* Define when aarch64 CRC32 API is available. */ /* #undef HAVE_AARCH64_CRC32 */ /* */ /* #undef HAVE_ADABAS */ /* Whether you have AI_ALL */ #define HAVE_AI_ALL 1 /* Whether you have AI_IDN */ #define HAVE_AI_IDN 1 /* Whether you have AI_V4MAPPED */ #define HAVE_AI_V4MAPPED 1 /* whether the compiler supports __alignof__ */ #define HAVE_ALIGNOF 1 /* Define to 1 if you have `alloca', as a function or macro. */ #define HAVE_ALLOCA 1 /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). */ #define HAVE_ALLOCA_H 1 /* Define to 1 if you have the `alphasort' function. */ #define HAVE_ALPHASORT 1 /* AppArmor confinement available */ /* #undef HAVE_APPARMOR */ /* Define to 1 if you have the <argon2.h> header file */ #define HAVE_ARGON2LIB 1 /* Define to 1 if you have the <arpa/inet.h> header file. */ #define HAVE_ARPA_INET_H 1 /* Define to 1 if you have the <arpa/nameser.h> header file. */ #define HAVE_ARPA_NAMESER_H 1 /* Define to 1 if you have the `asctime_r' function. */ #define HAVE_ASCTIME_R 1 /* Define if asm goto support */ #define HAVE_ASM_GOTO 1 /* Define to 1 if you have the `asprintf' function. */ #define HAVE_ASPRINTF 1 /* Define to 1 if you have the `atoll' function. */ #define HAVE_ATOLL 1 /* whether the compiler supports __attribute__ ((__aligned__)) */ #define HAVE_ATTRIBUTE_ALIGNED 1 /* Whether you have bcmath */ #define HAVE_BCMATH 1 /* */ #define HAVE_BIND_TEXTDOMAIN_CODESET 1 /* Define if system has broken getcwd */ /* #undef HAVE_BROKEN_GETCWD */ /* Konstantin Chuguev's iconv implementation */ /* #undef HAVE_BSD_ICONV */ /* */ #define HAVE_BUILD_DEFS_H 1 /* Define to 1 if gcc supports __sync_bool_compare_and_swap() a.o. */ #define HAVE_BUILTIN_ATOMIC 1 /* */ #define HAVE_BUNDLED_PCRE 1 /* */ #define HAVE_BZ2 1 /* */ #define HAVE_CALENDAR 1 /* Libzip >= 1.6.0 with zip_register_cancel_callback_with_state function */ #define HAVE_CANCEL_CALLBACK 1 /* Define to 1 if you have the `chroot' function. */ #define HAVE_CHROOT 1 /* Define to 1 if you have the `clearenv' function. */ #define HAVE_CLEARENV 1 /* */ /* #undef HAVE_CLI0CLI_H */ /* */ /* #undef HAVE_CLI0CORE_H */ /* */ /* #undef HAVE_CLI0DEFS_H */ /* */ /* #undef HAVE_CLI0ENV_H */ /* */ /* #undef HAVE_CLI0EXT_H */ /* do we have clock_gettime? */ #define HAVE_CLOCK_GETTIME 1 /* do we have clock_get_time? */ /* #undef HAVE_CLOCK_GET_TIME */ /* */ /* #undef HAVE_CODBC */ /* Define to 1 if you have the <CommonCrypto/CommonRandom.h> header file. */ /* #undef HAVE_COMMONCRYPTO_COMMONRANDOM_H */ /* whether __cpuid_count is available */ #define HAVE_CPUID_COUNT 1 /* Define to 1 if you have the <cpuid.h> header file. */ #define HAVE_CPUID_H 1 /* Define to 1 if you have the `CreateProcess' function. */ /* #undef HAVE_CREATEPROCESS */ /* */ #define HAVE_CRYPT 1 /* Define to 1 if you have the <crypt.h> header file. */ #define HAVE_CRYPT_H 1 /* */ #define HAVE_CRYPT_R 1 /* Define to 1 if you have the `ctermid' function. */ #define HAVE_CTERMID 1 /* Define to 1 if you have the `ctime_r' function. */ #define HAVE_CTIME_R 1 /* */ #define HAVE_CTYPE 1 /* */ #define HAVE_CURL 1 /* Have cURL with old OpenSSL */ /* #undef HAVE_CURL_OLD_OPENSSL */ /* */ #define HAVE_DBA 1 /* Whether you want DBMaker */ /* #undef HAVE_DBMAKER */ /* */ #define HAVE_DCNGETTEXT 1 /* Define to 1 if you have the declaration of `arc4random_buf', and to 0 if you don't. */ #define HAVE_DECL_ARC4RANDOM_BUF 0 /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ /* #undef HAVE_DECL_TZNAME */ /* do we have /dev/poll? */ /* #undef HAVE_DEVPOLL */ /* Define if the target system has /dev/urandom device */ #define HAVE_DEV_URANDOM 1 /* Define to 1 if you have the <dirent.h> header file. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the <dlfcn.h> header file. */ #define HAVE_DLFCN_H 1 /* */ #define HAVE_DLOPEN 1 /* */ #define HAVE_DLSYM 1 /* Whether you have dmalloc */ /* #undef HAVE_DMALLOC */ /* */ #define HAVE_DNGETTEXT 1 /* Define to 1 if you have the <dns.h> header file. */ /* #undef HAVE_DNS_H */ /* */ /* #undef HAVE_DNS_SEARCH */ /* */ #define HAVE_DN_EXPAND 1 /* */ #define HAVE_DN_SKIPNAME 1 /* */ #define HAVE_DOM 1 /* Whether to enable DTrace support */ /* #undef HAVE_DTRACE */ /* */ /* #undef HAVE_EMPRESS */ /* */ #define HAVE_ENCHANT 1 /* enchant_broker_set_param since 1.5.0 and removed in 2.x */ #define HAVE_ENCHANT_BROKER_SET_PARAM 1 /* enchant_get_version since 1.6.0 */ #define HAVE_ENCHANT_GET_VERSION 1 /* Libzip >= 1.2.0 with encryption support */ #define HAVE_ENCRYPTION 1 /* do we have epoll? */ #define HAVE_EPOLL 1 /* */ /* #undef HAVE_ESOOB */ /* Whether you want EXIF (metadata from images) support */ #define HAVE_EXIF 1 /* Define to 1 if you have the `explicit_bzero' function. */ #define HAVE_EXPLICIT_BZERO 1 /* Define to 1 if you have the `explicit_memset' function. */ /* #undef HAVE_EXPLICIT_MEMSET */ /* Define to 1 if you have the `fabsf' function. */ /* #undef HAVE_FABSF */ /* Define to 1 if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 /* Have ffi support */ #define HAVE_FFI 1 /* Whether libffi supports fastcall calling convention */ #define HAVE_FFI_FASTCALL 1 /* Whether libffi supports ms_cdecl calling convention */ /* #undef HAVE_FFI_MS_CDECL */ /* Whether libffi supports pascal calling convention */ /* #undef HAVE_FFI_PASCAL */ /* Whether libffi supports register calling convention */ /* #undef HAVE_FFI_REGISTER */ /* Whether libffi supports stdcall calling convention */ #define HAVE_FFI_STDCALL 1 /* Whether libffi supports sysv calling convention */ #define HAVE_FFI_SYSV 1 /* Whether libffi supports thiscall calling convention */ #define HAVE_FFI_THISCALL 1 /* Define to 1 if you have the `flock' function. */ #define HAVE_FLOCK 1 /* Define to 1 if you have the `floorf' function. */ /* #undef HAVE_FLOORF */ /* Define if flush should be called explicitly after a buffered io. */ /* #undef HAVE_FLUSHIO */ /* Define to 1 if your system has a working POSIX `fnmatch' function. */ #define HAVE_FNMATCH 1 /* */ #define HAVE_FOPENCOOKIE 1 /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* do we have acl support? */ /* #undef HAVE_FPM_ACL */ /* whether fpsetprec is present and usable */ /* #undef HAVE_FPSETPREC */ /* whether FPU control word can be manipulated by inline assembler */ #define HAVE_FPU_INLINE_ASM_X86 1 /* Define to 1 if you have the `ftok' function. */ #define HAVE_FTOK 1 /* Whether you want FTP support */ #define HAVE_FTP 1 /* Whether FTP over SSL is supported */ #define HAVE_FTP_SSL 1 /* Define to 1 if the system has the `ifunc' function attribute */ #define HAVE_FUNC_ATTRIBUTE_IFUNC 1 /* Define to 1 if the system has the `target' function attribute */ /* #undef HAVE_FUNC_ATTRIBUTE_TARGET */ /* Define to 1 if you have the three-argument form of gethostbyname_r(). */ /* #undef HAVE_FUNC_GETHOSTBYNAME_R_3 */ /* Define to 1 if you have the five-argument form of gethostbyname_r(). */ /* #undef HAVE_FUNC_GETHOSTBYNAME_R_5 */ /* Define to 1 if you have the six-argument form of gethostbyname_r(). */ #define HAVE_FUNC_GETHOSTBYNAME_R_6 1 /* Define to 1 if you have the `funopen' function. */ /* #undef HAVE_FUNOPEN */ /* Define to 1 if you have the `gai_strerror' function. */ #define HAVE_GAI_STRERROR 1 /* Define if the target system has support for global register variables */ #define HAVE_GCC_GLOBAL_REGS 1 /* Whether you have gcov */ /* #undef HAVE_GCOV */ /* */ #define HAVE_GD_BMP 1 /* */ /* #undef HAVE_GD_BUNDLED */ /* */ #define HAVE_GD_FREETYPE 1 /* */ #define HAVE_GD_GET_INTERPOLATION 1 /* */ #define HAVE_GD_JPG 1 /* */ #define HAVE_GD_LIBVERSION 1 /* */ #define HAVE_GD_PNG 1 /* */ #define HAVE_GD_TGA 1 /* */ #define HAVE_GD_WEBP 1 /* */ #define HAVE_GD_XPM 1 /* Define if you have the getaddrinfo function */ #define HAVE_GETADDRINFO 1 /* Define to 1 if you have the `getcwd' function. */ #define HAVE_GETCWD 1 /* Define to 1 if you have the `getgrgid_r' function. */ #define HAVE_GETGRGID_R 1 /* Define to 1 if you have the `getgrnam_r' function. */ #define HAVE_GETGRNAM_R 1 /* Define to 1 if you have the `getgroups' function. */ #define HAVE_GETGROUPS 1 /* */ #define HAVE_GETHOSTBYADDR 1 /* Define to 1 if you have some form of gethostbyname_r(). */ #define HAVE_GETHOSTBYNAME_R 1 /* */ #define HAVE_GETHOSTNAME 1 /* whether getifaddrs is present and usable */ #define HAVE_GETIFADDRS 1 /* Define to 1 if you have the `getloadavg' function. */ #define HAVE_GETLOADAVG 1 /* Define to 1 if you have the `getlogin' function. */ #define HAVE_GETLOGIN 1 /* Define to 1 if you have the `getopt' function. */ #define HAVE_GETOPT 1 /* Define to 1 if you have the `getpgid' function. */ #define HAVE_GETPGID 1 /* Define to 1 if you have the `getpid' function. */ #define HAVE_GETPID 1 /* Define to 1 if you have the `getpriority' function. */ #define HAVE_GETPRIORITY 1 /* Define to 1 if you have the `getprotobyname' function. */ #define HAVE_GETPROTOBYNAME 1 /* Define to 1 if you have the `getprotobynumber' function. */ #define HAVE_GETPROTOBYNUMBER 1 /* Define to 1 if you have the `getpwnam_r' function. */ #define HAVE_GETPWNAM_R 1 /* Define to 1 if you have the `getpwuid_r' function. */ #define HAVE_GETPWUID_R 1 /* Define to 1 if you have the `getrlimit' function. */ #define HAVE_GETRLIMIT 1 /* Define to 1 if you have the `getrusage' function. */ #define HAVE_GETRUSAGE 1 /* Define to 1 if you have the `getservbyname' function. */ #define HAVE_GETSERVBYNAME 1 /* Define to 1 if you have the `getservbyport' function. */ #define HAVE_GETSERVBYPORT 1 /* Define to 1 if you have the `getsid' function. */ #define HAVE_GETSID 1 /* Define to 1 if you have the `gettimeofday' function. */ #define HAVE_GETTIMEOFDAY 1 /* Define to 1 if you have the `getwd' function. */ #define HAVE_GETWD 1 /* glibc's iconv implementation */ #define HAVE_GLIBC_ICONV 1 /* Define to 1 if you have the `glob' function. */ #define HAVE_GLOB 1 /* */ #define HAVE_GMP 1 /* Define to 1 if you have the `gmtime_r' function. */ #define HAVE_GMTIME_R 1 /* Define to 1 if you have the <grp.h> header file. */ #define HAVE_GRP_H 1 /* */ #define HAVE_HISTORY_LIST 1 /* Define to 1 if you have the `hstrerror' function. */ #define HAVE_HSTRERROR 1 /* */ #define HAVE_HTONL 1 /* Define to enable copying PHP CODE pages into HUGE PAGES (experimental) */ #define HAVE_HUGE_CODE_PAGES 1 /* */ /* #undef HAVE_IBMDB2 */ /* IBM iconv implementation */ /* #undef HAVE_IBM_ICONV */ /* */ #define HAVE_ICONV 1 /* Define to 1 if you have the <ieeefp.h> header file. */ /* #undef HAVE_IEEEFP_H */ /* Define to 1 if you have the `if_indextoname' function. */ #define HAVE_IF_INDEXTONAME 1 /* Define to 1 if you have the `if_nametoindex' function. */ #define HAVE_IF_NAMETOINDEX 1 /* */ #define HAVE_IMAP 1 /* */ #define HAVE_IMAP2000 1 /* */ /* #undef HAVE_IMAP2001 */ /* */ #define HAVE_IMAP2004 1 /* */ #define HAVE_IMAP_AUTH_GSS 1 /* Whether IMAP extension has Kerberos support */ #define HAVE_IMAP_KRB 1 /* */ #define HAVE_IMAP_MUTF7 1 /* */ #define HAVE_IMAP_SSL 1 /* Define to 1 if you have the <immintrin.h> header file. */ #define HAVE_IMMINTRIN_H 1 /* */ #define HAVE_INET_ATON 1 /* Define to 1 if you have the `inet_ntoa' function. */ #define HAVE_INET_NTOA 1 /* Define to 1 if you have the `inet_ntop' function. */ #define HAVE_INET_NTOP 1 /* Define to 1 if you have the `inet_pton' function. */ #define HAVE_INET_PTON 1 /* Define to 1 if you have the `initgroups' function. */ #define HAVE_INITGROUPS 1 /* Define to 1 if the system has the type `int16_t'. */ #define HAVE_INT16_T 1 /* Define to 1 if the system has the type `int32_t'. */ #define HAVE_INT32_T 1 /* Define to 1 if the system has the type `int64_t'. */ #define HAVE_INT64_T 1 /* Define to 1 if the system has the type `int8_t'. */ #define HAVE_INT8_T 1 /* Whether intmax_t is available */ #define HAVE_INTMAX_T 1 /* Define to 1 if you have the <inttypes.h> header file. */ #define HAVE_INTTYPES_H 1 /* */ /* #undef HAVE_IODBC */ /* */ /* #undef HAVE_IODBC_H */ /* Define to 1 if you have the <io.h> header file. */ /* #undef HAVE_IO_H */ /* Whether to enable IPv6 support */ #define HAVE_IPV6 1 /* */ /* #undef HAVE_ISQLEXT_H */ /* */ /* #undef HAVE_ISQL_H */ /* Define to enable JIT */ #define HAVE_JIT 1 /* whether to enable JavaScript Object Serialization support */ #define HAVE_JSON 1 /* Define to 1 if you have the `kill' function. */ #define HAVE_KILL 1 /* do we have kqueue? */ /* #undef HAVE_KQUEUE */ /* Define to 1 if you have the <langinfo.h> header file. */ #define HAVE_LANGINFO_H 1 /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* */ #define HAVE_LDAP 1 /* Define to 1 if you have the `ldap_control_find' function. */ #define HAVE_LDAP_CONTROL_FIND 1 /* Define to 1 if you have the `ldap_extended_operation' function. */ #define HAVE_LDAP_EXTENDED_OPERATION 1 /* Define to 1 if you have the `ldap_extended_operation_s' function. */ #define HAVE_LDAP_EXTENDED_OPERATION_S 1 /* Define to 1 if you have the `ldap_parse_extended_result' function. */ #define HAVE_LDAP_PARSE_EXTENDED_RESULT 1 /* Define to 1 if you have the `ldap_parse_reference' function. */ #define HAVE_LDAP_PARSE_REFERENCE 1 /* Define to 1 if you have the `ldap_parse_result' function. */ #define HAVE_LDAP_PARSE_RESULT 1 /* Define to 1 if you have the `ldap_passwd' function. */ #define HAVE_LDAP_PASSWD 1 /* Define to 1 if you have the `ldap_refresh_s' function. */ #define HAVE_LDAP_REFRESH_S 1 /* LDAP SASL support */ #define HAVE_LDAP_SASL 1 /* Define to 1 if you have the `ldap_start_tls_s' function. */ #define HAVE_LDAP_START_TLS_S 1 /* Define to 1 if you have the `ldap_whoami_s' function. */ #define HAVE_LDAP_WHOAMI_S 1 /* */ /* #undef HAVE_LIBBIND */ /* */ /* #undef HAVE_LIBBSD */ /* */ #define HAVE_LIBCRYPT 1 /* */ #define HAVE_LIBDL 1 /* */ /* #undef HAVE_LIBEDIT */ /* */ /* #undef HAVE_LIBEXPAT */ /* */ /* #undef HAVE_LIBFREETYPE */ /* */ #define HAVE_LIBGD 1 /* Whether libiconv is used */ /* #undef HAVE_LIBICONV */ /* */ #define HAVE_LIBINTL 1 /* */ /* #undef HAVE_LIBJPEG */ /* Define to 1 if you have the `m' library (-lm). */ #define HAVE_LIBM 1 /* Whether you have libmm */ /* #undef HAVE_LIBMM */ /* */ /* #undef HAVE_LIBNETWORK */ /* */ /* #undef HAVE_LIBNSL */ /* */ #define HAVE_LIBPAM 1 /* */ /* #undef HAVE_LIBPNG */ /* Define to 1 if you have the `pq' library (-lpq). */ #define HAVE_LIBPQ 1 /* */ /* #undef HAVE_LIBRARYMANAGER_H */ /* */ #define HAVE_LIBREADLINE 1 /* */ #define HAVE_LIBRESOLV 1 /* */ /* #undef HAVE_LIBROOT */ /* */ #define HAVE_LIBRT 1 /* */ /* #undef HAVE_LIBSOCKET */ /* */ #define HAVE_LIBSODIUMLIB 1 /* */ #define HAVE_LIBUTIL 1 /* */ /* #undef HAVE_LIBWEBP */ /* */ #define HAVE_LIBXML 1 /* Libzip >= 1.3.1 with zip_libzip_version function */ #define HAVE_LIBZIP_VERSION 1 /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 /* Define to 1 if the system has the type `long double'. */ #define HAVE_LONG_DOUBLE 1 /* do we have SO_LISTENQxxx? */ /* #undef HAVE_LQ_SO_LISTENQ */ /* do we have TCP_INFO? */ #define HAVE_LQ_TCP_INFO 1 /* LVE support */ #define HAVE_LVE /**/ /* do we have mach_vm_read? */ /* #undef HAVE_MACH_VM_READ */ /* Define to 1 if you have the `makedev' function. */ /* #undef HAVE_MAKEDEV */ /* Define to 1 if you have the <malloc.h> header file. */ #define HAVE_MALLOC_H 1 /* whether to have multibyte regex support */ #define HAVE_MBREGEX 1 /* whether to have multibyte string support */ #define HAVE_MBSTRING 1 /* Define to 1 if you have the `memmem' function. */ #define HAVE_MEMMEM 1 /* Define to 1 if you have the `memmove' function. */ #define HAVE_MEMMOVE 1 /* Define to 1 if you have the <memory.h> header file. */ #define HAVE_MEMORY_H 1 /* Libzip >= 1.7.0 with zip_*_method_supported functions */ #define HAVE_METHOD_SUPPORTED 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have the `mknod' function. */ #define HAVE_MKNOD 1 /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the `mmap' function. */ #define HAVE_MMAP 1 /* Define to 1 if you have the `mprotect' function. */ #define HAVE_MPROTECT 1 /* Define to 1 if you have the `mremap' function. */ #define HAVE_MREMAP 1 /* Whether you have MySQL */ /* #undef HAVE_MYSQL */ /* */ /* #undef HAVE_MYSQLILIB */ /* */ #define HAVE_NANOSLEEP 1 /* Define to 1 if you have the <netinet/in.h> header file. */ #define HAVE_NETINET_IN_H 1 /* Define to 1 if you have the <netinet/tcp.h> header file. */ #define HAVE_NETINET_TCP_H 1 /* Define to 1 if you have the <net/if.h> header file. */ #define HAVE_NET_IF_H 1 /* Whether utf8_mime2text() has new signature */ #define HAVE_NEW_MIME2TEXT 1 /* */ #define HAVE_NGETTEXT 1 /* Define to 1 if you have the `nice' function. */ #define HAVE_NICE 1 /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 /* Define to 1 if you have the <nmmintrin.h> header file. */ #define HAVE_NMMINTRIN_H 1 /* Defined to 1 if the PHP OCI8 extension for Oracle Database is configured */ /* #undef HAVE_OCI8 */ /* Defined to 1 if PHP OCI8 DTrace support was enabled during configuration */ /* #undef HAVE_OCI8_DTRACE */ /* */ #define HAVE_OCIENVCREATE 1 /* */ #define HAVE_OCIENVNLSCREATE 1 /* */ #define HAVE_OCISTMTFETCH2 1 /* Defined to 1 if OCI8 configuration located Oracle's Instant Client libraries */ /* #undef HAVE_OCI_INSTANT_CLIENT */ /* */ /* #undef HAVE_ODBC2 */ /* */ /* #undef HAVE_ODBCSDK_H */ /* */ /* #undef HAVE_ODBC_H */ /* */ #define HAVE_OPENPTY 1 /* Define to 1 if you have the <openssl/crypto.h> header file. */ /* #undef HAVE_OPENSSL_CRYPTO_H */ /* */ #define HAVE_OPENSSL_EXT 1 /* */ /* #undef HAVE_OPROFILE */ /* */ /* #undef HAVE_ORALDAP */ /* */ #define HAVE_PCRE_JIT_SUPPORT 1 /* */ /* #undef HAVE_PCRE_VALGRIND_SUPPORT */ /* */ #define HAVE_PDO_DBLIB 1 /* */ #define HAVE_PDO_FIREBIRD 1 /* Whether to build PostgreSQL for PDO support or not */ #define HAVE_PDO_PGSQL 1 /* Define to 1 if you have the pdo_sqlite extension enabled. */ #define HAVE_PDO_SQLITELIB 1 /* Whether to build PostgreSQL support or not */ #define HAVE_PGSQL 1 /* Whether libpq is compiled with --enable-multibyte */ #define HAVE_PGSQL_WITH_MULTIBYTE_SUPPORT 1 /* PostgreSQL 9.3 or later */ #define HAVE_PG_LO64 1 /* */ #define HAVE_PHPDBG 1 /* */ /* #undef HAVE_PHPDBG_READLINE */ /* */ #define HAVE_PHP_SESSION 1 /* Define to 1 if you have the `poll' function. */ #define HAVE_POLL 1 /* Define to 1 if you have the <poll.h> header file. */ #define HAVE_POLL_H 1 /* do we have port framework? */ /* #undef HAVE_PORT */ /* whether to include POSIX-like functions */ #define HAVE_POSIX 1 /* do we have prctl? */ #define HAVE_PRCTL 1 /* */ #define HAVE_PREAD 1 /* Libzip >= 1.3.0 with zip_register_progress_callback_with_state function */ #define HAVE_PROGRESS_CALLBACK 1 /* */ #define HAVE_PSPELL 1 /* Define to 1 if the PS_STRINGS thing exists. */ /* #undef HAVE_PS_STRINGS */ /* do we have ptrace? */ #define HAVE_PTRACE 1 /* Whether ptrdiff_t is available */ #define HAVE_PTRDIFF_T 1 /* Define to 1 if you have the <pty.h> header file. */ #define HAVE_PTY_H 1 /* Define to 1 if you have the `putenv' function. */ #define HAVE_PUTENV 1 /* Define to 1 if you have the <pwd.h> header file. */ #define HAVE_PWD_H 1 /* */ #define HAVE_PWRITE 1 /* Define to 1 if you have the `RAND_egd' function. */ /* #undef HAVE_RAND_EGD */ /* Define to 1 if you have the <resolv.h> header file. */ #define HAVE_RESOLV_H 1 /* */ /* #undef HAVE_RES_NDESTROY */ /* */ #define HAVE_RES_NSEARCH 1 /* */ #define HAVE_RES_SEARCH 1 /* */ #define HAVE_RFC822_OUTPUT_ADDRESS_LIST 1 /* */ #define HAVE_RL_CALLBACK_READ_CHAR 1 /* */ #define HAVE_RL_COMPLETION_MATCHES 1 /* */ #define HAVE_RL_ON_NEW_LINE 1 /* */ /* #undef HAVE_SAPDB */ /* Whether you have sockaddr_storage.ss_family */ #define HAVE_SA_SS_FAMILY 1 /* Define to 1 if you have the `scandir' function. */ #define HAVE_SCANDIR 1 /* do we have select? */ #define HAVE_SELECT 1 /* */ #define HAVE_SEMUN 0 /* Define to 1 if you have the `setegid' function. */ #define HAVE_SETEGID 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `seteuid' function. */ #define HAVE_SETEUID 1 /* Define to 1 if you have the `setitimer' function. */ #define HAVE_SETITIMER 1 /* Define to 1 if you have the `setpriority' function. */ #define HAVE_SETPRIORITY 1 /* Define to 1 if you have the `setproctitle' function. */ /* #undef HAVE_SETPROCTITLE */ /* Define to 1 if you have the `setproctitle_fast' function. */ /* #undef HAVE_SETPROCTITLE_FAST */ /* Define to 1 if you have the `setrlimit' function. */ #define HAVE_SETRLIMIT 1 /* Define to 1 if you have the `setsid' function. */ #define HAVE_SETSID 1 /* */ /* #undef HAVE_SETSOCKOPT */ /* Libzip >= 1.0.0 with zip_file_set_mtime */ #define HAVE_SET_MTIME 1 /* */ #define HAVE_SHMOP 1 /* Define if you have SysV IPC SHM support */ #define HAVE_SHM_IPC 1 /* Define if you have mmap(MAP_ANON) SHM support */ #define HAVE_SHM_MMAP_ANON 1 /* Define if you have POSIX mmap() SHM support */ #define HAVE_SHM_MMAP_POSIX 1 /* */ #define HAVE_SHM_OPEN 1 /* Define to 1 if you have the `shutdown' function. */ #define HAVE_SHUTDOWN 1 /* */ #define HAVE_SHUTDOWN_SNMP_LOGGING 1 /* Define to 1 if you have the `sigaction' function. */ #define HAVE_SIGACTION 1 /* Define to 1 if you have the `sigprocmask' function. */ #define HAVE_SIGPROCMASK 1 /* Define to 1 if you have the `sigsetjmp' function. */ /* #undef HAVE_SIGSETJMP */ /* Define to 1 if you have the `sigtimedwait' function. */ #define HAVE_SIGTIMEDWAIT 1 /* Define to 1 if you have the `sigwaitinfo' function. */ #define HAVE_SIGWAITINFO 1 /* */ #define HAVE_SIMPLEXML 1 /* Define is hash3 algo is available */ /* #undef HAVE_SLOW_HASH3 */ /* */ #define HAVE_SNMP 1 /* */ #define HAVE_SOAP 1 /* Whether struct sockaddr has field sa_len */ /* #undef HAVE_SOCKADDR_SA_LEN */ /* Whether you have struct sockaddr_storage */ #define HAVE_SOCKADDR_STORAGE 1 /* Define if sockaddr_un in sys/un.h contains a sun_len component */ /* #undef HAVE_SOCKADDR_UN_SUN_LEN */ /* */ #define HAVE_SOCKET 1 /* */ #define HAVE_SOCKETPAIR 1 /* */ #define HAVE_SOCKETS 1 /* Define to 1 if the system has the type `socklen_t'. */ #define HAVE_SOCKLEN_T 1 /* */ /* #undef HAVE_SOLID */ /* */ /* #undef HAVE_SOLID_30 */ /* */ /* #undef HAVE_SOLID_35 */ /* */ /* #undef HAVE_SQLCLI1_H */ /* */ #define HAVE_SQLDATASOURCES 1 /* */ #define HAVE_SQLEXT_H 1 /* Define to 1 if you have the sqlite3 extension enabled. */ #define HAVE_SQLITE3 1 /* have sqlite3_close_v2 */ #define HAVE_SQLITE3_CLOSE_V2 1 /* have sqlite3_column_table_name */ #define HAVE_SQLITE3_COLUMN_TABLE_NAME 1 /* have sqlite3_errstr function */ #define HAVE_SQLITE3_ERRSTR 1 /* have sqlite3_expanded_sql function */ #define HAVE_SQLITE3_EXPANDED_SQL 1 /* */ #define HAVE_SQLTYPES_H 1 /* */ #define HAVE_SQLUCODE_H 1 /* */ /* #undef HAVE_SQLUNIX_H */ /* */ #define HAVE_SQL_H 1 /* Whether ssize_t is available */ #define HAVE_SSIZE_T 1 /* Define to 1 if you have the `statfs' function. */ #define HAVE_STATFS 1 /* Define to 1 if you have the `statvfs' function. */ #define HAVE_STATVFS 1 /* Define to 1 if you have the <stdint.h> header file. */ #define HAVE_STDINT_H 1 /* Define to 1 if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `std_syslog' function. */ /* #undef HAVE_STD_SYSLOG */ /* Define to 1 if you have the `strcasecmp' function. */ #define HAVE_STRCASECMP 1 /* Define to 1 if you have the <strings.h> header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the <string.h> header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strlcat' function. */ /* #undef HAVE_STRLCAT */ /* Define to 1 if you have the `strlcpy' function. */ /* #undef HAVE_STRLCPY */ /* Define to 1 if you have the `strndup' function. */ #define HAVE_STRNDUP 1 /* Define to 1 if you have the `strnlen' function. */ #define HAVE_STRNLEN 1 /* Define to 1 if you have the `strptime' function. */ #define HAVE_STRPTIME 1 /* whether strptime() declaration fails */ #define HAVE_STRPTIME_DECL_FAILS 1 /* Define to 1 if you have the `strtok_r' function. */ #define HAVE_STRTOK_R 1 /* Define to 1 if you have the `strtoll' function. */ #define HAVE_STRTOLL 1 /* whether you have struct flock */ #define HAVE_STRUCT_FLOCK 1 /* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if `st_blocks' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLOCKS 1 /* Define to 1 if `st_rdev' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_RDEV 1 /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 /* Define to 1 if `tm_zone' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_ZONE 1 /* Define to 1 if your `struct stat' has `st_blocks'. Deprecated, use `HAVE_STRUCT_STAT_ST_BLOCKS' instead. */ #define HAVE_ST_BLOCKS 1 /* Define to 1 if you have the `symlink' function. */ #define HAVE_SYMLINK 1 /* do we have sysconf? */ #define HAVE_SYSCONF 1 /* Define to 1 if you have the <sysexits.h> header file. */ #define HAVE_SYSEXITS_H 1 /* Define to 1 if you have the <syslog.h> header file. */ #define HAVE_SYSLOG_H 1 /* FPM use systemd integration */ #define HAVE_SYSTEMD 1 /* Define to 1 if you have the <systemd/sd-daemon.h> header file. */ #define HAVE_SYSTEMD_SD_DAEMON_H 1 /* Define if system timezone data is used */ /* #undef HAVE_SYSTEM_TZDATA */ /* Define for location of system timezone data */ /* #undef HAVE_SYSTEM_TZDATA_PREFIX */ /* */ #define HAVE_SYSVMSG 1 /* */ #define HAVE_SYSVSEM 1 /* */ #define HAVE_SYSVSHM 1 /* Define to 1 if you have the <sys/acl.h> header file. */ /* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the <sys/apparmor.h> header file. */ /* #undef HAVE_SYS_APPARMOR_H */ /* Define to 1 if you have the <sys/file.h> header file. */ #define HAVE_SYS_FILE_H 1 /* Define to 1 if you have the <sys/ioctl.h> header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the <sys/ipc.h> header file. */ #define HAVE_SYS_IPC_H 1 /* Define to 1 if you have the <sys/loadavg.h> header file. */ /* #undef HAVE_SYS_LOADAVG_H */ /* Define to 1 if you have the <sys/mkdev.h> header file. */ /* #undef HAVE_SYS_MKDEV_H */ /* Define to 1 if you have the <sys/mman.h> header file. */ #define HAVE_SYS_MMAN_H 1 /* Define to 1 if you have the <sys/mount.h> header file. */ #define HAVE_SYS_MOUNT_H 1 /* Define to 1 if you have the <sys/param.h> header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the <sys/poll.h> header file. */ #define HAVE_SYS_POLL_H 1 /* Define to 1 if you have the <sys/pstat.h> header file. */ /* #undef HAVE_SYS_PSTAT_H */ /* Define to 1 if you have the <sys/resource.h> header file. */ #define HAVE_SYS_RESOURCE_H 1 /* Define to 1 if you have the <sys/sdt.h> header file. */ /* #undef HAVE_SYS_SDT_H */ /* Define to 1 if you have the <sys/select.h> header file. */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the <sys/socket.h> header file. */ #define HAVE_SYS_SOCKET_H 1 /* Define to 1 if you have the <sys/sockio.h> header file. */ /* #undef HAVE_SYS_SOCKIO_H */ /* Define to 1 if you have the <sys/statfs.h> header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the <sys/statvfs.h> header file. */ #define HAVE_SYS_STATVFS_H 1 /* Define to 1 if you have the <sys/stat.h> header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the <sys/sysexits.h> header file. */ /* #undef HAVE_SYS_SYSEXITS_H */ /* Define to 1 if you have the <sys/sysmacros.h> header file. */ #define HAVE_SYS_SYSMACROS_H 1 /* Define to 1 if you have the <sys/time.h> header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the <sys/types.h> header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the <sys/uio.h> header file. */ #define HAVE_SYS_UIO_H 1 /* Define to 1 if you have the <sys/un.h> header file. */ #define HAVE_SYS_UN_H 1 /* Define to 1 if you have the <sys/utsname.h> header file. */ #define HAVE_SYS_UTSNAME_H 1 /* Define to 1 if you have the <sys/vfs.h> header file. */ #define HAVE_SYS_VFS_H 1 /* Define to 1 if you have the <sys/wait.h> header file. */ #define HAVE_SYS_WAIT_H 1 /* */ #define HAVE_TIDY 1 /* defined if tidybuffio.h exists */ #define HAVE_TIDYBUFFIO_H 1 /* */ #define HAVE_TIDYOPTGETDOC 1 /* defined if tidyp.h exists */ /* #undef HAVE_TIDYP_H */ /* */ #define HAVE_TIDYRELEASEDATE 1 /* defined if tidy.h exists */ #define HAVE_TIDY_H 1 /* Have timelib_config.h */ #define HAVE_TIMELIB_CONFIG_H 1 /* do we have times? */ #define HAVE_TIMES 1 /* Define to 1 if you have the <tmmintrin.h> header file. */ #define HAVE_TMMINTRIN_H 1 /* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use `HAVE_STRUCT_TM_TM_ZONE' instead. */ #define HAVE_TM_ZONE 1 /* Whether you have a working ttyname_r */ #define HAVE_TTYNAME_R 1 /* Define to 1 if you don't have `tm_zone' but do have the external array `tzname'. */ /* #undef HAVE_TZNAME */ /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 /* */ /* #undef HAVE_UDBCEXT_H */ /* Define to 1 if the system has the type `uint16_t'. */ #define HAVE_UINT16_T 1 /* Define to 1 if the system has the type `uint32_t'. */ #define HAVE_UINT32_T 1 /* Define to 1 if the system has the type `uint64_t'. */ #define HAVE_UINT64_T 1 /* Define to 1 if the system has the type `uint8_t'. */ #define HAVE_UINT8_T 1 /* Define to 1 if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 /* */ #define HAVE_UNIXODBC 1 /* Define to 1 if you have the <unix.h> header file. */ /* #undef HAVE_UNIX_H */ /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 /* Define to 1 if you have the `unshare' function. */ #define HAVE_UNSHARE 1 /* */ #define HAVE_UODBC 1 /* Define to 1 if you have the `usleep' function. */ #define HAVE_USLEEP 1 /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the `utimes' function. */ #define HAVE_UTIMES 1 /* Define to 1 if you have the <utime.h> header file. */ #define HAVE_UTIME_H 1 /* Whether struct utsname has domainname */ #define HAVE_UTSNAME_DOMAINNAME 1 /* */ /* #undef HAVE_VALGRIND */ /* Define to 1 if you have the `vasprintf' function. */ #define HAVE_VASPRINTF 1 /* Define to 1 if you have the `wait3' function. */ #define HAVE_WAIT3 1 /* Define to 1 if you have the `wait4' function. */ #define HAVE_WAIT4 1 /* Define to 1 if you have the `waitpid' function. */ #define HAVE_WAITPID 1 /* Define to 1 if you have the <wmmintrin.h> header file. */ #define HAVE_WMMINTRIN_H 1 /* */ #define HAVE_XML 1 /* */ #define HAVE_XMLREADER 1 /* */ #define HAVE_XMLWRITER 1 /* */ /* #undef HAVE_XPM */ /* */ #define HAVE_XSL 1 /* */ #define HAVE_XSL_EXSLT 1 /* */ #define HAVE_ZIP 1 /* */ #define HAVE_ZLIB 1 /* whether _controlfp is present usable */ /* #undef HAVE__CONTROLFP */ /* whether _controlfp_s is present and usable */ /* #undef HAVE__CONTROLFP_S */ /* whether _FPU_SETCW is present and usable */ #define HAVE__FPU_SETCW 1 /* iconv() is aliased to libiconv() in -liconv */ /* #undef ICONV_ALIASED_LIBICONV */ /* Whether iconv supports IGNORE */ #define ICONV_BROKEN_IGNORE 1 /* */ /* #undef JISX0208 */ /* */ /* #undef LMDB_INCLUDE_FILE */ /* Define to the sub-directory where libtool stores uninstalled libraries. */ #define LT_OBJDIR ".libs/" /* Whether asctime_r is declared */ /* #undef MISSING_ASCTIME_R_DECL */ /* Whether ctime_r is declared */ /* #undef MISSING_CTIME_R_DECL */ /* */ #define MISSING_FCLOSE_DECL 0 /* Whether gmtime_r is declared */ /* #undef MISSING_GMTIME_R_DECL */ /* Whether localtime_r is declared */ /* #undef MISSING_LOCALTIME_R_DECL */ /* Whether strtok_r is declared */ /* #undef MISSING_STRTOK_R_DECL */ /* Whether mysqlnd is enabled */ #define MYSQLI_USE_MYSQLND 1 /* Enable compressed protocol support */ #define MYSQLND_COMPRESSION_ENABLED 1 /* Enable mysqlnd code that uses OpenSSL directly */ #define MYSQLND_HAVE_SSL 1 /* Enable core mysqlnd SSL code */ #define MYSQLND_SSL_SUPPORTED 1 /* */ /* #undef NDBM_INCLUDE_FILE */ /* The highest supported ODBC version */ #define ODBCVER 0x0350 /* Define to the address where bug reports for this package should be sent. */ /* #undef PACKAGE_BUGREPORT */ /* Define to the full name of this package. */ /* #undef PACKAGE_NAME */ /* Define to the full name and version of this package. */ /* #undef PACKAGE_STRING */ /* Define to the one symbol short name of this package. */ /* #undef PACKAGE_TARNAME */ /* Define to the home page for this package. */ /* #undef PACKAGE_URL */ /* Define to the version of this package. */ /* #undef PACKAGE_VERSION */ /* */ #define PCRE2_CODE_UNIT_WIDTH 8 /* */ /* #undef PDO_MYSQL_UNIX_ADDR */ /* Whether pdo_mysql uses mysqlnd */ #define PDO_USE_MYSQLND 1 /* */ /* #undef PHAR_HAVE_OPENSSL */ /* */ #define PHPDBG_DEBUG 0 /* build provider */ /* #undef PHP_BUILD_PROVIDER */ /* builder uname output */ #define PHP_BUILD_SYSTEM "Linux buildfarm04-new.corp.cloudlinux.com 4.18.0-553.8.1.el8_10.x86_64 #1 SMP Tue Jul 2 07:26:33 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux" /* Define if your system has fork/vfork/CreateProcess */ #define PHP_CAN_SUPPORT_PROC_OPEN 1 /* fpm group name */ #define PHP_FPM_GROUP "nobody" /* fpm systemd service type */ #define PHP_FPM_SYSTEMD "notify" /* fpm user name */ #define PHP_FPM_USER "nobody" /* Whether the compiler supports __builtin_clz */ #define PHP_HAVE_BUILTIN_CLZ 1 /* Whether the compiler supports __builtin_clzl */ #define PHP_HAVE_BUILTIN_CLZL 1 /* Whether the compiler supports __builtin_clzll */ #define PHP_HAVE_BUILTIN_CLZLL 1 /* Whether the compiler supports __builtin_cpu_init */ #define PHP_HAVE_BUILTIN_CPU_INIT 1 /* Whether the compiler supports __builtin_cpu_supports */ #define PHP_HAVE_BUILTIN_CPU_SUPPORTS 1 /* Whether the compiler supports __builtin_ctzl */ #define PHP_HAVE_BUILTIN_CTZL 1 /* Whether the compiler supports __builtin_ctzll */ #define PHP_HAVE_BUILTIN_CTZLL 1 /* Whether the compiler supports __builtin_expect */ #define PHP_HAVE_BUILTIN_EXPECT 1 /* Whether the compiler supports __builtin_saddll_overflow */ #define PHP_HAVE_BUILTIN_SADDLL_OVERFLOW 1 /* Whether the compiler supports __builtin_saddl_overflow */ #define PHP_HAVE_BUILTIN_SADDL_OVERFLOW 1 /* Whether the compiler supports __builtin_smulll_overflow */ #define PHP_HAVE_BUILTIN_SMULLL_OVERFLOW 1 /* Whether the compiler supports __builtin_smull_overflow */ #define PHP_HAVE_BUILTIN_SMULL_OVERFLOW 1 /* Whether the compiler supports __builtin_ssubll_overflow */ #define PHP_HAVE_BUILTIN_SSUBLL_OVERFLOW 1 /* Whether the compiler supports __builtin_ssubl_overflow */ #define PHP_HAVE_BUILTIN_SSUBL_OVERFLOW 1 /* Whether you have HP-UX 10.x */ /* #undef PHP_HPUX_TIME_R */ /* Which iconv implementation to use */ #define PHP_ICONV_IMPL "glibc" /* Whether you have IRIX-style functions */ /* #undef PHP_IRIX_TIME_R */ /* */ #define PHP_MHASH_BC 1 /* */ #define PHP_MYSQL_UNIX_SOCK_ADDR "/var/lib/mysql/mysql.sock" /* */ /* #undef PHP_OCI8_DEF_DIR */ /* */ /* #undef PHP_OCI8_DEF_SHARED_LIBADD */ /* define to 1 if oniguruma has an invalid entry for KOI8 encoding */ #define PHP_ONIG_BAD_KOI8_ENTRY 1 /* uname output */ #define PHP_OS "Linux" /* */ #define PHP_PDO_OCI_CLIENT_VERSION "21.1" /* whether pread64 is default */ /* #undef PHP_PREAD_64 */ /* whether pwrite64 is default */ /* #undef PHP_PWRITE_64 */ /* */ #define PHP_SIGCHILD 0 /* uname -a output */ #define PHP_UNAME "Linux buildfarm04-new.corp.cloudlinux.com 4.18.0-553.8.1.el8_10.x86_64 #1 SMP Tue Jul 2 07:26:33 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux" /* Whether PHP has to use its own crypt_r for blowfish, des and ext des */ #define PHP_USE_PHP_CRYPT_R 1 /* Use dlopen with RTLD_NOW instead of RTLD_LAZY */ /* #undef PHP_USE_RTLD_NOW */ /* whether write(2) works */ #define PHP_WRITE_STDOUT 1 /* /proc/pid/mem interface */ #define PROC_MEM_FILE "mem" /* Whether to use Pthreads */ /* #undef PTHREADS */ /* */ /* #undef QDBM_INCLUDE_FILE */ /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 /* Size of intmax_t */ #define SIZEOF_INTMAX_T 8 /* The size of `long', as computed by sizeof. */ #define SIZEOF_LONG 8 /* The size of `long long', as computed by sizeof. */ #define SIZEOF_LONG_LONG 8 /* The size of `off_t', as computed by sizeof. */ #define SIZEOF_OFF_T 8 /* Size of ptrdiff_t */ #define SIZEOF_PTRDIFF_T 8 /* The size of `short', as computed by sizeof. */ #define SIZEOF_SHORT 2 /* The size of `size_t', as computed by sizeof. */ #define SIZEOF_SIZE_T 8 /* Size of ssize_t */ #define SIZEOF_SSIZE_T 8 /* have sqlite3 with extension support */ /* #undef SQLITE_OMIT_LOAD_EXTENSION */ /* Needed in sqlunix.h for wchar defs */ /* #undef SS_FBX */ /* Needed in sqlunix.h */ /* #undef SS_LINUX */ /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ /* #undef STACK_DIRECTION */ /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* */ /* #undef TCADB_INCLUDE_FILE */ /* Define to 1 if your <sys/time.h> declares `struct tm'. */ /* #undef TM_IN_SYS_TIME */ /* */ /* #undef USE_GD_JISX0208 */ /* Define if cross-process locking is required by accept() */ /* #undef USE_LOCKING */ /* Use system default cipher list instead of hardcoded value */ /* #undef USE_OPENSSL_SYSTEM_CIPHERS */ /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif /* Define if processor uses big-endian word */ /* #undef WORDS_BIGENDIAN */ /* */ #define ZEND_DEBUG 0 /* */ #define ZEND_MM_ALIGNMENT 8 /* */ #define ZEND_MM_ALIGNMENT_LOG2 3 /* Use zend signal handling */ #define ZEND_SIGNALS 1 /* */ /* #undef ZTS */ /* Define to 1 if on MINIX. */ /* #undef _MINIX */ /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ /* #undef _POSIX_1_SOURCE */ /* Define to 1 if you need to in order for `stat' and other things to work. */ /* #undef _POSIX_SOURCE */ /* Define when using musl libc */ /* #undef __MUSL__ */ /* Define to `int' if <sys/types.h> doesn't define. */ /* #undef gid_t */ /* */ /* #undef in_addr_t */ /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus /* #undef inline */ #endif /* Define to `unsigned int' if <sys/types.h> does not define. */ /* #undef size_t */ /* Define to `int' if <sys/types.h> doesn't define. */ /* #undef uid_t */ #include <stdlib.h> #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #include <string.h> #endif /* PHP_CONFIG_H */ php_content_types.h 0000644 00000002472 15004366161 0010471 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ #ifndef PHP_CONTENT_TYPES_H #define PHP_CONTENT_TYPES_H #define DEFAULT_POST_CONTENT_TYPE "application/x-www-form-urlencoded" SAPI_API SAPI_POST_READER_FUNC(php_default_post_reader); SAPI_API SAPI_POST_HANDLER_FUNC(php_std_post_handler); int php_startup_sapi_content_types(void); int php_setup_sapi_content_types(void); #endif /* PHP_CONTENT_TYPES_H */ php_getopt.h 0000644 00000003207 15004366161 0007072 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Marcus Boerger <helly@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_GETOPT_H #define PHP_GETOPT_H #include "php.h" /* Define structure for one recognized option (both single char and long name). * If short_open is '-' this is the last option. */ typedef struct _opt_struct { char opt_char; int need_param; char * opt_name; } opt_struct; BEGIN_EXTERN_C() /* holds the index of the latest fetched element from the opts array */ extern PHPAPI int php_optidx; PHPAPI int php_getopt(int argc, char* const *argv, const opt_struct opts[], char **optarg, int *optind, int show_err, int arg_start); END_EXTERN_C() /* php_getopt will return this value if there is an error in arguments */ #define PHP_GETOPT_INVALID_ARG (-2) #endif php_globals.h 0000644 00000007706 15004366161 0007223 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski <zeev@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_GLOBALS_H #define PHP_GLOBALS_H #include "zend_globals.h" typedef struct _php_core_globals php_core_globals; #ifdef ZTS # define PG(v) ZEND_TSRMG_FAST(core_globals_offset, php_core_globals *, v) extern PHPAPI int core_globals_id; extern PHPAPI size_t core_globals_offset; #else # define PG(v) (core_globals.v) extern ZEND_API struct _php_core_globals core_globals; #endif /* Error display modes */ #define PHP_DISPLAY_ERRORS_STDOUT 1 #define PHP_DISPLAY_ERRORS_STDERR 2 /* Track vars */ #define TRACK_VARS_POST 0 #define TRACK_VARS_GET 1 #define TRACK_VARS_COOKIE 2 #define TRACK_VARS_SERVER 3 #define TRACK_VARS_ENV 4 #define TRACK_VARS_FILES 5 #define TRACK_VARS_REQUEST 6 struct _php_tick_function_entry; typedef struct _arg_separators { char *output; char *input; } arg_separators; struct _php_core_globals { zend_bool implicit_flush; zend_long output_buffering; zend_bool enable_dl; char *output_handler; char *unserialize_callback_func; zend_long serialize_precision; zend_long memory_limit; zend_long max_input_time; zend_uchar display_errors; zend_bool display_startup_errors; zend_bool log_errors; zend_long log_errors_max_len; zend_bool ignore_repeated_errors; zend_bool ignore_repeated_source; zend_bool report_memleaks; char *error_log; char *doc_root; char *user_dir; char *include_path; char *open_basedir; char *extension_dir; char *php_binary; char *sys_temp_dir; char *upload_tmp_dir; zend_long upload_max_filesize; char *error_append_string; char *error_prepend_string; char *auto_prepend_file; char *auto_append_file; char *input_encoding; char *internal_encoding; char *output_encoding; arg_separators arg_separator; char *variables_order; HashTable rfc1867_protected_variables; short connection_status; zend_bool ignore_user_abort; unsigned char header_is_being_sent; zend_llist tick_functions; zval http_globals[6]; zend_bool expose_php; zend_bool register_argc_argv; zend_bool auto_globals_jit; char *docref_root; char *docref_ext; zend_bool html_errors; zend_bool xmlrpc_errors; zend_long xmlrpc_error_number; zend_bool activated_auto_globals[8]; zend_bool modules_activated; zend_bool file_uploads; zend_bool during_request_startup; zend_bool allow_url_fopen; zend_bool enable_post_data_reading; zend_bool report_zend_debug; int last_error_type; zend_string *last_error_message; char *last_error_file; int last_error_lineno; char *php_sys_temp_dir; char *disable_classes; zend_bool allow_url_include; #ifdef PHP_WIN32 zend_bool com_initialized; #endif zend_long max_input_nesting_level; zend_long max_input_vars; zend_bool in_user_include; char *user_ini_filename; zend_long user_ini_cache_ttl; char *request_order; zend_bool mail_x_header; char *mail_log; zend_bool in_error_log; #ifdef PHP_WIN32 zend_bool windows_show_crt_warning; #endif zend_long syslog_facility; char *syslog_ident; zend_bool have_called_openlog; zend_long syslog_filter; }; #endif /* PHP_GLOBALS_H */ php_ini.h 0000644 00000007035 15004366161 0006352 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski <zeev@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_INI_H #define PHP_INI_H #include "zend_ini.h" BEGIN_EXTERN_C() PHPAPI void config_zval_dtor(zval *zvalue); int php_init_config(void); int php_shutdown_config(void); void php_ini_register_extensions(void); PHPAPI zval *cfg_get_entry_ex(zend_string *name); PHPAPI zval *cfg_get_entry(const char *name, size_t name_length); PHPAPI int cfg_get_long(const char *varname, zend_long *result); PHPAPI int cfg_get_double(const char *varname, double *result); PHPAPI int cfg_get_string(const char *varname, char **result); PHPAPI int php_parse_user_ini_file(const char *dirname, const char *ini_filename, HashTable *target_hash); PHPAPI void php_ini_activate_config(HashTable *source_hash, int modify_type, int stage); PHPAPI int php_ini_has_per_dir_config(void); PHPAPI int php_ini_has_per_host_config(void); PHPAPI void php_ini_activate_per_dir_config(char *path, size_t path_len); PHPAPI void php_ini_activate_per_host_config(const char *host, size_t host_len); PHPAPI HashTable* php_ini_get_configuration_hash(void); END_EXTERN_C() #define PHP_INI_USER ZEND_INI_USER #define PHP_INI_PERDIR ZEND_INI_PERDIR #define PHP_INI_SYSTEM ZEND_INI_SYSTEM #define PHP_INI_ALL ZEND_INI_ALL #define php_ini_entry zend_ini_entry #define PHP_INI_MH ZEND_INI_MH #define PHP_INI_DISP ZEND_INI_DISP #define PHP_INI_BEGIN ZEND_INI_BEGIN #define PHP_INI_END ZEND_INI_END #define PHP_INI_ENTRY3_EX ZEND_INI_ENTRY3_EX #define PHP_INI_ENTRY3 ZEND_INI_ENTRY3 #define PHP_INI_ENTRY2_EX ZEND_INI_ENTRY2_EX #define PHP_INI_ENTRY2 ZEND_INI_ENTRY2 #define PHP_INI_ENTRY1_EX ZEND_INI_ENTRY1_EX #define PHP_INI_ENTRY1 ZEND_INI_ENTRY1 #define PHP_INI_ENTRY_EX ZEND_INI_ENTRY_EX #define PHP_INI_ENTRY ZEND_INI_ENTRY #define STD_PHP_INI_ENTRY STD_ZEND_INI_ENTRY #define STD_PHP_INI_ENTRY_EX STD_ZEND_INI_ENTRY_EX #define STD_PHP_INI_BOOLEAN STD_ZEND_INI_BOOLEAN #define PHP_INI_DISPLAY_ORIG ZEND_INI_DISPLAY_ORIG #define PHP_INI_DISPLAY_ACTIVE ZEND_INI_DISPLAY_ACTIVE #define PHP_INI_STAGE_STARTUP ZEND_INI_STAGE_STARTUP #define PHP_INI_STAGE_SHUTDOWN ZEND_INI_STAGE_SHUTDOWN #define PHP_INI_STAGE_ACTIVATE ZEND_INI_STAGE_ACTIVATE #define PHP_INI_STAGE_DEACTIVATE ZEND_INI_STAGE_DEACTIVATE #define PHP_INI_STAGE_RUNTIME ZEND_INI_STAGE_RUNTIME #define PHP_INI_STAGE_HTACCESS ZEND_INI_STAGE_HTACCESS #define php_ini_boolean_displayer_cb zend_ini_boolean_displayer_cb #define php_ini_color_displayer_cb zend_ini_color_displayer_cb #define php_alter_ini_entry zend_alter_ini_entry #define php_ini_long zend_ini_long #define php_ini_double zend_ini_double #define php_ini_string zend_ini_string #endif /* PHP_INI_H */ php_main.h 0000644 00000004423 15004366161 0006515 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans <andi@php.net> | | Zeev Suraski <zeev@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_MAIN_H #define PHP_MAIN_H #include "zend_globals.h" #include "php_globals.h" #include "SAPI.h" BEGIN_EXTERN_C() PHPAPI int php_request_startup(void); PHPAPI void php_request_shutdown(void *dummy); PHPAPI int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_modules, uint32_t num_additional_modules); PHPAPI void php_module_shutdown(void); PHPAPI int php_module_shutdown_wrapper(sapi_module_struct *sapi_globals); PHPAPI int php_register_extensions(zend_module_entry * const * ptr, int count); PHPAPI int php_execute_script(zend_file_handle *primary_file); PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval *ret); PHPAPI int php_handle_special_queries(void); PHPAPI int php_lint_script(zend_file_handle *file); PHPAPI void php_handle_aborted_connection(void); PHPAPI int php_handle_auth_data(const char *auth); PHPAPI void php_html_puts(const char *str, size_t siz); PHPAPI int php_stream_open_for_zend_ex(const char *filename, zend_file_handle *handle, int mode); /* environment module */ extern int php_init_environ(void); extern int php_shutdown_environ(void); #ifdef ZTS PHPAPI void php_reserve_tsrm_memory(void); PHPAPI int php_tsrm_startup(void); #endif END_EXTERN_C() #endif php_memory_streams.h 0000644 00000006451 15004366161 0010642 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Marcus Boerger <helly@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_MEMORY_STREAM_H #define PHP_MEMORY_STREAM_H #include "php_streams.h" #define PHP_STREAM_MAX_MEM 2 * 1024 * 1024 #define TEMP_STREAM_DEFAULT 0x0 #define TEMP_STREAM_READONLY 0x1 #define TEMP_STREAM_TAKE_BUFFER 0x2 #define TEMP_STREAM_APPEND 0x4 #define php_stream_memory_create(mode) _php_stream_memory_create((mode) STREAMS_CC) #define php_stream_memory_create_rel(mode) _php_stream_memory_create((mode) STREAMS_REL_CC) #define php_stream_memory_open(mode, buf, length) _php_stream_memory_open((mode), (buf), (length) STREAMS_CC) #define php_stream_memory_get_buffer(stream, length) _php_stream_memory_get_buffer((stream), (length) STREAMS_CC) #define php_stream_temp_new() php_stream_temp_create(TEMP_STREAM_DEFAULT, PHP_STREAM_MAX_MEM) #define php_stream_temp_create(mode, max_memory_usage) _php_stream_temp_create((mode), (max_memory_usage) STREAMS_CC) #define php_stream_temp_create_ex(mode, max_memory_usage, tmpdir) _php_stream_temp_create_ex((mode), (max_memory_usage), (tmpdir) STREAMS_CC) #define php_stream_temp_create_rel(mode, max_memory_usage) _php_stream_temp_create((mode), (max_memory_usage) STREAMS_REL_CC) #define php_stream_temp_open(mode, max_memory_usage, buf, length) _php_stream_temp_open((mode), (max_memory_usage), (buf), (length) STREAMS_CC) BEGIN_EXTERN_C() PHPAPI php_stream *_php_stream_memory_create(int mode STREAMS_DC); PHPAPI php_stream *_php_stream_memory_open(int mode, const char *buf, size_t length STREAMS_DC); PHPAPI char *_php_stream_memory_get_buffer(php_stream *stream, size_t *length STREAMS_DC); PHPAPI php_stream *_php_stream_temp_create(int mode, size_t max_memory_usage STREAMS_DC); PHPAPI php_stream *_php_stream_temp_create_ex(int mode, size_t max_memory_usage, const char *tmpdir STREAMS_DC); PHPAPI php_stream *_php_stream_temp_open(int mode, size_t max_memory_usage, const char *buf, size_t length STREAMS_DC); PHPAPI int php_stream_mode_from_str(const char *mode); PHPAPI const char *_php_stream_mode_to_str(int mode); END_EXTERN_C() extern PHPAPI const php_stream_ops php_stream_memory_ops; extern PHPAPI const php_stream_ops php_stream_temp_ops; extern PHPAPI const php_stream_ops php_stream_rfc2397_ops; extern PHPAPI const php_stream_wrapper php_stream_rfc2397_wrapper; #define PHP_STREAM_IS_MEMORY &php_stream_memory_ops #define PHP_STREAM_IS_TEMP &php_stream_temp_ops #endif php_network.h 0000644 00000024206 15004366161 0007263 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Venaas <venaas@uninett.no> | +----------------------------------------------------------------------+ */ #ifndef _PHP_NETWORK_H #define _PHP_NETWORK_H #include <php.h> #ifdef PHP_WIN32 # include "win32/inet.h" #else # undef closesocket # define closesocket close # include <netinet/tcp.h> #endif #ifndef HAVE_SHUTDOWN #undef shutdown #define shutdown(s,n) /* nothing */ #endif #ifdef PHP_WIN32 # ifdef EWOULDBLOCK # undef EWOULDBLOCK # endif # ifdef EINPROGRESS # undef EINPROGRESS # endif # define EWOULDBLOCK WSAEWOULDBLOCK # define EINPROGRESS WSAEWOULDBLOCK # define fsync _commit # define ftruncate(a, b) chsize(a, b) #endif /* defined(PHP_WIN32) */ #ifndef EWOULDBLOCK # define EWOULDBLOCK EAGAIN #endif #ifdef PHP_WIN32 #define php_socket_errno() WSAGetLastError() #else #define php_socket_errno() errno #endif /* like strerror, but caller must efree the returned string, * unless buf is not NULL. * Also works sensibly for win32 */ BEGIN_EXTERN_C() PHPAPI char *php_socket_strerror(long err, char *buf, size_t bufsize); PHPAPI zend_string *php_socket_error_str(long err); END_EXTERN_C() #ifdef HAVE_NETINET_IN_H # include <netinet/in.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #ifdef HAVE_GETHOSTBYNAME_R #include <netdb.h> #endif /* These are here, rather than with the win32 counterparts above, * since <sys/socket.h> defines them. */ #ifndef SHUT_RD # define SHUT_RD 0 # define SHUT_WR 1 # define SHUT_RDWR 2 #endif #ifdef HAVE_SYS_TIME_H #include <sys/time.h> #endif #include <stddef.h> #ifdef PHP_WIN32 typedef SOCKET php_socket_t; #else typedef int php_socket_t; #endif #ifdef PHP_WIN32 # define SOCK_ERR INVALID_SOCKET # define SOCK_CONN_ERR SOCKET_ERROR # define SOCK_RECV_ERR SOCKET_ERROR #else # define SOCK_ERR -1 # define SOCK_CONN_ERR -1 # define SOCK_RECV_ERR -1 #endif #define STREAM_SOCKOP_NONE (1 << 0) #define STREAM_SOCKOP_SO_REUSEPORT (1 << 1) #define STREAM_SOCKOP_SO_BROADCAST (1 << 2) #define STREAM_SOCKOP_IPV6_V6ONLY (1 << 3) #define STREAM_SOCKOP_IPV6_V6ONLY_ENABLED (1 << 4) #define STREAM_SOCKOP_TCP_NODELAY (1 << 5) /* uncomment this to debug poll(2) emulation on systems that have poll(2) */ /* #define PHP_USE_POLL_2_EMULATION 1 */ #if defined(HAVE_POLL) # if defined(HAVE_POLL_H) # include <poll.h> # elif defined(HAVE_SYS_POLL_H) # include <sys/poll.h> # endif typedef struct pollfd php_pollfd; #else typedef struct _php_pollfd { php_socket_t fd; short events; short revents; } php_pollfd; PHPAPI int php_poll2(php_pollfd *ufds, unsigned int nfds, int timeout); #ifndef POLLIN # define POLLIN 0x0001 /* There is data to read */ # define POLLPRI 0x0002 /* There is urgent data to read */ # define POLLOUT 0x0004 /* Writing now will not block */ # define POLLERR 0x0008 /* Error condition */ # define POLLHUP 0x0010 /* Hung up */ # define POLLNVAL 0x0020 /* Invalid request: fd not open */ #endif # ifndef PHP_USE_POLL_2_EMULATION # define PHP_USE_POLL_2_EMULATION 1 # endif #endif #define PHP_POLLREADABLE (POLLIN|POLLERR|POLLHUP) #ifndef PHP_USE_POLL_2_EMULATION # define php_poll2(ufds, nfds, timeout) poll(ufds, nfds, timeout) #endif /* timeval-to-timeout (for poll(2)) */ static inline int php_tvtoto(struct timeval *timeouttv) { if (timeouttv) { return (timeouttv->tv_sec * 1000) + (timeouttv->tv_usec / 1000); } return -1; } /* hybrid select(2)/poll(2) for a single descriptor. * timeouttv follows same rules as select(2), but is reduced to millisecond accuracy. * Returns 0 on timeout, -1 on error, or the event mask (ala poll(2)). */ static inline int php_pollfd_for(php_socket_t fd, int events, struct timeval *timeouttv) { php_pollfd p; int n; p.fd = fd; p.events = events; p.revents = 0; n = php_poll2(&p, 1, php_tvtoto(timeouttv)); if (n > 0) { return p.revents; } return n; } static inline int php_pollfd_for_ms(php_socket_t fd, int events, int timeout) { php_pollfd p; int n; p.fd = fd; p.events = events; p.revents = 0; n = php_poll2(&p, 1, timeout); if (n > 0) { return p.revents; } return n; } /* emit warning and suggestion for unsafe select(2) usage */ PHPAPI void _php_emit_fd_setsize_warning(int max_fd); static inline bool _php_check_fd_setsize(php_socket_t *max_fd, int setsize) { #ifdef PHP_WIN32 (void)(max_fd); // Unused if (setsize + 1 >= FD_SETSIZE) { _php_emit_fd_setsize_warning(setsize); return false; } #else (void)(setsize); // Unused if (*max_fd >= FD_SETSIZE) { _php_emit_fd_setsize_warning(*max_fd); *max_fd = FD_SETSIZE - 1; return false; } #endif return true; } #ifdef PHP_WIN32 /* it is safe to FD_SET too many fd's under win32; the macro will simply ignore * descriptors that go beyond the default FD_SETSIZE */ # define PHP_SAFE_FD_SET(fd, set) FD_SET(fd, set) # define PHP_SAFE_FD_CLR(fd, set) FD_CLR(fd, set) # define PHP_SAFE_FD_ISSET(fd, set) FD_ISSET(fd, set) # define PHP_SAFE_MAX_FD(m, n) _php_check_fd_setsize(&m, n) #else # define PHP_SAFE_FD_SET(fd, set) do { if (fd < FD_SETSIZE) FD_SET(fd, set); } while(0) # define PHP_SAFE_FD_CLR(fd, set) do { if (fd < FD_SETSIZE) FD_CLR(fd, set); } while(0) # define PHP_SAFE_FD_ISSET(fd, set) ((fd < FD_SETSIZE) && FD_ISSET(fd, set)) # define PHP_SAFE_MAX_FD(m, n) _php_check_fd_setsize(&m, n) #endif #define PHP_SOCK_CHUNK_SIZE 8192 #ifdef HAVE_SOCKADDR_STORAGE typedef struct sockaddr_storage php_sockaddr_storage; #else typedef struct { #ifdef HAVE_SOCKADDR_SA_LEN unsigned char ss_len; unsigned char ss_family; #else unsigned short ss_family; #endif char info[126]; } php_sockaddr_storage; #endif BEGIN_EXTERN_C() PHPAPI int php_network_getaddresses(const char *host, int socktype, struct sockaddr ***sal, zend_string **error_string); PHPAPI void php_network_freeaddresses(struct sockaddr **sal); PHPAPI php_socket_t php_network_connect_socket_to_host(const char *host, unsigned short port, int socktype, int asynchronous, struct timeval *timeout, zend_string **error_string, int *error_code, const char *bindto, unsigned short bindport, long sockopts ); PHPAPI int php_network_connect_socket(php_socket_t sockfd, const struct sockaddr *addr, socklen_t addrlen, int asynchronous, struct timeval *timeout, zend_string **error_string, int *error_code); #define php_connect_nonb(sock, addr, addrlen, timeout) \ php_network_connect_socket((sock), (addr), (addrlen), 0, (timeout), NULL, NULL) PHPAPI php_socket_t php_network_bind_socket_to_local_addr(const char *host, unsigned port, int socktype, long sockopts, zend_string **error_string, int *error_code ); PHPAPI php_socket_t php_network_accept_incoming(php_socket_t srvsock, zend_string **textaddr, struct sockaddr **addr, socklen_t *addrlen, struct timeval *timeout, zend_string **error_string, int *error_code, int tcp_nodelay ); PHPAPI int php_network_get_sock_name(php_socket_t sock, zend_string **textaddr, struct sockaddr **addr, socklen_t *addrlen ); PHPAPI int php_network_get_peer_name(php_socket_t sock, zend_string **textaddr, struct sockaddr **addr, socklen_t *addrlen ); PHPAPI void php_any_addr(int family, php_sockaddr_storage *addr, unsigned short port); PHPAPI int php_sockaddr_size(php_sockaddr_storage *addr); END_EXTERN_C() struct _php_netstream_data_t { php_socket_t socket; char is_blocked; struct timeval timeout; char timeout_event; size_t ownsize; }; typedef struct _php_netstream_data_t php_netstream_data_t; PHPAPI extern const php_stream_ops php_stream_socket_ops; extern const php_stream_ops php_stream_generic_socket_ops; #define PHP_STREAM_IS_SOCKET (&php_stream_socket_ops) BEGIN_EXTERN_C() PHPAPI php_stream *_php_stream_sock_open_from_socket(php_socket_t socket, const char *persistent_id STREAMS_DC ); /* open a connection to a host using php_hostconnect and return a stream */ PHPAPI php_stream *_php_stream_sock_open_host(const char *host, unsigned short port, int socktype, struct timeval *timeout, const char *persistent_id STREAMS_DC); PHPAPI void php_network_populate_name_from_sockaddr( /* input address */ struct sockaddr *sa, socklen_t sl, /* output readable address */ zend_string **textaddr, /* output address */ struct sockaddr **addr, socklen_t *addrlen ); PHPAPI int php_network_parse_network_address_with_port(const char *addr, zend_long addrlen, struct sockaddr *sa, socklen_t *sl); PHPAPI struct hostent* php_network_gethostbyname(const char *name); PHPAPI int php_set_sock_blocking(php_socket_t socketd, int block); END_EXTERN_C() #define php_stream_sock_open_from_socket(socket, persistent) _php_stream_sock_open_from_socket((socket), (persistent) STREAMS_CC) #define php_stream_sock_open_host(host, port, socktype, timeout, persistent) _php_stream_sock_open_host((host), (port), (socktype), (timeout), (persistent) STREAMS_CC) /* {{{ memory debug */ #define php_stream_sock_open_from_socket_rel(socket, persistent) _php_stream_sock_open_from_socket((socket), (persistent) STREAMS_REL_CC) #define php_stream_sock_open_host_rel(host, port, socktype, timeout, persistent) _php_stream_sock_open_host((host), (port), (socktype), (timeout), (persistent) STREAMS_REL_CC) #define php_stream_sock_open_unix_rel(path, pathlen, persistent, timeval) _php_stream_sock_open_unix((path), (pathlen), (persistent), (timeval) STREAMS_REL_CC) /* }}} */ #ifndef MAXFQDNLEN #define MAXFQDNLEN 255 #endif #endif /* _PHP_NETWORK_H */ php_open_temporary_file.h 0000644 00000003650 15004366161 0011634 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Zeev Suraski <zeev@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_OPEN_TEMPORARY_FILE_H #define PHP_OPEN_TEMPORARY_FILE_H #define PHP_TMP_FILE_DEFAULT 0 #define PHP_TMP_FILE_OPEN_BASEDIR_CHECK_ON_FALLBACK (1<<0) #define PHP_TMP_FILE_SILENT (1<<1) #define PHP_TMP_FILE_OPEN_BASEDIR_CHECK_ON_EXPLICIT_DIR (1<<2) #define PHP_TMP_FILE_OPEN_BASEDIR_CHECK_ALWAYS \ (PHP_TMP_FILE_OPEN_BASEDIR_CHECK_ON_FALLBACK | PHP_TMP_FILE_OPEN_BASEDIR_CHECK_ON_EXPLICIT_DIR) /* for compatibility purpose */ #define PHP_TMP_FILE_OPEN_BASEDIR_CHECK PHP_TMP_FILE_OPEN_BASEDIR_CHECK_ON_FALLBACK BEGIN_EXTERN_C() PHPAPI FILE *php_open_temporary_file(const char *dir, const char *pfx, zend_string **opened_path_p); PHPAPI int php_open_temporary_fd_ex(const char *dir, const char *pfx, zend_string **opened_path_p, uint32_t flags); PHPAPI int php_open_temporary_fd(const char *dir, const char *pfx, zend_string **opened_path_p); PHPAPI const char *php_get_temporary_directory(void); END_EXTERN_C() #endif /* PHP_OPEN_TEMPORARY_FILE_H */ php_output.h 0000644 00000022526 15004366161 0007135 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Michael Wallner <mike@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_OUTPUT_H #define PHP_OUTPUT_H #define PHP_OUTPUT_NEWAPI 1 /* handler ops */ #define PHP_OUTPUT_HANDLER_WRITE 0x00 /* standard passthru */ #define PHP_OUTPUT_HANDLER_START 0x01 /* start */ #define PHP_OUTPUT_HANDLER_CLEAN 0x02 /* restart */ #define PHP_OUTPUT_HANDLER_FLUSH 0x04 /* pass along as much as possible */ #define PHP_OUTPUT_HANDLER_FINAL 0x08 /* finalize */ #define PHP_OUTPUT_HANDLER_CONT PHP_OUTPUT_HANDLER_WRITE #define PHP_OUTPUT_HANDLER_END PHP_OUTPUT_HANDLER_FINAL /* handler types */ #define PHP_OUTPUT_HANDLER_INTERNAL 0x0000 #define PHP_OUTPUT_HANDLER_USER 0x0001 /* handler ability flags */ #define PHP_OUTPUT_HANDLER_CLEANABLE 0x0010 #define PHP_OUTPUT_HANDLER_FLUSHABLE 0x0020 #define PHP_OUTPUT_HANDLER_REMOVABLE 0x0040 #define PHP_OUTPUT_HANDLER_STDFLAGS 0x0070 /* handler status flags */ #define PHP_OUTPUT_HANDLER_STARTED 0x1000 #define PHP_OUTPUT_HANDLER_DISABLED 0x2000 #define PHP_OUTPUT_HANDLER_PROCESSED 0x4000 /* handler op return values */ typedef enum _php_output_handler_status_t { PHP_OUTPUT_HANDLER_FAILURE, PHP_OUTPUT_HANDLER_SUCCESS, PHP_OUTPUT_HANDLER_NO_DATA } php_output_handler_status_t; /* php_output_stack_pop() flags */ #define PHP_OUTPUT_POP_TRY 0x000 #define PHP_OUTPUT_POP_FORCE 0x001 #define PHP_OUTPUT_POP_DISCARD 0x010 #define PHP_OUTPUT_POP_SILENT 0x100 /* real global flags */ #define PHP_OUTPUT_IMPLICITFLUSH 0x01 #define PHP_OUTPUT_DISABLED 0x02 #define PHP_OUTPUT_WRITTEN 0x04 #define PHP_OUTPUT_SENT 0x08 /* supplementary flags for php_output_get_status() */ #define PHP_OUTPUT_ACTIVE 0x10 #define PHP_OUTPUT_LOCKED 0x20 /* output layer is ready to use */ #define PHP_OUTPUT_ACTIVATED 0x100000 /* handler hooks */ typedef enum _php_output_handler_hook_t { PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ, PHP_OUTPUT_HANDLER_HOOK_GET_FLAGS, PHP_OUTPUT_HANDLER_HOOK_GET_LEVEL, PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE, PHP_OUTPUT_HANDLER_HOOK_DISABLE, /* unused */ PHP_OUTPUT_HANDLER_HOOK_LAST } php_output_handler_hook_t; #define PHP_OUTPUT_HANDLER_INITBUF_SIZE(s) \ ( ((s) > 1) ? \ (s) + PHP_OUTPUT_HANDLER_ALIGNTO_SIZE - ((s) % (PHP_OUTPUT_HANDLER_ALIGNTO_SIZE)) : \ PHP_OUTPUT_HANDLER_DEFAULT_SIZE \ ) #define PHP_OUTPUT_HANDLER_ALIGNTO_SIZE 0x1000 #define PHP_OUTPUT_HANDLER_DEFAULT_SIZE 0x4000 typedef struct _php_output_buffer { char *data; size_t size; size_t used; uint32_t free:1; uint32_t _reserved:31; } php_output_buffer; typedef struct _php_output_context { int op; php_output_buffer in; php_output_buffer out; } php_output_context; /* old-style, stateless callback */ typedef void (*php_output_handler_func_t)(char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode); /* new-style, opaque context callback */ typedef int (*php_output_handler_context_func_t)(void **handler_context, php_output_context *output_context); /* output handler context dtor */ typedef void (*php_output_handler_context_dtor_t)(void *opaq); /* conflict check callback */ typedef int (*php_output_handler_conflict_check_t)(const char *handler_name, size_t handler_name_len); /* ctor for aliases */ typedef struct _php_output_handler *(*php_output_handler_alias_ctor_t)(const char *handler_name, size_t handler_name_len, size_t chunk_size, int flags); typedef struct _php_output_handler_user_func_t { zend_fcall_info fci; zend_fcall_info_cache fcc; zval zoh; } php_output_handler_user_func_t; typedef struct _php_output_handler { zend_string *name; int flags; int level; size_t size; php_output_buffer buffer; void *opaq; void (*dtor)(void *opaq); union { php_output_handler_user_func_t *user; php_output_handler_context_func_t internal; } func; } php_output_handler; ZEND_BEGIN_MODULE_GLOBALS(output) zend_stack handlers; php_output_handler *active; php_output_handler *running; const char *output_start_filename; /* TODO: Unused, remove */ int output_start_lineno; int flags; zend_string *output_start_filename_str; ZEND_END_MODULE_GLOBALS(output) PHPAPI ZEND_EXTERN_MODULE_GLOBALS(output) /* there should not be a need to use OG() from outside of output.c */ #ifdef ZTS # define OG(v) ZEND_TSRMG(output_globals_id, zend_output_globals *, v) #else # define OG(v) (output_globals.v) #endif /* convenience macros */ #define PHPWRITE(str, str_len) php_output_write((str), (str_len)) #define PHPWRITE_H(str, str_len) php_output_write_unbuffered((str), (str_len)) #define PUTC(c) php_output_write((const char *) &(c), 1) #define PUTC_H(c) php_output_write_unbuffered((const char *) &(c), 1) #define PUTS(str) do { \ const char *__str = (str); \ php_output_write(__str, strlen(__str)); \ } while (0) #define PUTS_H(str) do { \ const char *__str = (str); \ php_output_write_unbuffered(__str, strlen(__str)); \ } while (0) BEGIN_EXTERN_C() extern const char php_output_default_handler_name[sizeof("default output handler")]; extern const char php_output_devnull_handler_name[sizeof("null output handler")]; #define php_output_tearup() \ php_output_startup(); \ php_output_activate() #define php_output_teardown() \ php_output_end_all(); \ php_output_deactivate(); \ php_output_shutdown() /* MINIT */ PHPAPI void php_output_startup(void); /* MSHUTDOWN */ PHPAPI void php_output_shutdown(void); PHPAPI void php_output_register_constants(void); /* RINIT */ PHPAPI int php_output_activate(void); /* RSHUTDOWN */ PHPAPI void php_output_deactivate(void); PHPAPI void php_output_set_status(int status); PHPAPI int php_output_get_status(void); PHPAPI void php_output_set_implicit_flush(int flush); PHPAPI const char *php_output_get_start_filename(void); PHPAPI int php_output_get_start_lineno(void); PHPAPI size_t php_output_write_unbuffered(const char *str, size_t len); PHPAPI size_t php_output_write(const char *str, size_t len); PHPAPI int php_output_flush(void); PHPAPI void php_output_flush_all(void); PHPAPI int php_output_clean(void); PHPAPI void php_output_clean_all(void); PHPAPI int php_output_end(void); PHPAPI void php_output_end_all(void); PHPAPI int php_output_discard(void); PHPAPI void php_output_discard_all(void); PHPAPI int php_output_get_contents(zval *p); PHPAPI int php_output_get_length(zval *p); PHPAPI int php_output_get_level(void); PHPAPI php_output_handler* php_output_get_active_handler(void); PHPAPI int php_output_start_default(void); PHPAPI int php_output_start_devnull(void); PHPAPI int php_output_start_user(zval *output_handler, size_t chunk_size, int flags); PHPAPI int php_output_start_internal(const char *name, size_t name_len, php_output_handler_func_t output_handler, size_t chunk_size, int flags); PHPAPI php_output_handler *php_output_handler_create_user(zval *handler, size_t chunk_size, int flags); PHPAPI php_output_handler *php_output_handler_create_internal(const char *name, size_t name_len, php_output_handler_context_func_t handler, size_t chunk_size, int flags); PHPAPI void php_output_handler_set_context(php_output_handler *handler, void *opaq, void (*dtor)(void*)); PHPAPI int php_output_handler_start(php_output_handler *handler); PHPAPI int php_output_handler_started(const char *name, size_t name_len); PHPAPI int php_output_handler_hook(php_output_handler_hook_t type, void *arg); PHPAPI void php_output_handler_dtor(php_output_handler *handler); PHPAPI void php_output_handler_free(php_output_handler **handler); PHPAPI int php_output_handler_conflict(const char *handler_new, size_t handler_new_len, const char *handler_set, size_t handler_set_len); PHPAPI int php_output_handler_conflict_register(const char *handler_name, size_t handler_name_len, php_output_handler_conflict_check_t check_func); PHPAPI int php_output_handler_reverse_conflict_register(const char *handler_name, size_t handler_name_len, php_output_handler_conflict_check_t check_func); PHPAPI php_output_handler_alias_ctor_t php_output_handler_alias(const char *handler_name, size_t handler_name_len); PHPAPI int php_output_handler_alias_register(const char *handler_name, size_t handler_name_len, php_output_handler_alias_ctor_t func); END_EXTERN_C() PHP_FUNCTION(ob_start); PHP_FUNCTION(ob_flush); PHP_FUNCTION(ob_clean); PHP_FUNCTION(ob_end_flush); PHP_FUNCTION(ob_end_clean); PHP_FUNCTION(ob_get_flush); PHP_FUNCTION(ob_get_clean); PHP_FUNCTION(ob_get_contents); PHP_FUNCTION(ob_get_length); PHP_FUNCTION(ob_get_level); PHP_FUNCTION(ob_get_status); PHP_FUNCTION(ob_implicit_flush); PHP_FUNCTION(ob_list_handlers); PHP_FUNCTION(output_add_rewrite_var); PHP_FUNCTION(output_reset_rewrite_vars); #endif php_reentrancy.h 0000644 00000006237 15004366161 0007750 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sascha Schumann <sascha@schumann.cx> | +----------------------------------------------------------------------+ */ #ifndef PHP_REENTRANCY_H #define PHP_REENTRANCY_H #include "php.h" #include <sys/types.h> #ifdef HAVE_DIRENT_H #include <dirent.h> #endif #include <time.h> /* currently, PHP does not check for these functions, but assumes that they are available on all systems. */ #define HAVE_LOCALTIME 1 #define HAVE_GMTIME 1 #define HAVE_ASCTIME 1 #define HAVE_CTIME 1 #if defined(PHP_IRIX_TIME_R) #undef HAVE_ASCTIME_R #undef HAVE_CTIME_R #endif #if defined(PHP_HPUX_TIME_R) #undef HAVE_LOCALTIME_R #undef HAVE_ASCTIME_R #undef HAVE_CTIME_R #undef HAVE_GMTIME_R #endif BEGIN_EXTERN_C() #if !defined(HAVE_LOCALTIME_R) && defined(HAVE_LOCALTIME) #define PHP_NEED_REENTRANCY 1 PHPAPI struct tm *php_localtime_r(const time_t *const timep, struct tm *p_tm); #else #define php_localtime_r localtime_r #ifdef MISSING_LOCALTIME_R_DECL struct tm *localtime_r(const time_t *const timep, struct tm *p_tm); #endif #endif #if !defined(HAVE_CTIME_R) && defined(HAVE_CTIME) #define PHP_NEED_REENTRANCY 1 PHPAPI char *php_ctime_r(const time_t *clock, char *buf); #else #define php_ctime_r ctime_r #ifdef MISSING_CTIME_R_DECL char *ctime_r(const time_t *clock, char *buf); #endif #endif #if !defined(HAVE_ASCTIME_R) && defined(HAVE_ASCTIME) #define PHP_NEED_REENTRANCY 1 PHPAPI char *php_asctime_r(const struct tm *tm, char *buf); #else #define php_asctime_r asctime_r #ifdef MISSING_ASCTIME_R_DECL char *asctime_r(const struct tm *tm, char *buf); #endif #endif #if !defined(HAVE_GMTIME_R) && defined(HAVE_GMTIME) #define PHP_NEED_REENTRANCY 1 PHPAPI struct tm *php_gmtime_r(const time_t *const timep, struct tm *p_tm); #else #define php_gmtime_r gmtime_r #ifdef MISSING_GMTIME_R_DECL struct tm *php_gmtime_r(const time_t *const timep, struct tm *p_tm); #endif #endif #if !defined(HAVE_STRTOK_R) PHPAPI char *php_strtok_r(char *s, const char *delim, char **last); #else #define php_strtok_r strtok_r #ifdef MISSING_STRTOK_R_DECL char *strtok_r(char *s, const char *delim, char **last); #endif #endif END_EXTERN_C() #if !defined(ZTS) #undef PHP_NEED_REENTRANCY #endif #if defined(PHP_NEED_REENTRANCY) void reentrancy_startup(void); void reentrancy_shutdown(void); #else #define reentrancy_startup() #define reentrancy_shutdown() #endif #endif php_scandir.h 0000644 00000003263 15004366161 0007215 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Shane Caraveo <shane@caraveo.com> | | Ilia Alshanetsky <ilia@prohost.org> | +----------------------------------------------------------------------+ */ #ifndef PHP_SCANDIR_H #define PHP_SCANDIR_H #include <sys/types.h> #ifdef PHP_WIN32 #include "config.w32.h" #include "win32/readdir.h" #else #include <php_config.h> #endif #ifdef HAVE_DIRENT_H #include <dirent.h> #endif #ifdef HAVE_SCANDIR #define php_scandir scandir #else PHPAPI int php_scandir(const char *dirname, struct dirent **namelist[], int (*selector) (const struct dirent *entry), int (*compare) (const struct dirent **a, const struct dirent **b)); #endif #ifdef HAVE_ALPHASORT #define php_alphasort alphasort #else PHPAPI int php_alphasort(const struct dirent **a, const struct dirent **b); #endif #endif /* PHP_SCANDIR_H */ php_stdint.h 0000644 00000003454 15004366161 0007101 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Michael Wallner <mike@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_STDINT_H #define PHP_STDINT_H /* C99 requires these for C++ to get the definitions * of INT64_MAX and other macros used by Zend/zend_long.h * C11 drops this requirement, so these effectively * just backport that piece of behavior. * * These defines are placed here instead of * with the include below, because sys/types * and inttypes may include stdint themselves. * And these definitions MUST come first. */ #ifdef __cplusplus # ifndef __STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS # endif # ifndef __STDC_CONSTANT_MACROS # define __STDC_CONSTANT_MACROS # endif # ifndef __STDC_FORMAT_MACROS # define __STDC_FORMAT_MACROS # endif #endif #include <inttypes.h> #include <stdint.h> #if defined(_MSC_VER) # ifndef u_char typedef unsigned __int8 u_char; # endif #endif /* !_MSC_VER */ #endif /* PHP_STDINT_H */ php_streams.h 0000644 00000071237 15004366161 0007256 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong (wez@thebrainroom.com) | +----------------------------------------------------------------------+ */ #ifndef PHP_STREAMS_H #define PHP_STREAMS_H #ifdef HAVE_SYS_TIME_H #include <sys/time.h> #endif #include <sys/types.h> #include <sys/stat.h> #include "zend.h" #include "zend_stream.h" BEGIN_EXTERN_C() PHPAPI int php_file_le_stream(void); PHPAPI int php_file_le_pstream(void); PHPAPI int php_file_le_stream_filter(void); END_EXTERN_C() /* {{{ Streams memory debugging stuff */ #if ZEND_DEBUG /* these have more of a dependency on the definitions of the zend macros than * I would prefer, but doing it this way saves loads of idefs :-/ */ # define STREAMS_D int __php_stream_call_depth ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC # define STREAMS_C 0 ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC # define STREAMS_REL_C __php_stream_call_depth + 1 ZEND_FILE_LINE_CC, \ __php_stream_call_depth ? __zend_orig_filename : __zend_filename, \ __php_stream_call_depth ? __zend_orig_lineno : __zend_lineno # define STREAMS_DC , STREAMS_D # define STREAMS_CC , STREAMS_C # define STREAMS_REL_CC , STREAMS_REL_C #else # define STREAMS_D # define STREAMS_C # define STREAMS_REL_C # define STREAMS_DC # define STREAMS_CC # define STREAMS_REL_CC #endif /* these functions relay the file/line number information. They are depth aware, so they will pass * the ultimate ancestor, which is useful, because there can be several layers of calls */ #define php_stream_alloc_rel(ops, thisptr, persistent, mode) _php_stream_alloc((ops), (thisptr), (persistent), (mode) STREAMS_REL_CC) #define php_stream_copy_to_mem_rel(src, maxlen, persistent) _php_stream_copy_to_mem((src), (buf), (maxlen), (persistent) STREAMS_REL_CC) #define php_stream_fopen_rel(filename, mode, opened, options) _php_stream_fopen((filename), (mode), (opened), (options) STREAMS_REL_CC) #define php_stream_fopen_with_path_rel(filename, mode, path, opened, options) _php_stream_fopen_with_path((filename), (mode), (path), (opened), (options) STREAMS_REL_CC) #define php_stream_fopen_from_fd_rel(fd, mode, persistent_id) _php_stream_fopen_from_fd((fd), (mode), (persistent_id) STREAMS_REL_CC) #define php_stream_fopen_from_file_rel(file, mode) _php_stream_fopen_from_file((file), (mode) STREAMS_REL_CC) #define php_stream_fopen_from_pipe_rel(file, mode) _php_stream_fopen_from_pipe((file), (mode) STREAMS_REL_CC) #define php_stream_fopen_tmpfile_rel() _php_stream_fopen_tmpfile(0 STREAMS_REL_CC) #define php_stream_fopen_temporary_file_rel(dir, pfx, opened_path) _php_stream_fopen_temporary_file((dir), (pfx), (opened_path) STREAMS_REL_CC) #define php_stream_open_wrapper_rel(path, mode, options, opened) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), NULL STREAMS_REL_CC) #define php_stream_open_wrapper_ex_rel(path, mode, options, opened, context) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), (context) STREAMS_REL_CC) #define php_stream_make_seekable_rel(origstream, newstream, flags) _php_stream_make_seekable((origstream), (newstream), (flags) STREAMS_REL_CC) /* }}} */ /* The contents of the php_stream_ops and php_stream should only be accessed * using the functions/macros in this header. * If you need to get at something that doesn't have an API, * drop me a line <wez@thebrainroom.com> and we can sort out a way to do * it properly. * * The only exceptions to this rule are that stream implementations can use * the php_stream->abstract pointer to hold their context, and streams * opened via stream_open_wrappers can use the zval ptr in * php_stream->wrapperdata to hold meta data for php scripts to * retrieve using file_get_wrapper_data(). */ typedef struct _php_stream php_stream; typedef struct _php_stream_wrapper php_stream_wrapper; typedef struct _php_stream_context php_stream_context; typedef struct _php_stream_filter php_stream_filter; #include "streams/php_stream_context.h" #include "streams/php_stream_filter_api.h" typedef struct _php_stream_statbuf { zend_stat_t sb; /* regular info */ /* extended info to go here some day: content-type etc. etc. */ } php_stream_statbuf; typedef struct _php_stream_dirent { char d_name[MAXPATHLEN]; } php_stream_dirent; /* operations on streams that are file-handles */ typedef struct _php_stream_ops { /* stdio like functions - these are mandatory! */ ssize_t (*write)(php_stream *stream, const char *buf, size_t count); ssize_t (*read)(php_stream *stream, char *buf, size_t count); int (*close)(php_stream *stream, int close_handle); int (*flush)(php_stream *stream); const char *label; /* label for this ops structure */ /* these are optional */ int (*seek)(php_stream *stream, zend_off_t offset, int whence, zend_off_t *newoffset); int (*cast)(php_stream *stream, int castas, void **ret); int (*stat)(php_stream *stream, php_stream_statbuf *ssb); int (*set_option)(php_stream *stream, int option, int value, void *ptrparam); } php_stream_ops; typedef struct _php_stream_wrapper_ops { /* open/create a wrapped stream */ php_stream *(*stream_opener)(php_stream_wrapper *wrapper, const char *filename, const char *mode, int options, zend_string **opened_path, php_stream_context *context STREAMS_DC); /* close/destroy a wrapped stream */ int (*stream_closer)(php_stream_wrapper *wrapper, php_stream *stream); /* stat a wrapped stream */ int (*stream_stat)(php_stream_wrapper *wrapper, php_stream *stream, php_stream_statbuf *ssb); /* stat a URL */ int (*url_stat)(php_stream_wrapper *wrapper, const char *url, int flags, php_stream_statbuf *ssb, php_stream_context *context); /* open a "directory" stream */ php_stream *(*dir_opener)(php_stream_wrapper *wrapper, const char *filename, const char *mode, int options, zend_string **opened_path, php_stream_context *context STREAMS_DC); const char *label; /* delete a file */ int (*unlink)(php_stream_wrapper *wrapper, const char *url, int options, php_stream_context *context); /* rename a file */ int (*rename)(php_stream_wrapper *wrapper, const char *url_from, const char *url_to, int options, php_stream_context *context); /* Create/Remove directory */ int (*stream_mkdir)(php_stream_wrapper *wrapper, const char *url, int mode, int options, php_stream_context *context); int (*stream_rmdir)(php_stream_wrapper *wrapper, const char *url, int options, php_stream_context *context); /* Metadata handling */ int (*stream_metadata)(php_stream_wrapper *wrapper, const char *url, int options, void *value, php_stream_context *context); } php_stream_wrapper_ops; struct _php_stream_wrapper { const php_stream_wrapper_ops *wops; /* operations the wrapper can perform */ void *abstract; /* context for the wrapper */ int is_url; /* so that PG(allow_url_fopen) can be respected */ }; #define PHP_STREAM_FLAG_NO_SEEK 0x1 #define PHP_STREAM_FLAG_NO_BUFFER 0x2 #define PHP_STREAM_FLAG_EOL_UNIX 0x0 /* also includes DOS */ #define PHP_STREAM_FLAG_DETECT_EOL 0x4 #define PHP_STREAM_FLAG_EOL_MAC 0x8 /* set this when the stream might represent "interactive" data. * When set, the read buffer will avoid certain operations that * might otherwise cause the read to block for much longer than * is strictly required. */ #define PHP_STREAM_FLAG_AVOID_BLOCKING 0x10 #define PHP_STREAM_FLAG_NO_CLOSE 0x20 #define PHP_STREAM_FLAG_IS_DIR 0x40 #define PHP_STREAM_FLAG_NO_FCLOSE 0x80 /* Suppress generation of PHP warnings on stream read/write errors. * Currently for internal use only. */ #define PHP_STREAM_FLAG_SUPPRESS_ERRORS 0x100 #define PHP_STREAM_FLAG_WAS_WRITTEN 0x80000000 struct _php_stream { const php_stream_ops *ops; void *abstract; /* convenience pointer for abstraction */ php_stream_filter_chain readfilters, writefilters; php_stream_wrapper *wrapper; /* which wrapper was used to open the stream */ void *wrapperthis; /* convenience pointer for a instance of a wrapper */ zval wrapperdata; /* fgetwrapperdata retrieves this */ uint8_t is_persistent:1; uint8_t in_free:2; /* to prevent recursion during free */ uint8_t eof:1; uint8_t __exposed:1; /* non-zero if exposed as a zval somewhere */ /* so we know how to clean it up correctly. This should be set to * PHP_STREAM_FCLOSE_XXX as appropriate */ uint8_t fclose_stdiocast:2; uint8_t fgetss_state; /* for fgetss to handle multiline tags */ char mode[16]; /* "rwb" etc. ala stdio */ uint32_t flags; /* PHP_STREAM_FLAG_XXX */ zend_resource *res; /* used for auto-cleanup */ FILE *stdiocast; /* cache this, otherwise we might leak! */ char *orig_path; zend_resource *ctx; /* buffer */ zend_off_t position; /* of underlying stream */ unsigned char *readbuf; size_t readbuflen; zend_off_t readpos; zend_off_t writepos; /* how much data to read when filling buffer */ size_t chunk_size; #if ZEND_DEBUG const char *open_filename; uint32_t open_lineno; #endif struct _php_stream *enclosing_stream; /* this is a private stream owned by enclosing_stream */ }; /* php_stream */ #define PHP_STREAM_CONTEXT(stream) \ ((php_stream_context*) ((stream)->ctx ? ((stream)->ctx->ptr) : NULL)) /* state definitions when closing down; these are private to streams.c */ #define PHP_STREAM_FCLOSE_NONE 0 #define PHP_STREAM_FCLOSE_FDOPEN 1 #define PHP_STREAM_FCLOSE_FOPENCOOKIE 2 /* allocate a new stream for a particular ops */ BEGIN_EXTERN_C() PHPAPI php_stream *_php_stream_alloc(const php_stream_ops *ops, void *abstract, const char *persistent_id, const char *mode STREAMS_DC); END_EXTERN_C() #define php_stream_alloc(ops, thisptr, persistent_id, mode) _php_stream_alloc((ops), (thisptr), (persistent_id), (mode) STREAMS_CC) #define php_stream_get_resource_id(stream) ((php_stream *)(stream))->res->handle /* use this to tell the stream that it is OK if we don't explicitly close it */ #define php_stream_auto_cleanup(stream) { (stream)->__exposed = 1; } /* use this to assign the stream to a zval and tell the stream that is * has been exported to the engine; it will expect to be closed automatically * when the resources are auto-destructed */ #define php_stream_to_zval(stream, zval) { ZVAL_RES(zval, (stream)->res); (stream)->__exposed = 1; } #define php_stream_from_zval(xstr, pzval) do { \ if (((xstr) = (php_stream*)zend_fetch_resource2_ex((pzval), \ "stream", php_file_le_stream(), php_file_le_pstream())) == NULL) { \ return; \ } \ } while (0) #define php_stream_from_res(xstr, res) do { \ if (((xstr) = (php_stream*)zend_fetch_resource2((res), \ "stream", php_file_le_stream(), php_file_le_pstream())) == NULL) { \ return; \ } \ } while (0) #define php_stream_from_res_no_verify(xstr, pzval) (xstr) = (php_stream*)zend_fetch_resource2((res), "stream", php_file_le_stream(), php_file_le_pstream()) #define php_stream_from_zval_no_verify(xstr, pzval) (xstr) = (php_stream*)zend_fetch_resource2_ex((pzval), "stream", php_file_le_stream(), php_file_le_pstream()) BEGIN_EXTERN_C() PHPAPI php_stream *php_stream_encloses(php_stream *enclosing, php_stream *enclosed); #define php_stream_free_enclosed(stream_enclosed, close_options) _php_stream_free_enclosed((stream_enclosed), (close_options)) PHPAPI int _php_stream_free_enclosed(php_stream *stream_enclosed, int close_options); PHPAPI int php_stream_from_persistent_id(const char *persistent_id, php_stream **stream); #define PHP_STREAM_PERSISTENT_SUCCESS 0 /* id exists */ #define PHP_STREAM_PERSISTENT_FAILURE 1 /* id exists but is not a stream! */ #define PHP_STREAM_PERSISTENT_NOT_EXIST 2 /* id does not exist */ #define PHP_STREAM_FREE_CALL_DTOR 1 /* call ops->close */ #define PHP_STREAM_FREE_RELEASE_STREAM 2 /* pefree(stream) */ #define PHP_STREAM_FREE_PRESERVE_HANDLE 4 /* tell ops->close to not close it's underlying handle */ #define PHP_STREAM_FREE_RSRC_DTOR 8 /* called from the resource list dtor */ #define PHP_STREAM_FREE_PERSISTENT 16 /* manually freeing a persistent connection */ #define PHP_STREAM_FREE_IGNORE_ENCLOSING 32 /* don't close the enclosing stream instead */ #define PHP_STREAM_FREE_KEEP_RSRC 64 /* keep associated zend_resource */ #define PHP_STREAM_FREE_CLOSE (PHP_STREAM_FREE_CALL_DTOR | PHP_STREAM_FREE_RELEASE_STREAM) #define PHP_STREAM_FREE_CLOSE_CASTED (PHP_STREAM_FREE_CLOSE | PHP_STREAM_FREE_PRESERVE_HANDLE) #define PHP_STREAM_FREE_CLOSE_PERSISTENT (PHP_STREAM_FREE_CLOSE | PHP_STREAM_FREE_PERSISTENT) PHPAPI int _php_stream_free(php_stream *stream, int close_options); #define php_stream_free(stream, close_options) _php_stream_free((stream), (close_options)) #define php_stream_close(stream) _php_stream_free((stream), PHP_STREAM_FREE_CLOSE) #define php_stream_pclose(stream) _php_stream_free((stream), PHP_STREAM_FREE_CLOSE_PERSISTENT) PHPAPI int _php_stream_seek(php_stream *stream, zend_off_t offset, int whence); #define php_stream_rewind(stream) _php_stream_seek((stream), 0L, SEEK_SET) #define php_stream_seek(stream, offset, whence) _php_stream_seek((stream), (offset), (whence)) PHPAPI zend_off_t _php_stream_tell(php_stream *stream); #define php_stream_tell(stream) _php_stream_tell((stream)) PHPAPI ssize_t _php_stream_read(php_stream *stream, char *buf, size_t count); #define php_stream_read(stream, buf, count) _php_stream_read((stream), (buf), (count)) PHPAPI zend_string *php_stream_read_to_str(php_stream *stream, size_t len); PHPAPI ssize_t _php_stream_write(php_stream *stream, const char *buf, size_t count); #define php_stream_write_string(stream, str) _php_stream_write(stream, str, strlen(str)) #define php_stream_write(stream, buf, count) _php_stream_write(stream, (buf), (count)) PHPAPI int _php_stream_fill_read_buffer(php_stream *stream, size_t size); #define php_stream_fill_read_buffer(stream, size) _php_stream_fill_read_buffer((stream), (size)) PHPAPI ssize_t _php_stream_printf(php_stream *stream, const char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 2, 3); /* php_stream_printf macro & function require */ #define php_stream_printf _php_stream_printf PHPAPI int _php_stream_eof(php_stream *stream); #define php_stream_eof(stream) _php_stream_eof((stream)) PHPAPI int _php_stream_getc(php_stream *stream); #define php_stream_getc(stream) _php_stream_getc((stream)) PHPAPI int _php_stream_putc(php_stream *stream, int c); #define php_stream_putc(stream, c) _php_stream_putc((stream), (c)) PHPAPI int _php_stream_flush(php_stream *stream, int closing); #define php_stream_flush(stream) _php_stream_flush((stream), 0) PHPAPI char *_php_stream_get_line(php_stream *stream, char *buf, size_t maxlen, size_t *returned_len); #define php_stream_gets(stream, buf, maxlen) _php_stream_get_line((stream), (buf), (maxlen), NULL) #define php_stream_get_line(stream, buf, maxlen, retlen) _php_stream_get_line((stream), (buf), (maxlen), (retlen)) PHPAPI zend_string *php_stream_get_record(php_stream *stream, size_t maxlen, const char *delim, size_t delim_len); /* CAREFUL! this is equivalent to puts NOT fputs! */ PHPAPI int _php_stream_puts(php_stream *stream, const char *buf); #define php_stream_puts(stream, buf) _php_stream_puts((stream), (buf)) PHPAPI int _php_stream_stat(php_stream *stream, php_stream_statbuf *ssb); #define php_stream_stat(stream, ssb) _php_stream_stat((stream), (ssb)) PHPAPI int _php_stream_stat_path(const char *path, int flags, php_stream_statbuf *ssb, php_stream_context *context); #define php_stream_stat_path(path, ssb) _php_stream_stat_path((path), 0, (ssb), NULL) #define php_stream_stat_path_ex(path, flags, ssb, context) _php_stream_stat_path((path), (flags), (ssb), (context)) PHPAPI int _php_stream_mkdir(const char *path, int mode, int options, php_stream_context *context); #define php_stream_mkdir(path, mode, options, context) _php_stream_mkdir(path, mode, options, context) PHPAPI int _php_stream_rmdir(const char *path, int options, php_stream_context *context); #define php_stream_rmdir(path, options, context) _php_stream_rmdir(path, options, context) PHPAPI php_stream *_php_stream_opendir(const char *path, int options, php_stream_context *context STREAMS_DC); #define php_stream_opendir(path, options, context) _php_stream_opendir((path), (options), (context) STREAMS_CC) PHPAPI php_stream_dirent *_php_stream_readdir(php_stream *dirstream, php_stream_dirent *ent); #define php_stream_readdir(dirstream, dirent) _php_stream_readdir((dirstream), (dirent)) #define php_stream_closedir(dirstream) php_stream_close((dirstream)) #define php_stream_rewinddir(dirstream) php_stream_rewind((dirstream)) PHPAPI int php_stream_dirent_alphasort(const zend_string **a, const zend_string **b); PHPAPI int php_stream_dirent_alphasortr(const zend_string **a, const zend_string **b); PHPAPI int _php_stream_scandir(const char *dirname, zend_string **namelist[], int flags, php_stream_context *context, int (*compare) (const zend_string **a, const zend_string **b)); #define php_stream_scandir(dirname, namelist, context, compare) _php_stream_scandir((dirname), (namelist), 0, (context), (compare)) PHPAPI int _php_stream_set_option(php_stream *stream, int option, int value, void *ptrparam); #define php_stream_set_option(stream, option, value, ptrvalue) _php_stream_set_option((stream), (option), (value), (ptrvalue)) #define php_stream_set_chunk_size(stream, size) _php_stream_set_option((stream), PHP_STREAM_OPTION_SET_CHUNK_SIZE, (size), NULL) END_EXTERN_C() /* Flags for mkdir method in wrapper ops */ #define PHP_STREAM_MKDIR_RECURSIVE 1 /* define REPORT ERRORS 8 (below) */ /* Flags for rmdir method in wrapper ops */ /* define REPORT_ERRORS 8 (below) */ /* Flags for url_stat method in wrapper ops */ #define PHP_STREAM_URL_STAT_LINK 1 #define PHP_STREAM_URL_STAT_QUIET 2 #define PHP_STREAM_URL_STAT_NOCACHE 4 /* change the blocking mode of stream: value == 1 => blocking, value == 0 => non-blocking. */ #define PHP_STREAM_OPTION_BLOCKING 1 /* change the buffering mode of stream. value is a PHP_STREAM_BUFFER_XXXX value, ptrparam is a ptr to a size_t holding * the required buffer size */ #define PHP_STREAM_OPTION_READ_BUFFER 2 #define PHP_STREAM_OPTION_WRITE_BUFFER 3 #define PHP_STREAM_BUFFER_NONE 0 /* unbuffered */ #define PHP_STREAM_BUFFER_LINE 1 /* line buffered */ #define PHP_STREAM_BUFFER_FULL 2 /* fully buffered */ /* set the timeout duration for reads on the stream. ptrparam is a pointer to a struct timeval * */ #define PHP_STREAM_OPTION_READ_TIMEOUT 4 #define PHP_STREAM_OPTION_SET_CHUNK_SIZE 5 /* set or release lock on a stream */ #define PHP_STREAM_OPTION_LOCKING 6 /* whether or not locking is supported */ #define PHP_STREAM_LOCK_SUPPORTED 1 #define php_stream_supports_lock(stream) (_php_stream_set_option((stream), PHP_STREAM_OPTION_LOCKING, 0, (void *) PHP_STREAM_LOCK_SUPPORTED) == 0 ? 1 : 0) #define php_stream_lock(stream, mode) _php_stream_set_option((stream), PHP_STREAM_OPTION_LOCKING, (mode), (void *) NULL) /* option code used by the php_stream_xport_XXX api */ #define PHP_STREAM_OPTION_XPORT_API 7 /* see php_stream_transport.h */ #define PHP_STREAM_OPTION_CRYPTO_API 8 /* see php_stream_transport.h */ #define PHP_STREAM_OPTION_MMAP_API 9 /* see php_stream_mmap.h */ #define PHP_STREAM_OPTION_TRUNCATE_API 10 #define PHP_STREAM_TRUNCATE_SUPPORTED 0 #define PHP_STREAM_TRUNCATE_SET_SIZE 1 /* ptrparam is a pointer to a size_t */ #define php_stream_truncate_supported(stream) (_php_stream_set_option((stream), PHP_STREAM_OPTION_TRUNCATE_API, PHP_STREAM_TRUNCATE_SUPPORTED, NULL) == PHP_STREAM_OPTION_RETURN_OK ? 1 : 0) BEGIN_EXTERN_C() PHPAPI int _php_stream_truncate_set_size(php_stream *stream, size_t newsize); #define php_stream_truncate_set_size(stream, size) _php_stream_truncate_set_size((stream), (size)) END_EXTERN_C() #define PHP_STREAM_OPTION_META_DATA_API 11 /* ptrparam is a zval* to which to add meta data information */ #define php_stream_populate_meta_data(stream, zv) (_php_stream_set_option((stream), PHP_STREAM_OPTION_META_DATA_API, 0, zv) == PHP_STREAM_OPTION_RETURN_OK ? 1 : 0) /* Check if the stream is still "live"; for sockets/pipes this means the socket * is still connected; for files, this does not really have meaning */ #define PHP_STREAM_OPTION_CHECK_LIVENESS 12 /* no parameters */ /* Enable/disable blocking reads on anonymous pipes on Windows. */ #define PHP_STREAM_OPTION_PIPE_BLOCKING 13 #define PHP_STREAM_OPTION_RETURN_OK 0 /* option set OK */ #define PHP_STREAM_OPTION_RETURN_ERR -1 /* problem setting option */ #define PHP_STREAM_OPTION_RETURN_NOTIMPL -2 /* underlying stream does not implement; streams can handle it instead */ /* copy up to maxlen bytes from src to dest. If maxlen is PHP_STREAM_COPY_ALL, * copy until eof(src). */ #define PHP_STREAM_COPY_ALL ((size_t)-1) BEGIN_EXTERN_C() ZEND_ATTRIBUTE_DEPRECATED PHPAPI size_t _php_stream_copy_to_stream(php_stream *src, php_stream *dest, size_t maxlen STREAMS_DC); #define php_stream_copy_to_stream(src, dest, maxlen) _php_stream_copy_to_stream((src), (dest), (maxlen) STREAMS_CC) PHPAPI int _php_stream_copy_to_stream_ex(php_stream *src, php_stream *dest, size_t maxlen, size_t *len STREAMS_DC); #define php_stream_copy_to_stream_ex(src, dest, maxlen, len) _php_stream_copy_to_stream_ex((src), (dest), (maxlen), (len) STREAMS_CC) /* read all data from stream and put into a buffer. Caller must free buffer * when done. */ PHPAPI zend_string *_php_stream_copy_to_mem(php_stream *src, size_t maxlen, int persistent STREAMS_DC); #define php_stream_copy_to_mem(src, maxlen, persistent) _php_stream_copy_to_mem((src), (maxlen), (persistent) STREAMS_CC) /* output all data from a stream */ PHPAPI ssize_t _php_stream_passthru(php_stream * src STREAMS_DC); #define php_stream_passthru(stream) _php_stream_passthru((stream) STREAMS_CC) END_EXTERN_C() #include "streams/php_stream_transport.h" #include "streams/php_stream_plain_wrapper.h" #include "streams/php_stream_glob_wrapper.h" #include "streams/php_stream_userspace.h" #include "streams/php_stream_mmap.h" /* coerce the stream into some other form */ /* cast as a stdio FILE * */ #define PHP_STREAM_AS_STDIO 0 /* cast as a POSIX fd or socketd */ #define PHP_STREAM_AS_FD 1 /* cast as a socketd */ #define PHP_STREAM_AS_SOCKETD 2 /* cast as fd/socket for select purposes */ #define PHP_STREAM_AS_FD_FOR_SELECT 3 /* try really, really hard to make sure the cast happens (avoid using this flag if possible) */ #define PHP_STREAM_CAST_TRY_HARD 0x80000000 #define PHP_STREAM_CAST_RELEASE 0x40000000 /* stream becomes invalid on success */ #define PHP_STREAM_CAST_INTERNAL 0x20000000 /* stream cast for internal use */ #define PHP_STREAM_CAST_MASK (PHP_STREAM_CAST_TRY_HARD | PHP_STREAM_CAST_RELEASE | PHP_STREAM_CAST_INTERNAL) BEGIN_EXTERN_C() PHPAPI int _php_stream_cast(php_stream *stream, int castas, void **ret, int show_err); END_EXTERN_C() /* use this to check if a stream can be cast into another form */ #define php_stream_can_cast(stream, as) _php_stream_cast((stream), (as), NULL, 0) #define php_stream_cast(stream, as, ret, show_err) _php_stream_cast((stream), (as), (ret), (show_err)) /* use this to check if a stream is of a particular type: * PHPAPI int php_stream_is(php_stream *stream, php_stream_ops *ops); */ #define php_stream_is(stream, anops) ((stream)->ops == anops) #define PHP_STREAM_IS_STDIO &php_stream_stdio_ops #define php_stream_is_persistent(stream) (stream)->is_persistent /* Wrappers support */ #define IGNORE_PATH 0x00000000 #define USE_PATH 0x00000001 #define IGNORE_URL 0x00000002 #define REPORT_ERRORS 0x00000008 /* If you don't need to write to the stream, but really need to * be able to seek, use this flag in your options. */ #define STREAM_MUST_SEEK 0x00000010 /* If you are going to end up casting the stream into a FILE* or * a socket, pass this flag and the streams/wrappers will not use * buffering mechanisms while reading the headers, so that HTTP * wrapped streams will work consistently. * If you omit this flag, streams will use buffering and should end * up working more optimally. * */ #define STREAM_WILL_CAST 0x00000020 /* this flag applies to php_stream_locate_url_wrapper */ #define STREAM_LOCATE_WRAPPERS_ONLY 0x00000040 /* this flag is only used by include/require functions */ #define STREAM_OPEN_FOR_INCLUDE 0x00000080 /* this flag tells streams to ONLY open urls */ #define STREAM_USE_URL 0x00000100 /* this flag is used when only the headers from HTTP request are to be fetched */ #define STREAM_ONLY_GET_HEADERS 0x00000200 /* don't apply open_basedir checks */ #define STREAM_DISABLE_OPEN_BASEDIR 0x00000400 /* get (or create) a persistent version of the stream */ #define STREAM_OPEN_PERSISTENT 0x00000800 /* use glob stream for directory open in plain files stream */ #define STREAM_USE_GLOB_DIR_OPEN 0x00001000 /* don't check allow_url_fopen and allow_url_include */ #define STREAM_DISABLE_URL_PROTECTION 0x00002000 /* assume the path passed in exists and is fully expanded, avoiding syscalls */ #define STREAM_ASSUME_REALPATH 0x00004000 /* Allow blocking reads on anonymous pipes on Windows. */ #define STREAM_USE_BLOCKING_PIPE 0x00008000 /* Antique - no longer has meaning */ #define IGNORE_URL_WIN 0 int php_init_stream_wrappers(int module_number); int php_shutdown_stream_wrappers(int module_number); void php_shutdown_stream_hashes(void); PHP_RSHUTDOWN_FUNCTION(streams); BEGIN_EXTERN_C() PHPAPI int php_register_url_stream_wrapper(const char *protocol, const php_stream_wrapper *wrapper); PHPAPI int php_unregister_url_stream_wrapper(const char *protocol); PHPAPI int php_register_url_stream_wrapper_volatile(zend_string *protocol, php_stream_wrapper *wrapper); PHPAPI int php_unregister_url_stream_wrapper_volatile(zend_string *protocol); PHPAPI php_stream *_php_stream_open_wrapper_ex(const char *path, const char *mode, int options, zend_string **opened_path, php_stream_context *context STREAMS_DC); PHPAPI php_stream_wrapper *php_stream_locate_url_wrapper(const char *path, const char **path_for_open, int options); PHPAPI const char *php_stream_locate_eol(php_stream *stream, zend_string *buf); #define php_stream_open_wrapper(path, mode, options, opened) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), NULL STREAMS_CC) #define php_stream_open_wrapper_ex(path, mode, options, opened, context) _php_stream_open_wrapper_ex((path), (mode), (options), (opened), (context) STREAMS_CC) /* pushes an error message onto the stack for a wrapper instance */ PHPAPI void php_stream_wrapper_log_error(const php_stream_wrapper *wrapper, int options, const char *fmt, ...) PHP_ATTRIBUTE_FORMAT(printf, 3, 4); #define PHP_STREAM_UNCHANGED 0 /* orig stream was seekable anyway */ #define PHP_STREAM_RELEASED 1 /* newstream should be used; origstream is no longer valid */ #define PHP_STREAM_FAILED 2 /* an error occurred while attempting conversion */ #define PHP_STREAM_CRITICAL 3 /* an error occurred; origstream is in an unknown state; you should close origstream */ #define PHP_STREAM_NO_PREFERENCE 0 #define PHP_STREAM_PREFER_STDIO 1 #define PHP_STREAM_FORCE_CONVERSION 2 /* DO NOT call this on streams that are referenced by resources! */ PHPAPI int _php_stream_make_seekable(php_stream *origstream, php_stream **newstream, int flags STREAMS_DC); #define php_stream_make_seekable(origstream, newstream, flags) _php_stream_make_seekable((origstream), (newstream), (flags) STREAMS_CC) /* Give other modules access to the url_stream_wrappers_hash and stream_filters_hash */ PHPAPI HashTable *_php_stream_get_url_stream_wrappers_hash(void); #define php_stream_get_url_stream_wrappers_hash() _php_stream_get_url_stream_wrappers_hash() PHPAPI HashTable *php_stream_get_url_stream_wrappers_hash_global(void); PHPAPI HashTable *_php_get_stream_filters_hash(void); #define php_get_stream_filters_hash() _php_get_stream_filters_hash() PHPAPI HashTable *php_get_stream_filters_hash_global(void); extern const php_stream_wrapper_ops *php_stream_user_wrapper_ops; END_EXTERN_C() #endif /* Definitions for user streams */ #define PHP_STREAM_IS_URL 1 /* Stream metadata definitions */ /* Create if referred resource does not exist */ #define PHP_STREAM_META_TOUCH 1 #define PHP_STREAM_META_OWNER_NAME 2 #define PHP_STREAM_META_OWNER 3 #define PHP_STREAM_META_GROUP_NAME 4 #define PHP_STREAM_META_GROUP 5 #define PHP_STREAM_META_ACCESS 6 php_syslog.h 0000644 00000002736 15004366161 0007116 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ #ifndef PHP_SYSLOG_H #define PHP_SYSLOG_H #include "php.h" #ifdef PHP_WIN32 #include "win32/syslog.h" #else #include <php_config.h> #ifdef HAVE_SYSLOG_H #include <syslog.h> #endif #endif /* Syslog filters */ #define PHP_SYSLOG_FILTER_ALL 0 #define PHP_SYSLOG_FILTER_NO_CTRL 1 #define PHP_SYSLOG_FILTER_ASCII 2 #define PHP_SYSLOG_FILTER_RAW 3 BEGIN_EXTERN_C() PHPAPI void php_syslog(int, const char *format, ...); PHPAPI void php_openlog(const char *, int, int); PHPAPI void php_closelog(); END_EXTERN_C() #endif php_ticks.h 0000644 00000002507 15004366161 0006707 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Bakken <ssb@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_TICKS_H #define PHP_TICKS_H int php_startup_ticks(void); void php_deactivate_ticks(void); void php_shutdown_ticks(void); void php_run_ticks(int count); BEGIN_EXTERN_C() PHPAPI void php_add_tick_function(void (*func)(int, void *), void *arg); PHPAPI void php_remove_tick_function(void (*func)(int, void *), void * arg); END_EXTERN_C() #endif php_variables.h 0000644 00000003623 15004366161 0007542 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf <rasmus@lerdorf.on.ca> | | Zeev Suraski <zeev@php.net> | +----------------------------------------------------------------------+ */ #ifndef PHP_VARIABLES_H #define PHP_VARIABLES_H #include "php.h" #include "SAPI.h" #define PARSE_POST 0 #define PARSE_GET 1 #define PARSE_COOKIE 2 #define PARSE_STRING 3 #define PARSE_ENV 4 #define PARSE_SERVER 5 #define PARSE_SESSION 6 BEGIN_EXTERN_C() void php_startup_auto_globals(void); extern PHPAPI void (*php_import_environment_variables)(zval *array_ptr); PHPAPI void php_register_variable(const char *var, const char *val, zval *track_vars_array); /* binary-safe version */ PHPAPI void php_register_variable_safe(const char *var, const char *val, size_t val_len, zval *track_vars_array); PHPAPI void php_register_variable_ex(const char *var, zval *val, zval *track_vars_array); PHPAPI void php_build_argv(const char *s, zval *track_vars_array); PHPAPI int php_hash_environment(void); END_EXTERN_C() #define NUM_TRACK_VARS 6 #endif /* PHP_VARIABLES_H */ php_version.h 0000644 00000000412 15004366161 0007250 0 ustar 00 /* automatically generated by configure */ /* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 8 #define PHP_MINOR_VERSION 0 #define PHP_RELEASE_VERSION 30 #define PHP_EXTRA_VERSION "" #define PHP_VERSION "8.0.30" #define PHP_VERSION_ID 80030 rfc1867.h 0000644 00000006215 15004366161 0006023 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: | +----------------------------------------------------------------------+ */ #ifndef RFC1867_H #define RFC1867_H #include "SAPI.h" #define MULTIPART_CONTENT_TYPE "multipart/form-data" #define MULTIPART_EVENT_START 0 #define MULTIPART_EVENT_FORMDATA 1 #define MULTIPART_EVENT_FILE_START 2 #define MULTIPART_EVENT_FILE_DATA 3 #define MULTIPART_EVENT_FILE_END 4 #define MULTIPART_EVENT_END 5 typedef struct _multipart_event_start { size_t content_length; } multipart_event_start; typedef struct _multipart_event_formdata { size_t post_bytes_processed; char *name; char **value; size_t length; size_t *newlength; } multipart_event_formdata; typedef struct _multipart_event_file_start { size_t post_bytes_processed; char *name; char **filename; } multipart_event_file_start; typedef struct _multipart_event_file_data { size_t post_bytes_processed; zend_off_t offset; char *data; size_t length; size_t *newlength; } multipart_event_file_data; typedef struct _multipart_event_file_end { size_t post_bytes_processed; char *temp_filename; int cancel_upload; } multipart_event_file_end; typedef struct _multipart_event_end { size_t post_bytes_processed; } multipart_event_end; typedef int (*php_rfc1867_encoding_translation_t)(void); typedef void (*php_rfc1867_get_detect_order_t)(const zend_encoding ***list, size_t *list_size); typedef void (*php_rfc1867_set_input_encoding_t)(const zend_encoding *encoding); typedef char* (*php_rfc1867_getword_t)(const zend_encoding *encoding, char **line, char stop); typedef char* (*php_rfc1867_getword_conf_t)(const zend_encoding *encoding, char *str); typedef char* (*php_rfc1867_basename_t)(const zend_encoding *encoding, char *str); SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler); PHPAPI void destroy_uploaded_files_hash(void); void php_rfc1867_register_constants(void); extern PHPAPI int (*php_rfc1867_callback)(unsigned int event, void *event_data, void **extra); SAPI_API void php_rfc1867_set_multibyte_callbacks( php_rfc1867_encoding_translation_t encoding_translation, php_rfc1867_get_detect_order_t get_detect_order, php_rfc1867_set_input_encoding_t set_input_encoding, php_rfc1867_getword_t getword, php_rfc1867_getword_conf_t getword_conf, php_rfc1867_basename_t basename); #endif /* RFC1867_H */ snprintf.h 0000644 00000015064 15004366161 0006570 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Stig Sæther Bakken <ssb@php.net> | | Marcus Boerger <helly@php.net> | +----------------------------------------------------------------------+ */ /* Comparing: sprintf, snprintf, slprintf, spprintf sprintf offers the ability to make a lot of failures since it does not know the size of the buffer it uses. Therefore usage of sprintf often results in possible entries for buffer overrun attacks. So please use this version only if you are sure the call is safe. sprintf always terminstes the buffer it writes to. snprintf knows the buffers size and will not write behind it. But you will have to use either a static buffer or allocate a dynamic buffer before being able to call the function. In other words you must be sure that you really know the maximum size of the buffer required. A bad thing is having a big maximum while in most cases you would only need a small buffer. If the size of the resulting string is longer or equal to the buffer size than the buffer is not terminated. The function also returns the number of chars not including the terminating \0 that were needed to fully comply to the print request. slprintf same as snprintf with the difference that it actually returns the length printed not including the terminating \0. spprintf is the dynamical version of snprintf. It allocates the buffer in size as needed and allows a maximum setting as snprintf (turn this feature off by setting max_len to 0). spprintf is a little bit slower than snprintf and offers possible memory leakes if you miss freeing the buffer allocated by the function. Therefore this function should be used where either no maximum is known or the maximum is much bigger than normal size required. spprintf always terminates the buffer. Example: #define MAX 1024 | #define MAX 1024 | #define MAX 1024 char buffer[MAX] | char buffer[MAX] | char *buffer; | | | | // No need to initialize buffer: | | // spprintf ignores value of buffer sprintf(buffer, "test"); | snprintf(buffer, MAX, "test"); | spprintf(&buffer, MAX, "text"); | | if (!buffer) | | return OUT_OF_MEMORY // sprintf always terminates | // manual termination of | // spprintf allays terminates buffer // buffer | // buffer *IS* required | | buffer[MAX-1] = 0; | action_with_buffer(buffer); | action_with_buffer(buffer); | action_with_buffer(buffer); | | efree(buffer); */ #ifndef SNPRINTF_H #define SNPRINTF_H typedef int bool_int; typedef enum { NO = 0, YES = 1 } boolean_e; BEGIN_EXTERN_C() PHPAPI int ap_php_slprintf(char *buf, size_t len, const char *format,...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4); PHPAPI int ap_php_vslprintf(char *buf, size_t len, const char *format, va_list ap); PHPAPI int ap_php_snprintf(char *, size_t, const char *, ...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4); PHPAPI int ap_php_vsnprintf(char *, size_t, const char *, va_list ap); PHPAPI int ap_php_vasprintf(char **buf, const char *format, va_list ap); PHPAPI int ap_php_asprintf(char **buf, const char *format, ...) ZEND_ATTRIBUTE_FORMAT(printf, 2, 3); PHPAPI char * php_gcvt(double value, int ndigit, char dec_point, char exponent, char *buf); PHPAPI char * php_0cvt(double value, int ndigit, char dec_point, char exponent, char *buf); PHPAPI char * php_conv_fp(char format, double num, boolean_e add_dp, int precision, char dec_point, bool_int * is_negative, char *buf, size_t *len); END_EXTERN_C() #ifdef slprintf #undef slprintf #endif #define slprintf ap_php_slprintf #ifdef vslprintf #undef vslprintf #endif #define vslprintf ap_php_vslprintf #ifdef snprintf #undef snprintf #endif #define snprintf ap_php_snprintf #ifdef vsnprintf #undef vsnprintf #endif #define vsnprintf ap_php_vsnprintf #ifndef HAVE_VASPRINTF #define vasprintf ap_php_vasprintf #endif #ifndef HAVE_ASPRINTF #define asprintf ap_php_asprintf #endif typedef enum { LM_STD = 0, #if SIZEOF_INTMAX_T LM_INTMAX_T, #endif #if SIZEOF_PTRDIFF_T LM_PTRDIFF_T, #endif #if SIZEOF_LONG_LONG LM_LONG_LONG, #endif LM_SIZE_T, LM_LONG, LM_LONG_DOUBLE, LM_PHP_INT_T } length_modifier_e; #ifdef PHP_WIN32 # define WIDE_INT __int64 #elif SIZEOF_LONG_LONG # define WIDE_INT long long #else # define WIDE_INT long #endif typedef WIDE_INT wide_int; typedef unsigned WIDE_INT u_wide_int; PHPAPI char * ap_php_conv_10(wide_int num, bool_int is_unsigned, bool_int * is_negative, char *buf_end, size_t *len); PHPAPI char * ap_php_conv_p2(u_wide_int num, int nbits, char format, char *buf_end, size_t *len); /* The maximum precision that's allowed for float conversion. Does not include * decimal separator, exponent, sign, terminator. Currently does not affect * the modes e/f, only g/k/H, as those have a different limit enforced at * another level (see NDIG in php_conv_fp()). * Applies to the formatting functions of both spprintf.c and snprintf.c, which * use equally sized buffers of MAX_BUF_SIZE = 512 to hold the result of the * call to php_gcvt(). * This should be reasonably smaller than MAX_BUF_SIZE (I think MAX_BUF_SIZE - 9 * should be enough, but let's give some more space) */ #define FORMAT_CONV_MAX_PRECISION 500 #endif /* SNPRINTF_H */ spprintf.h 0000644 00000002735 15004366161 0006573 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Marcus Boerger <helly@php.net> | +----------------------------------------------------------------------+ */ #ifndef SPPRINTF_H #define SPPRINTF_H #include "snprintf.h" #include "zend_smart_str_public.h" #include "zend_smart_string_public.h" BEGIN_EXTERN_C() PHPAPI void php_printf_to_smart_string(smart_string *buf, const char *format, va_list ap); PHPAPI void php_printf_to_smart_str(smart_str *buf, const char *format, va_list ap); END_EXTERN_C() #define spprintf zend_spprintf #define strpprintf zend_strpprintf #define vspprintf zend_vspprintf #define vstrpprintf zend_vstrpprintf #endif /* SPPRINTF_H */ streams/php_stream_context.h 0000644 00000012643 15004366161 0012311 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong <wez@thebrainroom.com> | +----------------------------------------------------------------------+ */ /* Stream context and status notification related definitions */ /* callback for status notifications */ typedef void (*php_stream_notification_func)(php_stream_context *context, int notifycode, int severity, char *xmsg, int xcode, size_t bytes_sofar, size_t bytes_max, void * ptr); #define PHP_STREAM_NOTIFIER_PROGRESS 1 /* Attempt to fetch context from the zval passed, If no context was passed, use the default context The default context has not yet been created, do it now. */ #define php_stream_context_from_zval(zcontext, nocontext) ( \ (zcontext) ? zend_fetch_resource_ex(zcontext, "Stream-Context", php_le_stream_context()) : \ (nocontext) ? NULL : \ FG(default_context) ? FG(default_context) : \ (FG(default_context) = php_stream_context_alloc()) ) #define php_stream_context_to_zval(context, zval) { ZVAL_RES(zval, (context)->res); GC_ADDREF((context)->res); } typedef struct _php_stream_notifier php_stream_notifier; struct _php_stream_notifier { php_stream_notification_func func; void (*dtor)(php_stream_notifier *notifier); zval ptr; int mask; size_t progress, progress_max; /* position for progress notification */ }; struct _php_stream_context { php_stream_notifier *notifier; zval options; /* hash keyed by wrapper family or specific wrapper */ zend_resource *res; /* used for auto-cleanup */ }; BEGIN_EXTERN_C() PHPAPI void php_stream_context_free(php_stream_context *context); PHPAPI php_stream_context *php_stream_context_alloc(void); PHPAPI zval *php_stream_context_get_option(php_stream_context *context, const char *wrappername, const char *optionname); PHPAPI int php_stream_context_set_option(php_stream_context *context, const char *wrappername, const char *optionname, zval *optionvalue); PHPAPI php_stream_notifier *php_stream_notification_alloc(void); PHPAPI void php_stream_notification_free(php_stream_notifier *notifier); END_EXTERN_C() /* not all notification codes are implemented */ #define PHP_STREAM_NOTIFY_RESOLVE 1 #define PHP_STREAM_NOTIFY_CONNECT 2 #define PHP_STREAM_NOTIFY_AUTH_REQUIRED 3 #define PHP_STREAM_NOTIFY_MIME_TYPE_IS 4 #define PHP_STREAM_NOTIFY_FILE_SIZE_IS 5 #define PHP_STREAM_NOTIFY_REDIRECTED 6 #define PHP_STREAM_NOTIFY_PROGRESS 7 #define PHP_STREAM_NOTIFY_COMPLETED 8 #define PHP_STREAM_NOTIFY_FAILURE 9 #define PHP_STREAM_NOTIFY_AUTH_RESULT 10 #define PHP_STREAM_NOTIFY_SEVERITY_INFO 0 #define PHP_STREAM_NOTIFY_SEVERITY_WARN 1 #define PHP_STREAM_NOTIFY_SEVERITY_ERR 2 BEGIN_EXTERN_C() PHPAPI void php_stream_notification_notify(php_stream_context *context, int notifycode, int severity, char *xmsg, int xcode, size_t bytes_sofar, size_t bytes_max, void * ptr); PHPAPI php_stream_context *php_stream_context_set(php_stream *stream, php_stream_context *context); END_EXTERN_C() #define php_stream_notify_info(context, code, xmsg, xcode) do { if ((context) && (context)->notifier) { \ php_stream_notification_notify((context), (code), PHP_STREAM_NOTIFY_SEVERITY_INFO, \ (xmsg), (xcode), 0, 0, NULL); } } while (0) #define php_stream_notify_progress(context, bsofar, bmax) do { if ((context) && (context)->notifier) { \ php_stream_notification_notify((context), PHP_STREAM_NOTIFY_PROGRESS, PHP_STREAM_NOTIFY_SEVERITY_INFO, \ NULL, 0, (bsofar), (bmax), NULL); } } while(0) #define php_stream_notify_progress_init(context, sofar, bmax) do { if ((context) && (context)->notifier) { \ (context)->notifier->progress = (sofar); \ (context)->notifier->progress_max = (bmax); \ (context)->notifier->mask |= PHP_STREAM_NOTIFIER_PROGRESS; \ php_stream_notify_progress((context), (sofar), (bmax)); } } while (0) #define php_stream_notify_progress_increment(context, dsofar, dmax) do { if ((context) && (context)->notifier && ((context)->notifier->mask & PHP_STREAM_NOTIFIER_PROGRESS)) { \ (context)->notifier->progress += (dsofar); \ (context)->notifier->progress_max += (dmax); \ php_stream_notify_progress((context), (context)->notifier->progress, (context)->notifier->progress_max); } } while (0) #define php_stream_notify_file_size(context, file_size, xmsg, xcode) do { if ((context) && (context)->notifier) { \ php_stream_notification_notify((context), PHP_STREAM_NOTIFY_FILE_SIZE_IS, PHP_STREAM_NOTIFY_SEVERITY_INFO, \ (xmsg), (xcode), 0, (file_size), NULL); } } while(0) #define php_stream_notify_error(context, code, xmsg, xcode) do { if ((context) && (context)->notifier) {\ php_stream_notification_notify((context), (code), PHP_STREAM_NOTIFY_SEVERITY_ERR, \ (xmsg), (xcode), 0, 0, NULL); } } while(0) streams/php_stream_filter_api.h 0000644 00000015064 15004366161 0012743 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong <wez@thebrainroom.com> | | With suggestions from: | | Moriyoshi Koizumi <moriyoshi@at.wakwak.com> | | Sara Golemon <pollita@php.net> | +----------------------------------------------------------------------+ */ /* The filter API works on the principle of "Bucket-Brigades". This is * partially inspired by the Apache 2 method of doing things, although * it is intentionally a light-weight implementation. * * Each stream can have a chain of filters for reading and another for writing. * * When data is written to the stream, it is placed into a bucket and placed at * the start of the input brigade. * * The first filter in the chain is invoked on the brigade and (depending on * it's return value), the next filter is invoked and so on. * */ #define PHP_STREAM_FILTER_READ 0x0001 #define PHP_STREAM_FILTER_WRITE 0x0002 #define PHP_STREAM_FILTER_ALL (PHP_STREAM_FILTER_READ | PHP_STREAM_FILTER_WRITE) typedef struct _php_stream_bucket php_stream_bucket; typedef struct _php_stream_bucket_brigade php_stream_bucket_brigade; struct _php_stream_bucket { php_stream_bucket *next, *prev; php_stream_bucket_brigade *brigade; char *buf; size_t buflen; /* if non-zero, buf should be pefreed when the bucket is destroyed */ uint8_t own_buf; uint8_t is_persistent; /* destroy this struct when refcount falls to zero */ int refcount; }; struct _php_stream_bucket_brigade { php_stream_bucket *head, *tail; }; typedef enum { PSFS_ERR_FATAL, /* error in data stream */ PSFS_FEED_ME, /* filter needs more data; stop processing chain until more is available */ PSFS_PASS_ON /* filter generated output buckets; pass them on to next in chain */ } php_stream_filter_status_t; /* Buckets API. */ BEGIN_EXTERN_C() PHPAPI php_stream_bucket *php_stream_bucket_new(php_stream *stream, char *buf, size_t buflen, uint8_t own_buf, uint8_t buf_persistent); PHPAPI int php_stream_bucket_split(php_stream_bucket *in, php_stream_bucket **left, php_stream_bucket **right, size_t length); PHPAPI void php_stream_bucket_delref(php_stream_bucket *bucket); #define php_stream_bucket_addref(bucket) (bucket)->refcount++ PHPAPI void php_stream_bucket_prepend(php_stream_bucket_brigade *brigade, php_stream_bucket *bucket); PHPAPI void php_stream_bucket_append(php_stream_bucket_brigade *brigade, php_stream_bucket *bucket); PHPAPI void php_stream_bucket_unlink(php_stream_bucket *bucket); PHPAPI php_stream_bucket *php_stream_bucket_make_writeable(php_stream_bucket *bucket); END_EXTERN_C() #define PSFS_FLAG_NORMAL 0 /* regular read/write */ #define PSFS_FLAG_FLUSH_INC 1 /* an incremental flush */ #define PSFS_FLAG_FLUSH_CLOSE 2 /* final flush prior to closing */ typedef struct _php_stream_filter_ops { php_stream_filter_status_t (*filter)( php_stream *stream, php_stream_filter *thisfilter, php_stream_bucket_brigade *buckets_in, php_stream_bucket_brigade *buckets_out, size_t *bytes_consumed, int flags ); void (*dtor)(php_stream_filter *thisfilter); const char *label; } php_stream_filter_ops; typedef struct _php_stream_filter_chain { php_stream_filter *head, *tail; /* Owning stream */ php_stream *stream; } php_stream_filter_chain; struct _php_stream_filter { const php_stream_filter_ops *fops; zval abstract; /* for use by filter implementation */ php_stream_filter *next; php_stream_filter *prev; int is_persistent; /* link into stream and chain */ php_stream_filter_chain *chain; /* buffered buckets */ php_stream_bucket_brigade buffer; /* filters are auto_registered when they're applied */ zend_resource *res; }; /* stack filter onto a stream */ BEGIN_EXTERN_C() PHPAPI void _php_stream_filter_prepend(php_stream_filter_chain *chain, php_stream_filter *filter); PHPAPI int php_stream_filter_prepend_ex(php_stream_filter_chain *chain, php_stream_filter *filter); PHPAPI void _php_stream_filter_append(php_stream_filter_chain *chain, php_stream_filter *filter); PHPAPI int php_stream_filter_append_ex(php_stream_filter_chain *chain, php_stream_filter *filter); PHPAPI int _php_stream_filter_flush(php_stream_filter *filter, int finish); PHPAPI php_stream_filter *php_stream_filter_remove(php_stream_filter *filter, int call_dtor); PHPAPI void php_stream_filter_free(php_stream_filter *filter); PHPAPI php_stream_filter *_php_stream_filter_alloc(const php_stream_filter_ops *fops, void *abstract, uint8_t persistent STREAMS_DC); END_EXTERN_C() #define php_stream_filter_alloc(fops, thisptr, persistent) _php_stream_filter_alloc((fops), (thisptr), (persistent) STREAMS_CC) #define php_stream_filter_alloc_rel(fops, thisptr, persistent) _php_stream_filter_alloc((fops), (thisptr), (persistent) STREAMS_REL_CC) #define php_stream_filter_prepend(chain, filter) _php_stream_filter_prepend((chain), (filter)) #define php_stream_filter_append(chain, filter) _php_stream_filter_append((chain), (filter)) #define php_stream_filter_flush(filter, finish) _php_stream_filter_flush((filter), (finish)) #define php_stream_is_filtered(stream) ((stream)->readfilters.head || (stream)->writefilters.head) typedef struct _php_stream_filter_factory { php_stream_filter *(*create_filter)(const char *filtername, zval *filterparams, uint8_t persistent); } php_stream_filter_factory; BEGIN_EXTERN_C() PHPAPI int php_stream_filter_register_factory(const char *filterpattern, const php_stream_filter_factory *factory); PHPAPI int php_stream_filter_unregister_factory(const char *filterpattern); PHPAPI int php_stream_filter_register_factory_volatile(zend_string *filterpattern, const php_stream_filter_factory *factory); PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval *filterparams, uint8_t persistent); END_EXTERN_C() streams/php_stream_glob_wrapper.h 0000644 00000003305 15004366161 0013303 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Marcus Boerger <helly@php.net> | +----------------------------------------------------------------------+ */ PHPAPI extern const php_stream_wrapper php_glob_stream_wrapper; PHPAPI extern const php_stream_ops php_glob_stream_ops; BEGIN_EXTERN_C() PHPAPI char* _php_glob_stream_get_path(php_stream *stream, size_t *plen STREAMS_DC); #define php_glob_stream_get_path(stream, plen) _php_glob_stream_get_path((stream), (plen) STREAMS_CC) PHPAPI char* _php_glob_stream_get_pattern(php_stream *stream, size_t *plen STREAMS_DC); #define php_glob_stream_get_pattern(stream, plen) _php_glob_stream_get_pattern((stream), (plen) STREAMS_CC) PHPAPI int _php_glob_stream_get_count(php_stream *stream, int *pflags STREAMS_DC); #define php_glob_stream_get_count(stream, pflags) _php_glob_stream_get_count((stream), (pflags) STREAMS_CC) END_EXTERN_C() streams/php_stream_mmap.h 0000644 00000006165 15004366161 0011561 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong <wez@thebrainroom.com> | +----------------------------------------------------------------------+ */ /* Memory Mapping interface for streams. * The intention is to provide a uniform interface over the most common * operations that are used within PHP itself, rather than a complete * API for all memory mapping needs. * * ATM, we support only mmap(), but win32 memory mapping support will * follow soon. * */ typedef enum { /* Does the stream support mmap ? */ PHP_STREAM_MMAP_SUPPORTED, /* Request a range and offset to be mapped; * while mapped, you MUST NOT use any read/write functions * on the stream (win9x compatibility) */ PHP_STREAM_MMAP_MAP_RANGE, /* Unmap the last range that was mapped for the stream */ PHP_STREAM_MMAP_UNMAP } php_stream_mmap_operation_t; typedef enum { PHP_STREAM_MAP_MODE_READONLY, PHP_STREAM_MAP_MODE_READWRITE, PHP_STREAM_MAP_MODE_SHARED_READONLY, PHP_STREAM_MAP_MODE_SHARED_READWRITE } php_stream_mmap_access_t; typedef struct { /* requested offset and length. * If length is 0, the whole file is mapped */ size_t offset; size_t length; php_stream_mmap_access_t mode; /* returned mapped address */ char *mapped; } php_stream_mmap_range; #define PHP_STREAM_MMAP_ALL 0 #define PHP_STREAM_MMAP_MAX (512 * 1024 * 1024) #define php_stream_mmap_supported(stream) (_php_stream_set_option((stream), PHP_STREAM_OPTION_MMAP_API, PHP_STREAM_MMAP_SUPPORTED, NULL) == 0 ? 1 : 0) /* Returns 1 if the stream in its current state can be memory mapped, * 0 otherwise */ #define php_stream_mmap_possible(stream) (!php_stream_is_filtered((stream)) && php_stream_mmap_supported((stream))) BEGIN_EXTERN_C() PHPAPI char *_php_stream_mmap_range(php_stream *stream, size_t offset, size_t length, php_stream_mmap_access_t mode, size_t *mapped_len); #define php_stream_mmap_range(stream, offset, length, mode, mapped_len) _php_stream_mmap_range((stream), (offset), (length), (mode), (mapped_len)) /* un-maps the last mapped range */ PHPAPI int _php_stream_mmap_unmap(php_stream *stream); #define php_stream_mmap_unmap(stream) _php_stream_mmap_unmap((stream)) PHPAPI int _php_stream_mmap_unmap_ex(php_stream *stream, zend_off_t readden); #define php_stream_mmap_unmap_ex(stream, readden) _php_stream_mmap_unmap_ex((stream), (readden)) END_EXTERN_C() streams/php_stream_plain_wrapper.h 0000644 00000006674 15004366161 0013477 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong <wez@thebrainroom.com> | +----------------------------------------------------------------------+ */ /* definitions for the plain files wrapper */ /* operations for a plain file; use the php_stream_fopen_XXX funcs below */ PHPAPI extern php_stream_ops php_stream_stdio_ops; PHPAPI extern /*const*/ php_stream_wrapper php_plain_files_wrapper; BEGIN_EXTERN_C() /* like fopen, but returns a stream */ PHPAPI php_stream *_php_stream_fopen(const char *filename, const char *mode, zend_string **opened_path, int options STREAMS_DC); #define php_stream_fopen(filename, mode, opened) _php_stream_fopen((filename), (mode), (opened), 0 STREAMS_CC) PHPAPI php_stream *_php_stream_fopen_with_path(const char *filename, const char *mode, const char *path, zend_string **opened_path, int options STREAMS_DC); #define php_stream_fopen_with_path(filename, mode, path, opened) _php_stream_fopen_with_path((filename), (mode), (path), (opened), 0 STREAMS_CC) PHPAPI php_stream *_php_stream_fopen_from_file(FILE *file, const char *mode STREAMS_DC); #define php_stream_fopen_from_file(file, mode) _php_stream_fopen_from_file((file), (mode) STREAMS_CC) PHPAPI php_stream *_php_stream_fopen_from_fd(int fd, const char *mode, const char *persistent_id STREAMS_DC); #define php_stream_fopen_from_fd(fd, mode, persistent_id) _php_stream_fopen_from_fd((fd), (mode), (persistent_id) STREAMS_CC) PHPAPI php_stream *_php_stream_fopen_from_pipe(FILE *file, const char *mode STREAMS_DC); #define php_stream_fopen_from_pipe(file, mode) _php_stream_fopen_from_pipe((file), (mode) STREAMS_CC) PHPAPI php_stream *_php_stream_fopen_tmpfile(int dummy STREAMS_DC); #define php_stream_fopen_tmpfile() _php_stream_fopen_tmpfile(0 STREAMS_CC) PHPAPI php_stream *_php_stream_fopen_temporary_file(const char *dir, const char *pfx, zend_string **opened_path STREAMS_DC); #define php_stream_fopen_temporary_file(dir, pfx, opened_path) _php_stream_fopen_temporary_file((dir), (pfx), (opened_path) STREAMS_CC) /* This is a utility API for extensions that are opening a stream, converting it * to a FILE* and then closing it again. Be warned that fileno() on the result * will most likely fail on systems with fopencookie. */ PHPAPI FILE * _php_stream_open_wrapper_as_file(char * path, char * mode, int options, zend_string **opened_path STREAMS_DC); #define php_stream_open_wrapper_as_file(path, mode, options, opened_path) _php_stream_open_wrapper_as_file((path), (mode), (options), (opened_path) STREAMS_CC) /* parse standard "fopen" modes into open() flags */ PHPAPI int php_stream_parse_fopen_modes(const char *mode, int *open_flags); END_EXTERN_C() streams/php_stream_transport.h 0000644 00000016676 15004366161 0012673 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong <wez@thebrainroom.com> | +----------------------------------------------------------------------+ */ #ifdef PHP_WIN32 #include "config.w32.h" #include <Ws2tcpip.h> #endif #if HAVE_SYS_SOCKET_H # include <sys/socket.h> #endif typedef php_stream *(php_stream_transport_factory_func)(const char *proto, size_t protolen, const char *resourcename, size_t resourcenamelen, const char *persistent_id, int options, int flags, struct timeval *timeout, php_stream_context *context STREAMS_DC); typedef php_stream_transport_factory_func *php_stream_transport_factory; BEGIN_EXTERN_C() PHPAPI int php_stream_xport_register(const char *protocol, php_stream_transport_factory factory); PHPAPI int php_stream_xport_unregister(const char *protocol); #define STREAM_XPORT_CLIENT 0 #define STREAM_XPORT_SERVER 1 #define STREAM_XPORT_CONNECT 2 #define STREAM_XPORT_BIND 4 #define STREAM_XPORT_LISTEN 8 #define STREAM_XPORT_CONNECT_ASYNC 16 /* Open a client or server socket connection */ PHPAPI php_stream *_php_stream_xport_create(const char *name, size_t namelen, int options, int flags, const char *persistent_id, struct timeval *timeout, php_stream_context *context, zend_string **error_string, int *error_code STREAMS_DC); #define php_stream_xport_create(name, namelen, options, flags, persistent_id, timeout, context, estr, ecode) \ _php_stream_xport_create(name, namelen, options, flags, persistent_id, timeout, context, estr, ecode STREAMS_CC) /* Bind the stream to a local address */ PHPAPI int php_stream_xport_bind(php_stream *stream, const char *name, size_t namelen, zend_string **error_text ); /* Connect to a remote address */ PHPAPI int php_stream_xport_connect(php_stream *stream, const char *name, size_t namelen, int asynchronous, struct timeval *timeout, zend_string **error_text, int *error_code ); /* Prepare to listen */ PHPAPI int php_stream_xport_listen(php_stream *stream, int backlog, zend_string **error_text ); /* Get the next client and their address as a string, or the underlying address * structure. You must efree either of these if you request them */ PHPAPI int php_stream_xport_accept(php_stream *stream, php_stream **client, zend_string **textaddr, void **addr, socklen_t *addrlen, struct timeval *timeout, zend_string **error_text ); /* Get the name of either the socket or it's peer */ PHPAPI int php_stream_xport_get_name(php_stream *stream, int want_peer, zend_string **textaddr, void **addr, socklen_t *addrlen ); enum php_stream_xport_send_recv_flags { STREAM_OOB = 1, STREAM_PEEK = 2 }; /* Similar to recv() system call; read data from the stream, optionally * peeking, optionally retrieving OOB data */ PHPAPI int php_stream_xport_recvfrom(php_stream *stream, char *buf, size_t buflen, int flags, void **addr, socklen_t *addrlen, zend_string **textaddr); /* Similar to send() system call; send data to the stream, optionally * sending it as OOB data */ PHPAPI int php_stream_xport_sendto(php_stream *stream, const char *buf, size_t buflen, int flags, void *addr, socklen_t addrlen); typedef enum { STREAM_SHUT_RD, STREAM_SHUT_WR, STREAM_SHUT_RDWR } stream_shutdown_t; /* Similar to shutdown() system call; shut down part of a full-duplex * connection */ PHPAPI int php_stream_xport_shutdown(php_stream *stream, stream_shutdown_t how); END_EXTERN_C() /* Structure definition for the set_option interface that the above functions wrap */ typedef struct _php_stream_xport_param { enum { STREAM_XPORT_OP_BIND, STREAM_XPORT_OP_CONNECT, STREAM_XPORT_OP_LISTEN, STREAM_XPORT_OP_ACCEPT, STREAM_XPORT_OP_CONNECT_ASYNC, STREAM_XPORT_OP_GET_NAME, STREAM_XPORT_OP_GET_PEER_NAME, STREAM_XPORT_OP_RECV, STREAM_XPORT_OP_SEND, STREAM_XPORT_OP_SHUTDOWN } op; unsigned int want_addr:1; unsigned int want_textaddr:1; unsigned int want_errortext:1; unsigned int how:2; struct { char *name; size_t namelen; struct timeval *timeout; struct sockaddr *addr; char *buf; size_t buflen; socklen_t addrlen; int backlog; int flags; } inputs; struct { php_stream *client; struct sockaddr *addr; socklen_t addrlen; zend_string *textaddr; zend_string *error_text; int returncode; int error_code; } outputs; } php_stream_xport_param; /* Because both client and server streams use the same mechanisms for encryption we use the LSB to denote clients. */ typedef enum { STREAM_CRYPTO_METHOD_SSLv2_CLIENT = (1 << 1 | 1), STREAM_CRYPTO_METHOD_SSLv3_CLIENT = (1 << 2 | 1), /* v23 no longer negotiates SSL2 or SSL3 */ STREAM_CRYPTO_METHOD_SSLv23_CLIENT = ((1 << 3) | (1 << 4) | (1 << 5) | 1), STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT = (1 << 3 | 1), STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT = (1 << 4 | 1), STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT = (1 << 5 | 1), STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT = (1 << 6 | 1), /* TLS equates to TLS_ANY as of PHP 7.2 */ STREAM_CRYPTO_METHOD_TLS_CLIENT = ((1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | 1), STREAM_CRYPTO_METHOD_TLS_ANY_CLIENT = ((1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | 1), STREAM_CRYPTO_METHOD_ANY_CLIENT = ((1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | 1), STREAM_CRYPTO_METHOD_SSLv2_SERVER = (1 << 1), STREAM_CRYPTO_METHOD_SSLv3_SERVER = (1 << 2), /* v23 no longer negotiates SSL2 or SSL3 */ STREAM_CRYPTO_METHOD_SSLv23_SERVER = ((1 << 3) | (1 << 4) | (1 << 5) | (1 << 6)), STREAM_CRYPTO_METHOD_TLSv1_0_SERVER = (1 << 3), STREAM_CRYPTO_METHOD_TLSv1_1_SERVER = (1 << 4), STREAM_CRYPTO_METHOD_TLSv1_2_SERVER = (1 << 5), STREAM_CRYPTO_METHOD_TLSv1_3_SERVER = (1 << 6), /* TLS equates to TLS_ANY as of PHP 7.2 */ STREAM_CRYPTO_METHOD_TLS_SERVER = ((1 << 3) | (1 << 4) | (1 << 5) | (1 << 6)), STREAM_CRYPTO_METHOD_TLS_ANY_SERVER = ((1 << 3) | (1 << 4) | (1 << 5) | (1 << 6)), STREAM_CRYPTO_METHOD_ANY_SERVER = ((1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6)) } php_stream_xport_crypt_method_t; /* These functions provide crypto support on the underlying transport */ BEGIN_EXTERN_C() PHPAPI int php_stream_xport_crypto_setup(php_stream *stream, php_stream_xport_crypt_method_t crypto_method, php_stream *session_stream); PHPAPI int php_stream_xport_crypto_enable(php_stream *stream, int activate); END_EXTERN_C() typedef struct _php_stream_xport_crypto_param { struct { php_stream *session; int activate; php_stream_xport_crypt_method_t method; } inputs; struct { int returncode; } outputs; enum { STREAM_XPORT_CRYPTO_OP_SETUP, STREAM_XPORT_CRYPTO_OP_ENABLE } op; } php_stream_xport_crypto_param; BEGIN_EXTERN_C() PHPAPI HashTable *php_stream_xport_get_hash(void); PHPAPI php_stream_transport_factory_func php_stream_generic_socket_factory; END_EXTERN_C() streams/php_stream_userspace.h 0000644 00000002373 15004366161 0012616 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong <wez@thebrainroom.com> | +----------------------------------------------------------------------+ */ /* for user-space streams */ PHPAPI extern const php_stream_ops php_stream_userspace_ops; PHPAPI extern const php_stream_ops php_stream_userspace_dir_ops; #define PHP_STREAM_IS_USERSPACE &php_stream_userspace_ops #define PHP_STREAM_IS_USERSPACE_DIR &php_stream_userspace_dir_ops streams/php_streams_int.h 0000644 00000005435 15004366161 0011603 0 ustar 00 /* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Wez Furlong <wez@thebrainroom.com> | +----------------------------------------------------------------------+ */ #if ZEND_DEBUG #define emalloc_rel_orig(size) \ ( __php_stream_call_depth == 0 \ ? _emalloc((size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_RELAY_CC) \ : _emalloc((size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_ORIG_RELAY_CC) ) #define erealloc_rel_orig(ptr, size) \ ( __php_stream_call_depth == 0 \ ? _erealloc((ptr), (size), 0 ZEND_FILE_LINE_CC ZEND_FILE_LINE_RELAY_CC) \ : _erealloc((ptr), (size), 0 ZEND_FILE_LINE_CC ZEND_FILE_LINE_ORIG_RELAY_CC) ) #define pemalloc_rel_orig(size, persistent) ((persistent) ? malloc((size)) : emalloc_rel_orig((size))) #define perealloc_rel_orig(ptr, size, persistent) ((persistent) ? realloc((ptr), (size)) : erealloc_rel_orig((ptr), (size))) #else # define pemalloc_rel_orig(size, persistent) pemalloc((size), (persistent)) # define perealloc_rel_orig(ptr, size, persistent) perealloc((ptr), (size), (persistent)) # define emalloc_rel_orig(size) emalloc((size)) #endif #define STREAM_DEBUG 0 #define STREAM_WRAPPER_PLAIN_FILES ((php_stream_wrapper*)-1) #ifndef MAP_FAILED #define MAP_FAILED ((void *) -1) #endif #define CHUNK_SIZE 8192 #ifdef PHP_WIN32 # ifdef EWOULDBLOCK # undef EWOULDBLOCK # endif # define EWOULDBLOCK WSAEWOULDBLOCK # ifdef EMSGSIZE # undef EMSGSIZE # endif # define EMSGSIZE WSAEMSGSIZE #endif /* This functions transforms the first char to 'w' if it's not 'r', 'a' or 'w' * and strips any subsequent chars except '+' and 'b'. * Use this to sanitize stream->mode if you call e.g. fdopen, fopencookie or * any other function that expects standard modes and you allow non-standard * ones. result should be a char[5]. */ void php_stream_mode_sanitize_fdopen_fopencookie(php_stream *stream, char *result); void php_stream_tidy_wrapper_error_log(php_stream_wrapper *wrapper); void php_stream_display_wrapper_errors(php_stream_wrapper *wrapper, const char *path, const char *caption);
| ver. 1.4 |
Github
|
.
| PHP 8.1.31 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка