diff options
Diffstat (limited to 'modules/language/python/module/stat.scm')
-rw-r--r-- | modules/language/python/module/stat.scm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/language/python/module/stat.scm b/modules/language/python/module/stat.scm new file mode 100644 index 0000000..cb314b7 --- /dev/null +++ b/modules/language/python/module/stat.scm @@ -0,0 +1,38 @@ +(define-module (language python module stat) + #:export ()) + + +(define S_ISUID #o04000) +(define S_ISGID #o02000) +(define S_ENFMT "error") +(define S_ISVTX #o01000) +(define S_IREAD #o00400) +(define S_IWRITE #o00200) +(define S_IEXEC #o00100) +(define S_IRWXU (logior S_IEXEC S_IWRITE S_IREAD)) +(define S_IRUSR S_IREAD) +(define S_IWUSR S_IWRITE) +(define S_IXUSR S_IEXEC) +(define S_IRGRP #o00040) +(define S_IWGRP #o00020) +(define S_IXGRP #o00010) +(define S_IRWXG (logior S_IXGRP S_IWGRP S_IRGRP)) +(define S_IROTH #o00004) +(define S_IWOTH #o00002) +(define S_IXOTH #o00001) +(define S_IRWXO (logior S_IXOTH S_IWOTH S_IROTH)) + +(define S_IFDIR #o040000) +(define S_IFMT #o170000) +(define S_IFREG #o100000) +(define S_IFLNK #o120000) +(define S_IFCHR #o020000) +(define S_IFBLK #o060000) +(define S_IFIFO #o010000) + +(define (is-dir? x) (= (logand x S_IFMT) S_IFDIR)) +(define (is-reg? x) (= (logand x S_IFMT) S_IFREG)) +(define (is-lnk? x) (= (logand x S_IFMT) S_IFLNK)) +(define (is-chr? x) (= (logand x S_IFMT) S_IFCHR)) +(define (is-blk? x) (= (logand x S_IFMT) S_IFBLK)) +(define (is-fif? x) (= (logand x S_IFMT) S_IFIFO)) |