| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| clufs_0.7.tgz | 2011-01-19 | 12.7 kB | |
| clufs_0.7.tgz.asc | 2011-01-19 | 316 Bytes | |
| clufs-0.7.tgz | 2011-01-19 | 12.7 kB | |
| clufs-0.7.tgz.asc | 2011-01-19 | 316 Bytes | |
| README | 2011-01-19 | 1.6 kB | |
| clufs-0.6.tgz | 2011-01-02 | 6.8 kB | |
| clufs-0.6.tgz.asc | 2011-01-02 | 316 Bytes | |
| clufs-0.5.tgz | 2010-12-16 | 6.8 kB | |
| clufs-0.4.tgz | 2010-12-15 | 6.6 kB | |
| clufs-0.3.tgz | 2010-12-12 | 5.8 kB | |
| Totals: 10 Items | 54.1 kB | 1 |
CLUFS - Common Lisp user space file system
Copyright (c) 2010 Sami Makinen
INTRODUCTION
clufs is a simple user space file system written in Common Lisp. It
is intended to be used from Common Lisp but maybe could be later
integrated to for example FUSE to be used as a real file system
also. clufs could be used to pack set of files to a single file but
probably this will be a just some kind of hack without actual goal.
LICENSE
clufs is released under MIT style license.
INSTALLING
clufs is asdf-install installable.
clufs depends on cl-swap-file which provides the required disk block
handling and cl-binary-file which provides binary file handling.
(asdf-install:install 'clufs)
USAGE
A sample session:
(clufs:mkfs "test.clufs") ; creates file test.clufs and journal file test.wal
(clufs:with-clufs (clufs "test.clufs")
(clufs:mkdir clufs '(my-test-dir))
(clufs:sync clufs) ; there is no sync thread or daemon yet
(clufs:create clufs '(my-test-dir file))
(clufs:directory clufs '(my-test-dir))
(clufs:sync clufs)
(let ((stream (clufs:open clufs '(my-test-dir file))))
(prin1 "Hello World!" stream)
(clufs:sync clufs)
(file-position stream 0)
(print (read stream)) ; => "Hello World!"
(terpri)
(clufs:close stream))
(print (clufs:directory clufs)) ; => ((my-test-dir))
(terpri)
(print (clufs:directory clufs '(my-test-dir))) ; => ((my-test-dir file))
(terpri)
(clufs:delete-file clufs '(my-test-dir file))
(clufs:delete-dir clufs '(my-test-dir)))