2014-07-06 16:31:39 +00:00
|
|
|
<?php
|
|
|
|
/*
|
|
|
|
* This file is part of VFS
|
|
|
|
*
|
2015-07-21 14:17:00 +00:00
|
|
|
* Copyright (c) 2015 Andrew Lawson <http://adlawson.com>
|
2014-07-06 16:31:39 +00:00
|
|
|
*
|
|
|
|
* For the full copyright and license information, please view the LICENSE
|
|
|
|
* file that was distributed with this source code.
|
|
|
|
*/
|
|
|
|
namespace Vfs\Node;
|
|
|
|
|
|
|
|
/**
|
2015-07-22 10:23:08 +00:00
|
|
|
* Mode bits for node description and permissions
|
|
|
|
*
|
2014-07-06 16:31:39 +00:00
|
|
|
* @link http://www.gnu.org/software/libc/manual/html_node/Permission-Bits.html
|
2015-07-22 10:23:08 +00:00
|
|
|
* @link http://man7.org/linux/man-pages/man2/stat.2.html
|
2014-07-06 16:31:39 +00:00
|
|
|
*/
|
|
|
|
interface StatInterface
|
|
|
|
{
|
2015-07-22 10:23:08 +00:00
|
|
|
const S_IFMT = 0170000;
|
|
|
|
const S_IFSOCK = 0140000;
|
|
|
|
const S_IFLNK = 0120000;
|
|
|
|
const S_IFREG = 0100000;
|
|
|
|
const S_IFBLK = 0060000;
|
|
|
|
const S_IFDIR = 0040000;
|
|
|
|
const S_IFCHR = 0020000;
|
|
|
|
const S_IFIFO = 0010000;
|
|
|
|
const S_ISUID = 0004000;
|
|
|
|
const S_ISGID = 0002000;
|
|
|
|
const S_ISVTX = 0001000;
|
|
|
|
const S_IRWXU = 0000700;
|
|
|
|
const S_IRUSR = 0000400;
|
|
|
|
const S_IWUSR = 0000200;
|
|
|
|
const S_IXUSR = 0000100;
|
|
|
|
const S_IRWXG = 0000070;
|
|
|
|
const S_IRGRP = 0000040;
|
|
|
|
const S_IWGRP = 0000020;
|
|
|
|
const S_IXGRP = 0000010;
|
|
|
|
const S_IRWXO = 0000007;
|
|
|
|
const S_IROTH = 0000004;
|
|
|
|
const S_IWOTH = 0000002;
|
|
|
|
const S_IXOTH = 0000001;
|
|
|
|
|
|
|
|
const TYPE_SOCKET = self::S_IFMT & self::S_IFSOCK;
|
|
|
|
const TYPE_LINK = self::S_IFMT & self::S_IFLNK;
|
|
|
|
const TYPE_FILE = self::S_IFMT & self::S_IFREG;
|
|
|
|
const TYPE_DIR = self::S_IFMT & self::S_IFDIR;
|
|
|
|
const TYPE_PIPE = self::S_IFMT & self::S_IFIFO;
|
|
|
|
const DEV_BLOCK = self::S_IFMT & self::S_IFBLK;
|
|
|
|
const DEV_CHAR = self::S_IFMT & self::S_IFCHR;
|
|
|
|
|
|
|
|
const SET_GROUP = self::S_ISGID;
|
|
|
|
const SET_USER = self::S_ISUID;
|
|
|
|
const SET_STICKY = self::S_ISVTX;
|
2014-07-06 16:31:39 +00:00
|
|
|
|
|
|
|
const GROUP_EXEC = self::S_IXGRP;
|
2015-07-22 10:23:08 +00:00
|
|
|
const GROUP_FULL = self::S_IRWXG;
|
2014-07-06 16:31:39 +00:00
|
|
|
const GROUP_WRITE = self::S_IWGRP;
|
|
|
|
const GROUP_READ = self::S_IRGRP;
|
|
|
|
const OTHER_EXEC = self::S_IXOTH;
|
2015-07-22 10:23:08 +00:00
|
|
|
const OTHER_FULL = self::S_IRWXO;
|
2014-07-06 16:31:39 +00:00
|
|
|
const OTHER_WRITE = self::S_IWOTH;
|
|
|
|
const OTHER_READ = self::S_IROTH;
|
|
|
|
const USER_EXEC = self::S_IXUSR;
|
2015-07-22 10:23:08 +00:00
|
|
|
const USER_FULL = self::S_IRWXU;
|
2014-07-06 16:31:39 +00:00
|
|
|
const USER_READ = self::S_IRUSR;
|
|
|
|
const USER_WRITE = self::S_IWUSR;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return integer
|
|
|
|
*/
|
|
|
|
public function getMode();
|
|
|
|
}
|