summaryrefslogtreecommitdiff
path: root/modules/language/python/module/stat.scm
blob: cb314b7feb7b894abba06f4f5f5ad2d42565d7ce (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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))