summaryrefslogtreecommitdiff
path: root/ext/standard/basic_functions.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/basic_functions.h')
-rw-r--r--ext/standard/basic_functions.h264
1 files changed, 264 insertions, 0 deletions
diff --git a/ext/standard/basic_functions.h b/ext/standard/basic_functions.h
new file mode 100644
index 0000000..7327f7d
--- /dev/null
+++ b/ext/standard/basic_functions.h
@@ -0,0 +1,264 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2013 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);
+
+#endif /* BASIC_FUNCTIONS_H */