From 39160d66e3f086a60341c9b6ff8bde8364c79143 Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Mon, 6 Oct 2008 23:02:06 -0500
Subject: [PATCH] add files

---
 basis/io/unix/files/bsd/bsd.factor | 17 +++++++++++++++++
 basis/io/unix/files/bsd/tags.txt   |  1 +
 2 files changed, 18 insertions(+)
 create mode 100644 basis/io/unix/files/bsd/bsd.factor
 create mode 100644 basis/io/unix/files/bsd/tags.txt

diff --git a/basis/io/unix/files/bsd/bsd.factor b/basis/io/unix/files/bsd/bsd.factor
new file mode 100644
index 0000000000..18e713af2f
--- /dev/null
+++ b/basis/io/unix/files/bsd/bsd.factor
@@ -0,0 +1,17 @@
+! Copyright (C) 2008 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: kernel alien.syntax math io.unix.files system
+unix.stat accessors combinators calendar.unix ;
+IN: io.unix.files.bsd
+
+TUPLE: bsd-file-info < unix-file-info birth-time flags gen ;
+
+M: bsd new-file-info ( -- class ) bsd-file-info new ;
+
+M: bsd stat>file-info ( stat -- file-info )
+    [ call-next-method ] keep
+    {
+        [ stat-st_flags >>flags ]
+        [ stat-st_gen >>gen ]
+        [ stat-st_birthtimespec timespec>unix-time >>birth-time ]
+    } cleave ;
diff --git a/basis/io/unix/files/bsd/tags.txt b/basis/io/unix/files/bsd/tags.txt
new file mode 100644
index 0000000000..6bf68304bb
--- /dev/null
+++ b/basis/io/unix/files/bsd/tags.txt
@@ -0,0 +1 @@
+unportable