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