php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_virtual_cwd.c File Reference
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <stdio.h>
#include <limits.h>
#include <errno.h>
#include <stdlib.h>
#include <fcntl.h>
#include <time.h>
#include "zend.h"
#include "zend_virtual_cwd.h"
#include "TSRM.h"
#include <unistd.h>

Go to the source code of this file.

Macros

#define VIRTUAL_CWD_DEBUG   0
 
#define CWD_STATE_COPY(d, s)
 
#define CWD_STATE_FREE(s)
 
#define CWD_STATE_FREE_ERR(state)
 
#define LINK_MAX   32
 

Functions

void virtual_cwd_main_cwd_init (uint8_t reinit)
 
CWD_API void virtual_cwd_startup (void)
 
CWD_API void virtual_cwd_shutdown (void)
 
CWD_API void virtual_cwd_activate (void)
 
CWD_API void virtual_cwd_deactivate (void)
 
CWD_API char * virtual_getcwd_ex (size_t *length)
 
CWD_API char * virtual_getcwd (char *buf, size_t size)
 
CWD_API void realpath_cache_clean (void)
 
CWD_API void realpath_cache_del (const char *path, size_t path_len)
 
CWD_API realpath_cache_bucketrealpath_cache_lookup (const char *path, size_t path_len, time_t t)
 
CWD_API zend_long realpath_cache_size (void)
 
CWD_API zend_long realpath_cache_max_buckets (void)
 
CWD_API realpath_cache_bucket ** realpath_cache_get_buckets (void)
 
CWD_API int virtual_file_ex (cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath)
 
CWD_API zend_result virtual_chdir (const char *path)
 
CWD_API int virtual_chdir_file (const char *path, int(*p_chdir)(const char *path))
 
CWD_API char * virtual_realpath (const char *path, char *real_path)
 
CWD_API int virtual_filepath_ex (const char *path, char **filepath, verify_path_func verify_path)
 
CWD_API int virtual_filepath (const char *path, char **filepath)
 
CWD_API FILE * virtual_fopen (const char *path, const char *mode)
 
CWD_API int virtual_access (const char *pathname, int mode)
 
CWD_API int virtual_chmod (const char *filename, mode_t mode)
 
CWD_API int virtual_chown (const char *filename, uid_t owner, gid_t group, int link)
 
CWD_API int virtual_open (const char *path, int flags,...)
 
CWD_API int virtual_creat (const char *path, mode_t mode)
 
CWD_API int virtual_rename (const char *oldname, const char *newname)
 
CWD_API int virtual_stat (const char *path, zend_stat_t *buf)
 
CWD_API int virtual_lstat (const char *path, zend_stat_t *buf)
 
CWD_API int virtual_unlink (const char *path)
 
CWD_API int virtual_mkdir (const char *pathname, mode_t mode)
 
CWD_API int virtual_rmdir (const char *pathname)
 
CWD_API DIRvirtual_opendir (const char *pathname)
 
CWD_API FILE * virtual_popen (const char *command, const char *type)
 
CWD_API char * tsrm_realpath (const char *path, char *real_path)
 

Variables

virtual_cwd_globals cwd_globals
 

Macro Definition Documentation

◆ CWD_STATE_COPY

#define CWD_STATE_COPY ( d,
s )
Value:
(d)->cwd_length = (s)->cwd_length; \
(d)->cwd = (char *) emalloc((s)->cwd_length+1); \
memcpy((d)->cwd, (s)->cwd, (s)->cwd_length+1);
char s[4]
Definition cdf.c:77
char * cwd
#define emalloc(size)
Definition zend_alloc.h:151

Definition at line 102 of file zend_virtual_cwd.c.

◆ CWD_STATE_FREE

#define CWD_STATE_FREE ( s)
Value:
efree((s)->cwd); \
(s)->cwd_length = 0;
#define efree(ptr)
Definition zend_alloc.h:155

Definition at line 107 of file zend_virtual_cwd.c.

◆ CWD_STATE_FREE_ERR

#define CWD_STATE_FREE_ERR ( state)
Value:
#define CWD_STATE_FREE(s)

Definition at line 118 of file zend_virtual_cwd.c.

◆ LINK_MAX

#define LINK_MAX   32

Definition at line 487 of file zend_virtual_cwd.c.

◆ VIRTUAL_CWD_DEBUG

#define VIRTUAL_CWD_DEBUG   0

Definition at line 76 of file zend_virtual_cwd.c.

Function Documentation

◆ realpath_cache_clean()

CWD_API void realpath_cache_clean ( void )

Definition at line 355 of file zend_virtual_cwd.c.

◆ realpath_cache_del()

CWD_API void realpath_cache_del ( const char * path,
size_t path_len )

Definition at line 361 of file zend_virtual_cwd.c.

◆ realpath_cache_get_buckets()

CWD_API realpath_cache_bucket ** realpath_cache_get_buckets ( void )

Definition at line 480 of file zend_virtual_cwd.c.

◆ realpath_cache_lookup()

CWD_API realpath_cache_bucket * realpath_cache_lookup ( const char * path,
size_t path_len,
time_t t )

Definition at line 464 of file zend_virtual_cwd.c.

