Initial revision
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