1 /* 2 +----------------------------------------------------------------------+ 3 | PHP Version 5 | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 1997-2016 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 PHP_FILESTAT_H 22 #define PHP_FILESTAT_H 23 24 PHP_RINIT_FUNCTION(filestat); 25 PHP_RSHUTDOWN_FUNCTION(filestat); 26 27 PHP_FUNCTION(realpath_cache_size); 28 PHP_FUNCTION(realpath_cache_get); 29 PHP_FUNCTION(clearstatcache); 30 PHP_FUNCTION(fileatime); 31 PHP_FUNCTION(filectime); 32 PHP_FUNCTION(filegroup); 33 PHP_FUNCTION(fileinode); 34 PHP_FUNCTION(filemtime); 35 PHP_FUNCTION(fileowner); 36 PHP_FUNCTION(fileperms); 37 PHP_FUNCTION(filesize); 38 PHP_FUNCTION(filetype); 39 PHP_FUNCTION(is_writable); 40 PHP_FUNCTION(is_readable); 41 PHP_FUNCTION(is_executable); 42 PHP_FUNCTION(is_file); 43 PHP_FUNCTION(is_dir); 44 PHP_FUNCTION(is_link); 45 PHP_FUNCTION(file_exists); 46 PHP_NAMED_FUNCTION(php_if_stat); 47 PHP_NAMED_FUNCTION(php_if_lstat); 48 PHP_FUNCTION(disk_total_space); 49 PHP_FUNCTION(disk_free_space); 50 PHP_FUNCTION(chown); 51 PHP_FUNCTION(chgrp); 52 #if HAVE_LCHOWN 53 PHP_FUNCTION(lchown); 54 #endif 55 #if HAVE_LCHOWN 56 PHP_FUNCTION(lchgrp); 57 #endif 58 PHP_FUNCTION(chmod); 59 #if HAVE_UTIME 60 PHP_FUNCTION(touch); 61 #endif 62 PHP_FUNCTION(clearstatcache); 63 64 #define MAKE_LONG_ZVAL_INCREF(name, val)\ 65 MAKE_STD_ZVAL(name); \ 66 ZVAL_LONG(name, val); \ 67 Z_ADDREF_P(name); 68 69 #ifdef PHP_WIN32 70 #define S_IRUSR S_IREAD 71 #define S_IWUSR S_IWRITE 72 #define S_IXUSR S_IEXEC 73 #define S_IRGRP S_IREAD 74 #define S_IWGRP S_IWRITE 75 #define S_IXGRP S_IEXEC 76 #define S_IROTH S_IREAD 77 #define S_IWOTH S_IWRITE 78 #define S_IXOTH S_IEXEC 79 80 #undef getgid 81 #define getgroups(a, b) 0 82 #define getgid() 1 83 #define getuid() 1 84 #endif 85 86 #ifdef PHP_WIN32 87 typedef unsigned int php_stat_len; 88 #else 89 typedef int php_stat_len; 90 #endif 91 92 PHPAPI void php_clear_stat_cache(zend_bool clear_realpath_cache, const char *filename, int filename_len TSRMLS_DC); 93 PHPAPI void php_stat(const char *filename, php_stat_len filename_length, int type, zval *return_value TSRMLS_DC); 94 95 /* Switches for various filestat functions: */ 96 #define FS_PERMS 0 97 #define FS_INODE 1 98 #define FS_SIZE 2 99 #define FS_OWNER 3 100 #define FS_GROUP 4 101 #define FS_ATIME 5 102 #define FS_MTIME 6 103 #define FS_CTIME 7 104 #define FS_TYPE 8 105 #define FS_IS_W 9 106 #define FS_IS_R 10 107 #define FS_IS_X 11 108 #define FS_IS_FILE 12 109 #define FS_IS_DIR 13 110 #define FS_IS_LINK 14 111 #define FS_EXISTS 15 112 #define FS_LSTAT 16 113 #define FS_STAT 17 114 115 #endif /* PHP_FILESTAT_H */ 116