◆ realpath_cache_max_buckets()

CWD_API zend_long realpath_cache_max_buckets ( void )

Definition at line 475 of file zend_virtual_cwd.c.

◆ realpath_cache_size()

CWD_API zend_long realpath_cache_size ( void )

Definition at line 470 of file zend_virtual_cwd.c.

◆ tsrm_realpath()

CWD_API char * tsrm_realpath ( const char * path,
char * real_path )

Definition at line 1717 of file zend_virtual_cwd.c.

◆ virtual_access()

CWD_API int virtual_access ( const char * pathname,
int mode )

Definition at line 1332 of file zend_virtual_cwd.c.

◆ virtual_chdir()

CWD_API zend_result virtual_chdir ( const char * path)

Definition at line 1203 of file zend_virtual_cwd.c.

◆ virtual_chdir_file()

CWD_API int virtual_chdir_file ( const char * path,
int(* p_chdir )(const char *path) )

Definition at line 1211 of file zend_virtual_cwd.c.

◆ virtual_chmod()

CWD_API int virtual_chmod ( const char * filename,
mode_t mode )

Definition at line 1379 of file zend_virtual_cwd.c.

◆ virtual_chown()

CWD_API int virtual_chown ( const char * filename,
uid_t owner,
gid_t group,
int link )

Definition at line 1414 of file zend_virtual_cwd.c.

◆ virtual_creat()

CWD_API int virtual_creat ( const char * path,
mode_t mode )

Definition at line 1477 of file zend_virtual_cwd.c.

◆ virtual_cwd_activate()

CWD_API void virtual_cwd_activate ( void )

Definition at line 233 of file zend_virtual_cwd.c.

◆ virtual_cwd_deactivate()

CWD_API void virtual_cwd_deactivate ( void )

Definition at line 241 of file zend_virtual_cwd.c.

◆ virtual_cwd_main_cwd_init()

void virtual_cwd_main_cwd_init ( uint8_t reinit)

Definition at line 175 of file zend_virtual_cwd.c.

◆ virtual_cwd_shutdown()

CWD_API void virtual_cwd_shutdown ( void )

Definition at line 220 of file zend_virtual_cwd.c.

◆ virtual_cwd_startup()

CWD_API void virtual_cwd_startup ( void )

Definition at line 205 of file zend_virtual_cwd.c.

◆ virtual_file_ex()

CWD_API int virtual_file_ex ( cwd_state * state,
const char * path,
verify_path_func verify_path,
int use_realpath )

Definition at line 1007 of file zend_virtual_cwd.c.

◆ virtual_filepath()

CWD_API int virtual_filepath ( const char * path,
char ** filepath )

Definition at line 1299 of file zend_virtual_cwd.c.

◆ virtual_filepath_ex()

CWD_API int virtual_filepath_ex ( const char * path,
char ** filepath,
verify_path_func verify_path )

Definition at line 1283 of file zend_virtual_cwd.c.

◆ virtual_fopen()

CWD_API FILE * virtual_fopen ( const char * path,
const char * mode )

Definition at line 1305 of file zend_virtual_cwd.c.

◆ virtual_getcwd()

CWD_API char * virtual_getcwd ( char * buf,
size_t size )

Definition at line 291 of file zend_virtual_cwd.c.

◆ virtual_getcwd_ex()

CWD_API char * virtual_getcwd_ex ( size_t * length)

Definition at line 250 of file zend_virtual_cwd.c.

◆ virtual_lstat()

CWD_API int virtual_lstat ( const char * path,
zend_stat_t * buf )

Definition at line 1550 of file zend_virtual_cwd.c.

◆ virtual_mkdir()

CWD_API int virtual_mkdir ( const char * pathname,
mode_t mode )

Definition at line 1590 of file zend_virtual_cwd.c.

◆ virtual_open()

CWD_API int virtual_open ( const char * path,
int flags,
... )

Definition at line 1441 of file zend_virtual_cwd.c.

◆ virtual_opendir()

CWD_API DIR * virtual_opendir ( const char * pathname)

Definition at line 1636 of file zend_virtual_cwd.c.

◆ virtual_popen()

CWD_API FILE * virtual_popen ( const char * command,
const char * type )

Definition at line 1661 of file zend_virtual_cwd.c.

◆ virtual_realpath()

CWD_API char * virtual_realpath ( const char * path,
char * real_path )

Definition at line 1245 of file zend_virtual_cwd.c.

◆ virtual_rename()

CWD_API int virtual_rename ( const char * oldname,
const char * newname )

Definition at line 1495 of file zend_virtual_cwd.c.

◆ virtual_rmdir()

CWD_API int virtual_rmdir ( const char * pathname)

Definition at line 1611 of file zend_virtual_cwd.c.

◆ virtual_stat()

CWD_API int virtual_stat ( const char * path,
zend_stat_t * buf )

Definition at line 1532 of file zend_virtual_cwd.c.

◆ virtual_unlink()

CWD_API int virtual_unlink ( const char * path)

Definition at line 1568 of file zend_virtual_cwd.c.

Variable Documentation

◆ cwd_globals

virtual_cwd_globals cwd_globals

Definition at line 89 of file zend_virtual_cwd.c.