123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- /*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2016 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@zend.com> |
- | Zeev Suraski <zeev@zend.com> |
- +----------------------------------------------------------------------+
- */
- /* $Id$ */
- #ifndef BASIC_FUNCTIONS_H
- #define BASIC_FUNCTIONS_H
- #include <sys/stat.h>
- #ifdef HAVE_WCHAR_H
- #include <wchar.h>
- #endif
- #include "php_filestat.h"
- #include "zend_highlight.h"
- #include "url_scanner_ex.h"
- extern zend_module_entry basic_functions_module;
- #define basic_functions_module_ptr &basic_functions_module
- PHP_MINIT_FUNCTION(basic);
- PHP_MSHUTDOWN_FUNCTION(basic);
- PHP_RINIT_FUNCTION(basic);
- PHP_RSHUTDOWN_FUNCTION(basic);
- PHP_MINFO_FUNCTION(basic);
- PHP_FUNCTION(constant);
- PHP_FUNCTION(sleep);
- PHP_FUNCTION(usleep);
- #if HAVE_NANOSLEEP
- PHP_FUNCTION(time_nanosleep);
- PHP_FUNCTION(time_sleep_until);
- #endif
- PHP_FUNCTION(flush);
- #ifdef HAVE_INET_NTOP
- PHP_NAMED_FUNCTION(php_inet_ntop);
- #endif
- #ifdef HAVE_INET_PTON
- PHP_NAMED_FUNCTION(php_inet_pton);
- #endif
- PHP_FUNCTION(ip2long);
- PHP_FUNCTION(long2ip);
- /* system functions */
- PHP_FUNCTION(getenv);
- PHP_FUNCTION(putenv);
- PHP_FUNCTION(getopt);
- PHP_FUNCTION(get_current_user);
- PHP_FUNCTION(set_time_limit);
- PHP_FUNCTION(header_register_callback);
- PHP_FUNCTION(get_cfg_var);
- PHP_FUNCTION(set_magic_quotes_runtime);
- PHP_FUNCTION(get_magic_quotes_runtime);
- PHP_FUNCTION(get_magic_quotes_gpc);
- PHP_FUNCTION(error_log);
- PHP_FUNCTION(error_get_last);
- PHP_FUNCTION(call_user_func);
- PHP_FUNCTION(call_user_func_array);
- PHP_FUNCTION(call_user_method);
- PHP_FUNCTION(call_user_method_array);
- PHP_FUNCTION(forward_static_call);
- PHP_FUNCTION(forward_static_call_array);
- PHP_FUNCTION(register_shutdown_function);
- PHP_FUNCTION(highlight_file);
- PHP_FUNCTION(highlight_string);
- PHP_FUNCTION(php_strip_whitespace);
- ZEND_API void php_get_highlight_struct(zend_syntax_highlighter_ini *syntax_highlighter_ini);
- PHP_FUNCTION(ini_get);
- PHP_FUNCTION(ini_get_all);
- PHP_FUNCTION(ini_set);
- PHP_FUNCTION(ini_restore);
- PHP_FUNCTION(get_include_path);
- PHP_FUNCTION(set_include_path);
- PHP_FUNCTION(restore_include_path);
- PHP_FUNCTION(print_r);
- PHP_FUNCTION(fprintf);
- PHP_FUNCTION(vfprintf);
- PHP_FUNCTION(connection_aborted);
- PHP_FUNCTION(connection_status);
- PHP_FUNCTION(ignore_user_abort);
- PHP_FUNCTION(getservbyname);
- PHP_FUNCTION(getservbyport);
- PHP_FUNCTION(getprotobyname);
- PHP_FUNCTION(getprotobynumber);
- PHP_NAMED_FUNCTION(php_if_crc32);
- PHP_FUNCTION(register_tick_function);
- PHP_FUNCTION(unregister_tick_function);
- #ifdef HAVE_GETLOADAVG
- PHP_FUNCTION(sys_getloadavg);
- #endif
- PHP_FUNCTION(is_uploaded_file);
- PHP_FUNCTION(move_uploaded_file);
- /* From the INI parser */
- PHP_FUNCTION(parse_ini_file);
- PHP_FUNCTION(parse_ini_string);
- #if ZEND_DEBUG
- PHP_FUNCTION(config_get_hash);
- #endif
- PHP_FUNCTION(str_rot13);
- PHP_FUNCTION(stream_get_filters);
- PHP_FUNCTION(stream_filter_register);
- PHP_FUNCTION(stream_bucket_make_writeable);
- PHP_FUNCTION(stream_bucket_prepend);
- PHP_FUNCTION(stream_bucket_append);
- PHP_FUNCTION(stream_bucket_new);
- PHP_MINIT_FUNCTION(user_filters);
- PHP_RSHUTDOWN_FUNCTION(user_filters);
- PHP_RSHUTDOWN_FUNCTION(browscap);
- /* Left for BC (not binary safe!) */
- PHPAPI int _php_error_log(int opt_err, char *message, char *opt, char *headers TSRMLS_DC);
- PHPAPI int _php_error_log_ex(int opt_err, char *message, int message_len, char *opt, char *headers TSRMLS_DC);
- PHPAPI int php_prefix_varname(zval *result, zval *prefix, char *var_name, int var_name_len, zend_bool add_underscore TSRMLS_DC);
- #if SIZEOF_INT == 4
- /* Most 32-bit and 64-bit systems have 32-bit ints */
- typedef unsigned int php_uint32;
- typedef signed int php_int32;
- #elif SIZEOF_LONG == 4
- /* 16-bit systems? */
- typedef unsigned long php_uint32;
- typedef signed long php_int32;
- #else
- #error Need type which holds 32 bits
- #endif
- #define MT_N (624)
- typedef struct _php_basic_globals {
- HashTable *user_shutdown_function_names;
- HashTable putenv_ht;
- zval *strtok_zval;
- char *strtok_string;
- char *locale_string;
- char *strtok_last;
- char strtok_table[256];
- ulong strtok_len;
- char str_ebuf[40];
- zend_fcall_info array_walk_fci;
- zend_fcall_info_cache array_walk_fci_cache;
- zend_fcall_info user_compare_fci;
- zend_fcall_info_cache user_compare_fci_cache;
- zend_llist *user_tick_functions;
- zval *active_ini_file_section;
-
- /* pageinfo.c */
- long page_uid;
- long page_gid;
- long page_inode;
- time_t page_mtime;
- /* filestat.c && main/streams/streams.c */
- char *CurrentStatFile, *CurrentLStatFile;
- php_stream_statbuf ssb, lssb;
- /* rand.c */
- php_uint32 state[MT_N+1]; /* state vector + 1 extra to not violate ANSI C */
- php_uint32 *next; /* next random value is computed from here */
- int left; /* can *next++ this many times before reloading */
- unsigned int rand_seed; /* Seed for rand(), in ts version */
- zend_bool rand_is_seeded; /* Whether rand() has been seeded */
- zend_bool mt_rand_is_seeded; /* Whether mt_rand() has been seeded */
-
- /* syslog.c */
- char *syslog_device;
- /* var.c */
- zend_class_entry *incomplete_class;
- unsigned serialize_lock; /* whether to use the locally supplied var_hash instead (__sleep/__wakeup) */
- struct {
- void *var_hash;
- unsigned level;
- } serialize;
- struct {
- void *var_hash;
- unsigned level;
- } unserialize;
- /* url_scanner_ex.re */
- url_adapt_state_ex_t url_adapt_state_ex;
- #ifdef HAVE_MMAP
- void *mmap_file;
- size_t mmap_len;
- #endif
- HashTable *user_filter_map;
- /* file.c */
- #if defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T)
- mbstate_t mblen_state;
- #endif
- int umask;
- } php_basic_globals;
- #ifdef ZTS
- #define BG(v) TSRMG(basic_globals_id, php_basic_globals *, v)
- PHPAPI extern int basic_globals_id;
- #else
- #define BG(v) (basic_globals.v)
- PHPAPI extern php_basic_globals basic_globals;
- #endif
- #if HAVE_PUTENV
- typedef struct {
- char *putenv_string;
- char *previous_value;
- char *key;
- int key_len;
- } putenv_entry;
- #endif
- PHPAPI double php_get_nan(void);
- PHPAPI double php_get_inf(void);
- typedef struct _php_shutdown_function_entry {
- zval **arguments;
- int arg_count;
- } php_shutdown_function_entry;
- PHPAPI extern zend_bool register_user_shutdown_function(char *function_name, size_t function_len, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC);
- PHPAPI extern zend_bool remove_user_shutdown_function(char *function_name, size_t function_len TSRMLS_DC);
- PHPAPI extern zend_bool append_user_shutdown_function(php_shutdown_function_entry shutdown_function_entry TSRMLS_DC);
- PHPAPI void php_call_shutdown_functions(TSRMLS_D);
- PHPAPI void php_free_shutdown_functions(TSRMLS_D);
- #endif /* BASIC_FUNCTIONS_H */
|