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
