[comp.sys.acorn] File links & decent archived FS

hughesmp@vax1.tcd.ie (SICK) (06/29/91)

I have just been getting irritated with single file Sparkives, and a
severe lack of memory (can you fit 16 Megs in an a4x0/i? I've only
ever seen ads for 8 Megs)..

Anyway, I was thinking - odd I know - is there any way of intercepting
_all_ file accesses simply (ie do they all pass through OS_File?)?

If it was possible, would it be feasible to intercept all accesses, so
that if there was ever an attempt to do anything to a file (including just
look at it) of a particular file type, it would return information on
a completely different file; ie, true file links. All reads would read
information on the other file, all writes would write to the other
file. It would have to cope with broken links, and such, where the
original file was gone, and also deleting would just delete the link.
(On the Mac, deleting the original of some links merely moves the
original to the next link). The exact nature of how links would operate
could be decided later. But after the exact nature of how things would
operate was decided, it would be extremely nice to have true links which
would be perfect equally from the Desktop, to the CLI.

Similarly, a true _invisible_ archived filing system could be implemented.
With just one file type, the first word of the actual link file could
specify whether it was an archive, or a link; if it was an archive, it
would include length etc. Alternatively this could be encoded into the
links date-stamp... The archived file would then look like whatever file
it is an archive of, and you could have archived !Sprite files etc.
If there was a simple interface to all of this, a variety of different
modules - link modules, archive modules etc. could be added ad-nauseam,
and all in all, the world would be a better place.

There would be problems with such as viri, which could be links with code
tagged on the end etc., so a virus checker would see a pure innocent sprite
file, where it was actually whatever nasty, so there would have to be a way
of accessing the raw link files, but not through the standard file interface...

Anyway, does anyone have any thoughts on it; is it possible? More importantly,
do you want to write it?