Fosfat is a library written in C for accessing in read-only to an Smaky formatted disk (compatible hard disk and floppy disk). A tool and a FUSE extension are available for read a Smaky FOS disk. For Window$, the FUSE extension will not exist.
It is a free software - it is licensed under the terms of the GNU General Public License (GNU/GPL) version 3.
Fosfat is copyright (C) 2006-2008 Mathieu Schroeter.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
Compile libfosfat, fosread, fosmount and smascii by running:
./configure
make
This should produce three executables fosread and smascii (in ./tools/), fosmount (in ./fosmount/) and a library libfosfat.a/.so (in ./libfosfat/). No extra files need to be installed. You can change some options for configure, look ./configure --help for more informations.
If you want to install the fosread, fosmount and the smascii tools on your system, run :
make install
And for only the library :
make install-dev
The binaries are copied into their appropriate directories (/usr/local/bin and /usr/local/lib), and the header into /usr/local/include in this example. Change the --prefix for an other target directory.
Compile libfosfat, fosread and smascii by running:
make win32
This should produce two executables fosread and smascii (in ./tools/), and two libraries fosfat.dll (in ./libfosfat/), w32disk.dll (in ./libw32disk/). No extra files need to be installed. You can change some options for configure, look in the win32-gen.sh script for more informations.
You can found a doxygen documentation of the library here.
Fosmount (only GNU/Linux)
The fosmount tool uses FUSE for mount the FOS in your tree.
Usage: fosmount [options] device mountpoint
-h --help this help
-v --version version
-a --harddisk force an hard disk (default autodetect)
-f --floppydisk force a floppy disk (default autodetect)
-l --fos-logger that will turn on the FOS logger
-d --fuse-debugger that will turn on the FUSE debugger
device /dev/fd0 : floppy disk
/dev/sda : hard disk, etc
mountpoint for example, /mnt/smaky
Example:
fosmount /dev/sda /mnt/smaky
Fosread (GNU/Linux & Window$)
The fosread tool can be used only from the console. It can be used with two modes. One for list all files in a directory, and the second for copy a file in a local directory.
Usage: fosread [options] device mode [node] [path]
-h --help this help
-v --version version
-a --harddisk force an hard disk (default autodetect)
-f --floppydisk force a floppy disk (default autodetect)
-l --fos-logger that will turn on the FOS logger
-u --undelete enable the undelete mode, even deleted files will
be listed and sometimes restorable with 'get' mode.
device /dev/fd0 : floppy disk
/dev/sda : hard disk, etc
mode
list list the content of a node
get copy a file from the Smaky's disk in a local directory
node the tree with the file (or folder) for 'get' or 'list'
example: foo/bar/toto.text
path you can specify a path for save the file (with get mode)
Examples GNU/Linux:
fosread /dev/sda list /systeme
fosread /dev/fd0 get /foo/bar.text /local/folder/bar.txt
Examples Window$:
fosread d list /systeme
fosread a get /foo/bar.text bar.txt
Smascii
The smascii tool can be used for convert Smaky text file to Extended ASCII (ISO-8859-1).
Usage: smascii smaky_file converted_file [--unix]
smaky_file the smaky text file
converted_file the file converted
--unix the Carriage Return (Old Mac) will be
converted to Line Feed (unix)
But use the trunk is better as long as no stable version is available.
Development Tree
The latest fosfat development tree can be grabbed using Subversion, a revision control system, similar in purpose to tools such as CVS, SCCS, and Arch. It is used to keep track of the changes made to a source tree and to help programmers combine and otherwise manipulate changes made by multiple people or at different times.
There are currently 2 ways of accessing the Subversion tree :
via command-line or (to just have a look to some changes on a specific file, for example) : web-svn
In order to access to Subversion via command line, create and enter a new directory and do the following (be sure that you have installed the SVN package) :
* svn co http://svn.gna.org/svn/fosfat/trunk fosfat - To fetch all the files from the directory trunk.
* svn update - To update your local copy of the Subversion, synchronizing with the server.