1/*
2 +----------------------------------------------------------------------+
3 | PHP Version 5 |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2015 The PHP Group |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 3.01 of the PHP license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.php.net/license/3_01.txt |
11 | If you did not receive a copy of the PHP license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@php.net so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Author: Jim Winstead <jimw@php.net> |
16 +----------------------------------------------------------------------+
17 */
18
19/* $Id$ */
20
21#ifndef FOPEN_WRAPPERS_H
22#define FOPEN_WRAPPERS_H
23
24BEGIN_EXTERN_C()
25#include "php_globals.h"
26#include "php_ini.h"
27
28PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle TSRMLS_DC);
29PHPAPI char *expand_filepath(const char *filepath, char *real_path TSRMLS_DC);
30PHPAPI char *expand_filepath_ex(const char *filepath, char *real_path, const char *relative_to, size_t relative_to_len TSRMLS_DC);
31PHPAPI char *expand_filepath_with_mode(const char *filepath, char *real_path, const char *relative_to, size_t relative_to_len, int use_realpath TSRMLS_DC);
32
33PHPAPI int php_check_open_basedir(const char *path TSRMLS_DC);
34PHPAPI int php_check_open_basedir_ex(const char *path, int warn TSRMLS_DC);
35PHPAPI int php_check_specific_open_basedir(const char *basedir, const char *path TSRMLS_DC);
36
37/* {{{ OPENBASEDIR_CHECKPATH(filename) to ease merge between 6.x and 5.x */
38#if PHP_API_VERSION < 20100412
39# define OPENBASEDIR_CHECKPATH(filename) \
40 (PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(filename TSRMLS_CC)
41#else
42#define OPENBASEDIR_CHECKPATH(filename) \
43 php_check_open_basedir(filename TSRMLS_CC)
44#endif
45/* }}} */
46
47PHPAPI int php_check_safe_mode_include_dir(const char *path TSRMLS_DC);
48
49PHPAPI char *php_resolve_path(const char *filename, int filename_len, const char *path TSRMLS_DC);
50
51PHPAPI FILE *php_fopen_with_path(const char *filename, const char *mode, const char *path, char **opened_path TSRMLS_DC);
52
53PHPAPI char *php_strip_url_passwd(char *path);
54
55PHPAPI ZEND_INI_MH(OnUpdateBaseDir);
56END_EXTERN_C()
57
58#endif
59/*
60 * Local variables:
61 * tab-width: 4
62 * c-basic-offset: 4
63 * End:
64 */
65