diff --git a/Lib/stat.py b/Lib/stat.py index afb9a050581..381e28a9bcf 100644 --- a/Lib/stat.py +++ b/Lib/stat.py @@ -29,7 +29,7 @@ def S_IMODE(mode): return mode & 07777 def S_IFMT(mode): - return mode & ~07777 + return mode & 0170000 # Constants used as S_IFMT() for various file types # (not all are implemented on all systems) @@ -64,3 +64,25 @@ def S_ISLNK(mode): def S_ISSOCK(mode): return S_IFMT(mode) == S_IFSOCK + +# Names for permission bits + +S_ISUID = 04000 +S_ISGID = 02000 +S_ENFMT = S_ISGID +S_ISVTX = 01000 +S_IREAD = 00400 +S_IWRITE = 00200 +S_IEXEC = 00100 +S_IRWXU = 00700 +S_IRUSR = 00400 +S_IWUSR = 00200 +S_IXUSR = 00100 +S_IRWXG = 00070 +S_IRGRP = 00040 +S_IWGRP = 00020 +S_IXGRP = 00010 +S_IRWXO = 00007 +S_IROTH = 00004 +S_IWOTH = 00002 +S_IXOTH = 00001