(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))