php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
dir.c File Reference
#include "php.h"
#include "fopen_wrappers.h"
#include "file.h"
#include "php_dir.h"
#include "php_dir_int.h"
#include "php_scandir.h"
#include "basic_functions.h"
#include "dir_arginfo.h"
#include <errno.h>

Go to the source code of this file.

Data Structures

struct  php_dir_globals
 

Macros

#define DIRG(v)
 
#define Z_DIRECTORY_PATH_P(zv)
 
#define Z_DIRECTORY_HANDLE_P(zv)
 
#define FETCH_DIRP()
 

Functions

 PHP_RINIT_FUNCTION (dir)
 
 PHP_MINIT_FUNCTION (dir)
 
 PHP_FUNCTION (opendir)
 
 PHP_FUNCTION (dir)
 
 PHP_FUNCTION (closedir)
 
 PHP_FUNCTION (chdir)
 
 PHP_FUNCTION (getcwd)
 
 PHP_FUNCTION (rewinddir)
 
 PHP_FUNCTION (readdir)
 
 PHP_FUNCTION (scandir)
 

Variables

php_dir_globals dir_globals
 

Macro Definition Documentation

◆ DIRG

#define DIRG ( v)
Value:
php_dir_globals dir_globals
Definition dir.c:47

Definition at line 46 of file dir.c.

◆ FETCH_DIRP

#define FETCH_DIRP ( )
Value:
myself = getThis(); \
if (!myself) { \
ZEND_PARSE_PARAMETERS_START(0, 1) \
Z_PARAM_OPTIONAL \
Z_PARAM_RESOURCE_OR_NULL(id) \
ZEND_PARSE_PARAMETERS_END(); \
if (id) { \
if ((dirp = (php_stream *)zend_fetch_resource(Z_RES_P(id), "Directory", php_file_le_stream())) == NULL) { \
RETURN_THROWS(); \
} \
} else { \
if (!DIRG(default_dir)) { \
zend_type_error("No resource supplied"); \
RETURN_THROWS(); \
} \
if ((dirp = (php_stream *)zend_fetch_resource(DIRG(default_dir), "Directory", php_file_le_stream())) == NULL) { \
RETURN_THROWS(); \
} \
} \
} else { \
ZEND_PARSE_PARAMETERS_NONE(); \
zval *handle_zv = Z_DIRECTORY_HANDLE_P(myself); \
if (Z_TYPE_P(handle_zv) != IS_RESOURCE) { \
zend_throw_error(NULL, "Unable to find my handle property"); \
RETURN_THROWS(); \
} \
if ((dirp = (php_stream *)zend_fetch_resource_ex(handle_zv, "Directory", php_file_le_stream())) == NULL) { \
RETURN_THROWS(); \
} \
}
#define DIRG(v)
Definition dir.c:46
#define Z_DIRECTORY_HANDLE_P(zv)
Definition dir.c:53
#define NULL
Definition gdcache.h:45
struct _php_stream php_stream
Definition php_streams.h:96
PHPAPI int php_file_le_stream(void)
Definition streams.c:42
#define getThis()
Definition zend_API.h:526
struct _zval_struct zval
ZEND_API void * zend_fetch_resource(zend_resource *res, const char *resource_type_name, int resource_type)
Definition zend_list.c:117
ZEND_API void * zend_fetch_resource_ex(zval *res, const char *resource_type_name, int resource_type)
Definition zend_list.c:132
#define Z_TYPE_P(zval_p)
Definition zend_types.h:660
#define IS_RESOURCE
Definition zend_types.h:609
#define Z_RES_P(zval_p)

Definition at line 55 of file dir.c.

◆ Z_DIRECTORY_HANDLE_P

#define Z_DIRECTORY_HANDLE_P ( zv)
Value:
zval * zv
Definition ffi.c:3975
#define OBJ_PROP_NUM(obj, num)
#define Z_OBJ_P(zval_p)
Definition zend_types.h:990

Definition at line 53 of file dir.c.

◆ Z_DIRECTORY_PATH_P

#define Z_DIRECTORY_PATH_P ( zv)
Value:

Definition at line 52 of file dir.c.

Function Documentation

◆ PHP_FUNCTION() [1/8]

PHP_FUNCTION ( chdir )

Definition at line 235 of file dir.c.

◆ PHP_FUNCTION() [2/8]

PHP_FUNCTION ( closedir )

Definition at line 180 of file dir.c.

◆ PHP_FUNCTION() [3/8]

PHP_FUNCTION ( dir )

Definition at line 173 of file dir.c.

◆ PHP_FUNCTION() [4/8]

PHP_FUNCTION ( getcwd )

Definition at line 269 of file dir.c.

◆ PHP_FUNCTION() [5/8]

PHP_FUNCTION ( opendir )

Definition at line 166 of file dir.c.

◆ PHP_FUNCTION() [6/8]

PHP_FUNCTION ( readdir )

Definition at line 308 of file dir.c.

◆ PHP_FUNCTION() [7/8]

PHP_FUNCTION ( rewinddir )

Definition at line 291 of file dir.c.

◆ PHP_FUNCTION() [8/8]

PHP_FUNCTION ( scandir )

Definition at line 452 of file dir.c.

◆ PHP_MINIT_FUNCTION()

PHP_MINIT_FUNCTION ( dir )

Definition at line 107 of file dir.c.

◆ PHP_RINIT_FUNCTION()

PHP_RINIT_FUNCTION ( dir )

Definition at line 101 of file dir.c.

Variable Documentation

◆ dir_globals

php_dir_globals dir_globals

Definition at line 47 of file dir.c.