As part of the Risc OS development we are proposing to rationalise the
interface between FileSwitch and the filing systems. This will involve
FileSwitch doing more of the work for the filing systems, and the filing
systems having to support fewer of the FileSwitch<->filing system
interfaces. This note is to test the waters to see whether any of the
proposed changes are going to cause you any problems. So, if you can foresee
a problem, or if you can see that the changes are going to stop your
favourite filing system working, then please get in contact with us at Acorn
so we can see what can be worked out. Anyway, here are the proposed changes:

In general, FileSwitch will have much more control over the absolute
directories ($, @, %, & and \), and will perform all of the
catalogue/examine/fileinfo functions. All file paths will be passed through
to the filing system with wildcards converted to unwildcarded names (where
possible), the paths expanded back to $, % or & as appropriate and ^s sorted
out. Normal filing systems will have their paths expanded back to $ always,
and only filing systems which support FSEntry_Func 18 (set directory
contexts) will have their paths expanded back to % or &. So, a filing system
will have less work to do to work out what file the given path is refering
to.

Other FSEntries won't be used as their functionality can be simulated using
other FSEntries (eg load and save file). And still other FSEntries
(catalogue current/library directory, examine same, info and fileinfo) are
being replaced so that there is consistency between the filing systems about
how these are presented.

FSEntry_Open:
        Create and open for update will no longer need to be supported.
        This will be replaced by FileSwitch doing a create then an openup.

FSEntry_File:
        Save file. This will no longer be used, instead a create, openup,
        multiple-putbytes and close sequence will be used.

        Write load address, Write execute address, Write attributes. These
        will be replaced by FileSwitch reading the file's information,
        updating it, then writing it back using Write catalogue information.

        read catalogue information (no length). This will no longer be used
        as no external interface to FileSwitch provided access to this call.

        Load file. This will be replaced by an openin, multiple-getbytes,
        close sequence.

FSEntry_Func:
        Set current directory and set library directory will no longer be
        used. These directories will be managed by FileSwitch.

        All directory catalogues will be performed by FileSwitch.
        All directory examines will be performed by FileSwitch.

        Examine objects will be done by FileSwitch.

        Access objects will no longer be used - multiple FSEntry_File 1s
        (write catalogue information) will be used instead.

        Read current directory name and privilege byte will no longer be
        used.

        Read library directory name and privilege byte will no longer be
        used.

        Set directory contexts will no longer be used.

        Output full information on object(s) will no longer be used.

