factor/basis/unix/stat/stat.factor

31 lines
872 B
Factor
Raw Normal View History

USING: accessors alien.c-types alien.syntax classes.struct
kernel sequences system unix vocabs ;
2008-02-27 02:55:49 -05:00
IN: unix.stat
! File Types
2011-11-23 21:49:33 -05:00
CONSTANT: S_IFMT 0o170000 ! These bits determine file type.
CONSTANT: S_IFDIR 0o040000 ! Directory.
CONSTANT: S_IFCHR 0o020000 ! Character device.
CONSTANT: S_IFBLK 0o060000 ! Block device.
2011-11-23 21:49:33 -05:00
CONSTANT: S_IFREG 0o100000 ! Regular file.
CONSTANT: S_IFIFO 0o010000 ! FIFO.
CONSTANT: S_IFLNK 0o120000 ! Symbolic link.
CONSTANT: S_IFSOCK 0o140000 ! Socket.
CONSTANT: S_IFWHT 0o160000 ! Whiteout.
STRUCT: fsid
{ __val int[2] } ;
2008-10-20 03:08:33 -04:00
2008-12-16 03:32:57 -05:00
TYPEDEF: fsid __fsid_t
TYPEDEF: fsid fsid_t
2008-10-20 03:08:33 -04:00
<< "unix.stat." os name>> append require >>
: file-status ( pathname -- stat )
2013-03-24 01:36:12 -04:00
\ stat <struct> [ [ stat-func ] unix-system-call drop ] keep ;
2008-02-27 02:55:49 -05:00
: link-status ( pathname -- stat )
\ stat <struct> [ [ lstat ] unix-system-call drop ] keep ;