diff --git a/Lib/dospath.py b/Lib/dospath.py
index 5dbda89..a956c09 100644
--- a/Lib/dospath.py
+++ b/Lib/dospath.py
@@ -124,6 +124,24 @@
 	return prefix
 
 
+# Get size, mtime, atime of files.
+
+def getsize(filename):
+    """Return the size of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_SIZE]
+
+def getmtime(filename):
+    """Return the last modification time of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_MTIME]
+
+def getatime(filename):
+    """Return the last access time of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_MTIME]
+
+
 # Is a path a symbolic link?
 # This will always return false on systems where posix.lstat doesn't exist.
 
diff --git a/Lib/macpath.py b/Lib/macpath.py
index eeed541..68dd6d4 100644
--- a/Lib/macpath.py
+++ b/Lib/macpath.py
@@ -99,6 +99,24 @@
 	return S_ISDIR(st[ST_MODE])
 
 
+# Get size, mtime, atime of files.
+
+def getsize(filename):
+    """Return the size of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_SIZE]
+
+def getmtime(filename):
+    """Return the last modification time of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_MTIME]
+
+def getatime(filename):
+    """Return the last access time of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_MTIME]
+
+
 # Return true if the pathname refers to a symbolic link.
 # (Always false on the Mac, until we understand Aliases.)
 
diff --git a/Lib/ntpath.py b/Lib/ntpath.py
index 7bec2f7..ca7f3d1 100644
--- a/Lib/ntpath.py
+++ b/Lib/ntpath.py
@@ -143,6 +143,24 @@
     return prefix
 
 
+# Get size, mtime, atime of files.
+
+def getsize(filename):
+    """Return the size of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_SIZE]
+
+def getmtime(filename):
+    """Return the last modification time of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_MTIME]
+
+def getatime(filename):
+    """Return the last access time of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_MTIME]
+
+
 # Is a path a symbolic link?
 # This will always return false on systems where posix.lstat doesn't exist.
 
diff --git a/Lib/posixpath.py b/Lib/posixpath.py
index 1166881..a5c0de2 100644
--- a/Lib/posixpath.py
+++ b/Lib/posixpath.py
@@ -128,6 +128,24 @@
     return prefix
 
 
+# Get size, mtime, atime of files.
+
+def getsize(filename):
+    """Return the size of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_SIZE]
+
+def getmtime(filename):
+    """Return the last modification time of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_MTIME]
+
+def getatime(filename):
+    """Return the last access time of a file, reported by os.stat()."""
+    st = os.stat(filename)
+    return st[stat.ST_MTIME]
+
+
 # Is a path a symbolic link?
 # This will always return false on systems where os.lstat doesn't exist.
 
