]> gitweb.factorcode.org Git - factor.git/blob - basis/io/files/info/unix/bsd/bsd.factor
Merge branch 'master' into experimental
[factor.git] / basis / io / files / info / unix / bsd / bsd.factor
1 ! Copyright (C) 2008 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel alien.syntax math io.files.unix system
4 unix.stat accessors combinators calendar.unix
5 io.files.info.unix ;
6 IN: io.files.info.unix.bsd
7
8 TUPLE: bsd-file-info < unix-file-info birth-time flags gen ;
9
10 M: bsd new-file-info ( -- class ) bsd-file-info new ;
11
12 M: bsd stat>file-info ( stat -- file-info )
13     [ call-next-method ] keep
14     {
15         [ stat-st_flags >>flags ]
16         [ stat-st_gen >>gen ]
17         [
18             stat-st_birthtimespec timespec>unix-time
19             >>birth-time
20         ]
21     } cleave ;