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 | 0 |
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)))