php-src/ext/standard/basic_functions.h

210 lines
5.4 KiB
C
Raw Normal View History

2000-12-18 19:23:50 +00:00
/*
+----------------------------------------------------------------------+
2001-12-11 15:32:16 +00:00
| PHP Version 4 |
+----------------------------------------------------------------------+
2001-12-11 15:32:16 +00:00
| Copyright (c) 1997-2002 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 2.02 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available at through the world-wide-web at |
| http://www.php.net/license/2_02.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
1999-12-12 16:48:54 +00:00
#include <sys/stat.h>
#include "zend_highlight.h"
#include "url_scanner.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);
1999-05-16 11:19:26 +00:00
PHP_FUNCTION(toggle_short_open_tag);
PHP_FUNCTION(sleep);
PHP_FUNCTION(usleep);
PHP_FUNCTION(flush);
PHP_FUNCTION(ip2long);
PHP_FUNCTION(long2ip);
/* system functions */
1999-05-16 11:19:26 +00:00
PHP_FUNCTION(getenv);
PHP_FUNCTION(putenv);
1999-05-16 11:19:26 +00:00
PHP_FUNCTION(get_current_user);
PHP_FUNCTION(set_time_limit);
1999-05-16 11:19:26 +00:00
PHP_FUNCTION(get_cfg_var);
PHP_FUNCTION(set_magic_quotes_runtime);
PHP_FUNCTION(get_magic_quotes_runtime);
PHP_FUNCTION(get_magic_quotes_gpc);
2001-08-08 20:05:37 +00:00
PHP_FUNCTION(import_request_variables);
1999-05-16 11:19:26 +00:00
PHP_FUNCTION(error_log);
1999-05-16 11:19:26 +00:00
PHP_FUNCTION(call_user_func);
PHP_FUNCTION(call_user_func_array);
1999-05-16 11:19:26 +00:00
PHP_FUNCTION(call_user_method);
PHP_FUNCTION(call_user_method_array);
PHP_FUNCTION(register_shutdown_function);
PHP_FUNCTION(highlight_file);
PHP_FUNCTION(highlight_string);
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(print_r);
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);
2000-09-08 22:26:07 +00:00
PHP_FUNCTION(is_uploaded_file);
PHP_FUNCTION(move_uploaded_file);
2000-09-08 21:56:47 +00:00
/* From the INI parser */
PHP_FUNCTION(parse_ini_file);
2001-12-06 21:39:01 +00:00
PHP_FUNCTION(str_rot13);
2001-12-06 19:02:27 +00:00
2000-02-11 15:59:30 +00:00
#ifdef PHP_WIN32
1999-12-12 16:48:54 +00:00
typedef unsigned int php_stat_len;
#else
typedef int php_stat_len;
#endif
PHPAPI int _php_error_log(int opt_err, char *message, char *opt, char *headers TSRMLS_DC);
2000-08-21 09:50:53 +00:00
1999-12-13 18:31:29 +00:00
#if SIZEOF_INT == 4
/* Most 32-bit and 64-bit systems have 32-bit ints */
typedef unsigned int php_uint32;
2001-07-18 22:54:55 +00:00
typedef signed int php_int32;
1999-12-13 18:31:29 +00:00
#elif SIZEOF_LONG == 4
/* 16-bit systems? */
typedef unsigned long php_uint32;
2001-07-18 22:54:55 +00:00
typedef signed int php_int32;
1999-12-13 18:31:29 +00:00
#else
#error Need type which holds 32 bits
#endif
#define MT_N (624)
typedef struct {
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];
1999-12-01 17:21:52 +00:00
zval **array_walk_func_name;
zval **user_compare_func_name;
zend_llist *user_tick_functions;
zval *active_ini_file_section;
2000-12-18 19:23:50 +00:00
HashTable sm_protected_env_vars;
char *sm_allowed_env_vars;
1999-12-12 16:48:54 +00:00
/* pageinfo.c */
long page_uid;
long page_gid;
long page_inode;
long page_mtime;
1999-12-12 16:48:54 +00:00
/* filestat.c */
char *CurrentStatFile;
php_stat_len CurrentStatLength;
struct stat sb;
struct stat lsb;
1999-12-13 18:31:29 +00:00
/* 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 */
1999-12-13 18:31:29 +00:00
int left; /* can *next++ this many times before reloading */
2000-05-28 16:19:45 +00:00
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 */
2000-05-28 16:19:45 +00:00
/* syslog.c */
int syslog_started;
char *syslog_device;
/* var.c */
zend_class_entry *incomplete_class;
/* url_scanner.c */
2000-12-18 19:23:50 +00:00
url_adapt_state_t url_adapt_state;
/* url_scanner_ex.re */
2000-12-18 19:23:50 +00:00
url_adapt_state_ex_t url_adapt_state_ex;
#ifdef HAVE_MMAP
void *mmap_file;
size_t mmap_len;
#endif
HashTable *aggregation_table;
} php_basic_globals;
#ifdef ZTS
#define BG(v) TSRMG(basic_globals_id, php_basic_globals *, v)
1999-12-01 17:21:52 +00:00
extern int basic_globals_id;
#else
#define BG(v) (basic_globals.v)
1999-12-01 17:21:52 +00:00
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
2000-01-30 22:14:58 +00:00
/* Values are comma-delimited
*/
#define SAFE_MODE_PROTECTED_ENV_VARS "LD_LIBRARY_PATH"
#define SAFE_MODE_ALLOWED_ENV_VARS "PHP_"
#endif /* BASIC_FUNCTIONS_H */