summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/stat.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/Lib/stat.py b/Lib/stat.py
new file mode 100644
index 0000000..273745d
--- /dev/null
+++ b/Lib/stat.py
@@ -0,0 +1,55 @@
+# Module 'stat'
+
+# Defines constants and functions for interpreting stat/lstat struct
+# as returned by posix.stat() and posix.lstat() (if it exists).
+
+# XXX This module may have to be adapted for UNIXoid systems whose
+# <sys/stat.h> deviates from AT&T or BSD UNIX; their S_IF* constants
+# may differ.
+
+# Suggested usage: from stat import *
+
+# Tuple indices for stat struct members
+
+ST_MODE = 0
+ST_INO = 1
+ST_DEV = 2
+ST_NLINK = 3
+ST_UID = 4
+ST_GID = 5
+ST_SIZE = 6
+ST_ATIME = 7
+ST_MTIME = 8
+ST_CTIME = 9
+
+def S_IFMT(mode):
+ return mode - mode%4096
+
+S_IFDIR = 0040000
+S_IFCHR = 0020000
+S_IFBLK = 0060000
+S_IFREG = 0100000
+S_IFIFO = 0010000
+S_IFLNK = 0120000
+S_IFSOCK = 0140000
+
+def S_ISDIR(mode):
+ return S_IFMT(mode) = S_IFDIR
+
+def S_ISCHR(mode):
+ return S_IFMT(mode) = S_IFCHR
+
+def S_ISBLK(mode):
+ return S_IFMT(mode) = S_IFBLK
+
+def S_ISREG(mode):
+ return S_IFMT(mode) = S_IFREG
+
+def S_ISFIFO(mode):
+ return S_IFMT(mode) = S_IFIFO
+
+def S_ISLNK(mode):
+ return S_IFMT(mode) = S_IFLNK
+
+def S_ISSOCK(mode):
+ return S_IFMT(mode) = S_IFSOCK