| # 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_IMODE(mode): |
| return mode%4096 |
| 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 |