Home » Archimedes archive » Acorn User » AU 1998-04 A.adf » PD » Atterer/!raFS/Docs/tech_html
Atterer/!raFS/Docs/tech_html
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1998-04 A.adf » PD |
Filename: | Atterer/!raFS/Docs/tech_html |
Read OK: | ✔ |
File size: | 8ECC bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <TITLE>Manual for the raFS filing system</TITLE> <META NAME="Author" CONTENT="Richard Atterer"> <META NAME="Keywords" CONTENT="Atterer, Augsburg, Acorn, raFS, filing, system, long, filename, filenames, directory, directories, file, files"> <META NAME="Description" CONTENT="Manual for the raFS filing system written by Richard Atterer"> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#8800BB" ALINK="#FF0000"> <H1 ALIGN="center"><A HREF="http://home.augsburg.baynet.de/richard.atterer/"><IMG ALT="raFS" SRC="rafs.gif" WIDTH=206 HEIGHT=88 BORDER=0></A></H1> <P><HR> <P><H2><A NAME="top">Technical Details</A></H2> This part of the manual describes more technical aspects of raFS. It is not necessary for you to read it, but there are a few things here that aren't mentioned in the User Manual. <P> <UL> <LI><A HREF="#integrity">Corrupted discs</A> and how they are dealt with <LI><A HREF="#behave">Behaviour in special situations</A> <LI><A HREF="#limits">Limits of raFS</A> <LI><A HREF="#goddamnbugs">Known problems</A> <LI><A HREF="#cli">Command line interface</A>: <KBD><A HREF="#cli_filer">Desktop_raFSFiler</A>, <A HREF="#cli_fs">raFS</A>, <A HREF="#cli_create">raFS_Create</A>, <A HREF="#cli_flush">raFS_Flush</A>, <A HREF="#cli_discs">raFS_Discs</A>, <A HREF="#cli_mount">Mount</A>, <A HREF="#cli_dismount">Dismount</A>, <A HREF="#cli_free">Free</A>, <A HREF="#cli_name">NameDisc</A>, <A HREF="#cli_unsafe">raFS_Unsafe</A>, <A HREF="#cli_safe">raFS_Safe</A>, <A HREF="#cli_opt">raFS_Opt</A></KBD> <LI><A HREF="#call">Calling raFS from assembler</A>: <KBD><A HREF="#call_info">raFS_Info</A>, <A HREF="#call_nrofdiscs">raFS_NrOfDiscs</A>, <A HREF="#call_enumeratediscs">raFS_EnumerateDiscs</A>, <A HREF="#call_finddisc">raFS_FindDisc</A>, <A HREF="#call_discinfo">raFS_DiscInfo</A>, <A HREF="#call_memcopy">raFS_MemCopy</A>, <A HREF="#call_readvar">raFS_ReadVar</A>, <A HREF="#call_setvar">raFS_SetVar</A></KBD> <LI><A HREF="#format">File formats</A> </UL> <P><HR> <P><H2><A NAME="integrity">Corrupted discs</A></H2> raFS includes code to deal as cleanly as possible with discs that contain invalid directories or file references. For example, a disc may become corrupted due to changed but not yet saved directory data being lost when the computer crashes. <P>Whenever directory data is loaded into memory, the filing system performs a number of checks to ensure that it really represents a valid directory - incorrect directories could have disastrous effects. An error message of the form <SAMP>directory data in 'ADFS::4.$.A0.A0.A0' is invalid</SAMP> is given in this case. <P>Before a new file or directory is written to the host filing system, raFS also ensures that the directory doesn't contain any files with invalid names. If a file is found whose name is not one of the 77 names <TT>A0</TT> to <TT>Z1</TT>, the save operation fails with <SAMP>Name inside the directory containing a raFS disc is not of the form 'A0.A0.A0'</SAMP> <P>Finally, special code deals with files on raFS which refer to files on the host filing system that either don't exist or that have a different time/date stamp. If a file is missing, a dummy file (length zero, file type zero, date stamp 01-01-1900) is created to prevent other files from being assigned that ID. (Depending on the configured TimeZone of your machine, the year may also be displayed as 2248 instead of 1900.) <P>If the date stamp, file type or the file length does not match the directory entry, all open, load, save, delete and create operations on files will only produce an error like <SAMP>'ADFS::4.$.A0.A0.A0' does not belong to this directory entry - verify the raFS disc.</SAMP> In this state, the only possible operations are renaming the file, stamping it (or changing its access details) and deleting it (<EM>only</EM> if it refers to a dummy file). Stamping the file causes the data to be synchronized, so that any operation can be applied to it again, but <EM>only do this if you are very sure about it!</EM> <P>Because there are filing systems that cannot store the date stamp in centiseconds like the native RiscOS filing systems do, the stamp will still be considered valid if it doesn't differ by more than 24 hours from what the raFS directory entry contains. Some filing systems don't allow file stamps at all. Consequently, it is possible to disable the checks by setting the system variable raFS$NoChecks to a comma-seperated list of filing system names before mounting discs on those filing systems. The names are matched case-sensitively. <P ALIGN="right"><I><A HREF="#top">Back to the top of the page</A></I><P><HR WIDTH="41%"> <P><H2><A NAME="behave">Behaviour in special situations</A></H2> There are a few points worth noting about how raFS behaves in certain situations. <UL> <LI>As a result of raFS' ability to have a file opened more than once, it is also possible to save on top of an opened file. In this case, the file extent will be set to the size of the file that is saved. <LI>Once a file is opened multiple times, it is possible that the file extent becomes smaller than the sequential pointer. This happens only for those sequential pointers that don't belong to the file handle used for changing the extent, i. e. if file handles A and B were returned when a file was opened twice, and file handle A is used to set the extent, then the sequential pointer of A will be set to the extent if it is greater whereas the sequential pointer of B won't be. This is not a bug, the behaviour is intended! <LI>At present, you cannot rename or delete open files, but I'm thinking about enabling you to do this. Is there any reason why it shouldn't be possible? <LI>raFS will sometimes automatically close files on its discs. This happens when you use <KBD>Close</KBD> on one of raFS' host filing systems. For example, if you issue <KBD>ADFS:Close</KBD> and you have one raFS disc on ADFS and one on SCSIFS, any open files on the raFS disc stored on ADFS will be closed, but open files on the other disc remain unaffected. <P>raFS claims FindV (called by OS_Find) and FSCV (called by OS_FSControl) and will close its own files before FileSwitch closes them on the host filing system. This is done either only for one filing system in the case of OS_Find 0,0 (close all files on current filing system), or for all filing systems in the case of OS_FSControl 22 (close all open files) and OS_FSControl 23 (shutdown all filing systems). <LI>Try running the following program on a file on a FileCore disc which is locked and has no write access, only read access. It uses OS_Args 6 to ensure an open file's size: <P><CODE>a%=OPENIN"ADFS::4.$.</CODE><I>Filename</I><CODE>" <BR>SYS"OS_Args",6,a%,512<<10</CODE> <P>Whereas FileCore ensures the specified size regardless of whether or not write access was granted, raFS gets it right and ignores FSEntry_Args 6 if the file is read-only. (By the way: Could this be used to compromise security when a FileCore-based filing system is shared over a network? Just a thought...) <LI>raFS supports OS_FSControl 55, which was introduced in RiscOS 3.6 to allow reading the free space on discs bigger than 4GB. However, the code is untested. (Buy me a 4GB drive and I <EM>will</EM> test it...) </UL> <P ALIGN="right"><I><A HREF="#top">Back to the top of the page</A></I><P><HR WIDTH="41%"> <P><H2><A NAME="limits">Limits of raFS</A></H2> The following gives some information about the limits imposed by raFS on its discs. In practice. you are very unlikely to reach any of them, though. <UL COMPACT> <LI>The maximum number of discs that can be mounted at the same time is 50. (This can easily be altered to up to 255 in the source code.) <LI>One disc may contain at most 76·77·77 = 450604 objects (an object is a directory or file). Note that FileCore-based filing systems cannot store more than 32766 disc objects on a disc. <LI>Consequently, you can theoretically have up to 450603 entries in a directory... <LI>The limit for the length of filenames is about 500 characters, though FileSwitch imposes a limit of nearly 256 characters and the Filer will only handle properly up to 63 characters. <LI>Disc names can be up to 63 characters long. For longer names no error is given, instead the name is truncated. (However, at present RiscOS insists on a disc name length of 2 to 10 characters with OS_FSControl 50 - you must use <KBD>NameDisc</KBD> for longer names.) <LI>Up to 65535 directories may be cached at the same time, otherwise things start going wrong. <LI>raFS is not re-entrant. This means that you cannot use raFS as the host filing system for another raFS disc - this wouldn't serve any purpose, anyway. Because this is no image filing system, it doesn't need to be re-entrant. </UL> <P ALIGN="right"><I><A HREF="#top">Back to the top of the page</A></I><P><HR WIDTH="41%"> <P><H2><A NAME="goddamnbugs">Known problems</A></H2> <UL> <LI>One user has experienced a problem with raFS which <EM>may</EM> have been caused by a bug, but then it may also have been another program's fault. It caused a character to be inserted into the string raFS used for accessing a storage directory, in such a way that instead of a harddisc called 'Bigfoot', one called 'Bi<B>o</B>gfoot' was being demanded for the saving of the buffer contents. <P>I haven't found a bug responsible for this, but I'm aware that if there is one, it's a serious problem. The <KBD>path</KBD> switch that was added to <KBD><A HREF="tech.html#cli_mount">Mount</A></KBD> will hopefully provide a work-around for this problem. <LI>If access to a directory becomes extremely slow as soon as it contains several hundred files, this is no problem at all: Just increase the size of the directory cache! <LI>Several users have experienced <SAMP>Cannot extend raFS buffers</SAMP> errors when there was still enough free memory left. This <EM>may</EM> be caused by the ANT internet suite - please send me the output of <KBD>Help Modules</KBD> on your machine if it happens to you! <LI>If you get the error <SAMP>Name inside the directory containing an raFS disc is not of the form A0.A0.A0</SAMP> then this is probably caused by an older version of the ImageFSFix module - ArcFS version, <EM>earlier</EM> than V0.30 (25-Aug-1996). Note that the ImageFSFix modules supplied with SparkFS (e. g. V0.04) do not cause any problems. <LI>raFSFiler doesn't look for <I>!Mount</I> files in the root of image files in order to prevent address exceptions generated by older versions of SparkFS when the archive was corrupted. <LI>raFS may ask you to verify a disc that it thinks is corrupted. Unfortunately, the verify operation has not yet been implemented. If there is an undeliable file on your disc which causes an error to be displayed, the safest way is to create a new raFS disc and to move the contents of the corrupted disc across. <LI>For every file on a raFS disc that is opened, raFS will open another one on the host filing system. Because file handles are used up twice as quickly, it is theoretically possible that e. g. the FontManager causes the main application to run out of file handles. However, this is unlikely to happen. <LI>Some filing system calls that are supported by FileCore for backward compatibility are now deprecated in favour of other calls. They are not implemented in raFS: <UL> <LI>OS_GBPB 5 (read name and boot option) - use OS_FSControl 37 and/or 47 <LI>OS_GBPB 6 or 7 (read directory name and privilege byte) - use OS_FSControl 37 <LI>OS_GBPB 8 (read directory entries) - use OS_GBPB 9 </UL> <LI>If Filer_Action fails with <SAMP>Internal error, no stack for trap handler: Internal error: Branch through zero at...</SAMP> while deleting files, the reason is that it has attempted to access a directory in order to see whether it is empty, but the file on the host filing system which contains the directory data is not there. If you double-click on the relevant directory, you will get an error message saying something like <SAMP>Error when reading 'raFS::DiscName.$.X.Dir' - 'ADFS::HardDisc4.$.MyDisc.A0.V8.U2' not found</SAMP> <P>A similar thing happens when you try to rename an object whose file isn't found on the host filing system. This is a bug in the Filer_Action module. (The module's programmer assumed that there will never be an error under certain circumstances.) <LI>You may occasionally notice that the <B>Dismount</B> submenu is closed after a click with Adjust. This incorrect behaviour is also caused by the Filer. <LI>If an error occurs on the host filing system at a certain point during renaming a file, you may end up with two directory entries pointing to the same file. Don't attempt to delete one of them - this will also delete the actual file, so the second entry won't work any longer! [Still to be written: <KBD>Verify</KBD> <I><path of disc on host FS></I> to fix this and similar things. For the time being, all you can do is to move one of the files somewhere where it doesn't bother you.] <P>In practice, this is very unlikely to happen. <LI>Do not use <I>Memphis</I> (a memory-based filing system) as the host filing system for a raFS disc with the pre-RiscOS 3.5 version of raFS (i. e. the one that uses the sprite area, just like Memphis does). This seems to work for a while, but sooner or later something causes data loss. I cannot be 100% sure, but my log files indicate that Memphis and not raFS itself is the culprit (Data that I write to Memphis and then re-load immediately afterwards is corrupted). <P>The reason for the problem might lie in the fact that Memphis might not expect that data saved to it is somewhere in the sprite area: raFS makes a call to FileSwitch to save data to Memphis. Upon receiving the query from FileSwitch, Memphis does some housekeeping, during which the size of one of its sprites is altered, so that the sprite that belongs to raFS is copied to a different memory location. Then Memphis "saves" the area of memory specified by FileSwitch, but this no longer points to the correct data! The correct behaviour of Memphis would be to check whether the data to be saved is in the sprite area, and if it is, to update its pointer to it whenever a sprite with a lower address changes size.<BR>[By the way: At present, raFS itself doesn't perform these checks either...] <P>It should be possible to use Memphis at the same time as raFS as long as it is not the host filing system. However, don't blame me if something screws up... <LI>...there might be the odd bug. </UL> <P ALIGN="right"><I><A HREF="#top">Back to the top of the page</A></I><P><HR WIDTH="41%"> <P><H2><A NAME="cli">Command line interface</A></H2> <P>The raFSFiler module provides one <TT>*</TT>command: <DL> <DT><KBD><A NAME="cli_filer">Desktop_raFSFiler</A></KBD> <I>[</I><KBD>-choices</KBD><I>] [</I><KBD>-newdisc</KBD><I>] [</I><KBD>-left</KBD><I>] [</I><KBD>-right</KBD><I>] [</I><KBD>-priority</KBD> <I><nr>]</I> <DD>If issued without any arguments, this command causes raFS to install its icon on the icon bar. You can change the position of the icon bar icon by adding <KBD>-left</KBD>, <KBD>-right</KBD> and <KBD>-priority</KBD> switches to the command <EM>in the !Run file.</EM> <P>The <KBD>-choices</KBD> and <KBD>-newdisc</KBD> switches are useful for executing when the icon bar icon is clicked on. They open the "Choices" and "Create new disc" windows, respectively. <P><KBD>Desktop_raFSFiler</KBD> also supports <KBD>-mount</KBD>, <KBD>-select</KBD> and <KBD>-adjust</KBD> switches, but these are intended for internal use only. </DL> <P>raFS provides several <TT>*</TT>commands. While the raFSFiler module offers a more convenient way of working with discs, you may sometimes prefer using the command line instead. <DL> <DT><KBD><A NAME="cli_fs">raFS</A></KBD> <DD>This command selects raFS as the current filing system. For raFS commands that are also supported by other filing systems, like <KBD>Mount</KBD>, you must switch to raFS with this command before using them. (Alternatively, you can use <KBD>raFS:Mount</KBD> to switch to raFS temporarily.) <DT><KBD><A NAME="cli_create">raFS_Create</A></KBD> <I><directory> <DiscName></I> <I>[</I><KBD>-app</KBD> <I><SpriteName>]</I> <DD>This command sets up a storage directory for a disc, so that you can subsequently mount it with <KBD>Mount</KBD> <I><directory></I>. If you use a whole hard or floppy disc just for raFS, use the root directory "$" as the storage directory, otherwise choose a directory as near to the root as possible. <P>The storage directory is the directory to which all files saved to the disc will be written. If the specified directory does not already exist, it is created. If it isn't empty, raFS will give an error. <P>If the given directory's leafname begins with "!", the optional <KBD>-app</KBD> switch can be used to specify the name of a sprite to use for this application, for example <KBD>-app directory</KBD> to make it look like an ordinary directory. This sprite must be present in the Wimp's pool when the command is issued. raFS also saves a <I>!Run</I> file so that double-clicking on the application will mount the disc and open its root directory. The <KBD>-app</KBD> switch has no effect if the first character of the leafname is not "!". <P>To delete a complete raFS disc, make sure it has been dismounted and then <KBD>Wipe</KBD> the storage directory. <DT><KBD><A NAME="cli_flush">raFS_Flush</A></KBD> <DD>This command saves the directory information of any altered directories to the host filing system. However, in contrast to <KBD>Dismount</KBD> the cached directories remain in memory. It is useful to ensure that a subsequent crash will not cause data to be lost. <DT><KBD><A NAME="cli_discs">raFS_Discs</A></KBD> <DD><KBD>raFS_Discs</KBD> or the equivalent <KBD>raFS_Disks</KBD> gives a list of all discs that are mounted at the time the command is entered. One line of text will be printed for each disc, consisting of the disc name followed by a space character and the name of the disc's storage directory. <P>Future versions of raFS may print out additional information after that described above, with further items appended to the printed lines after spaces. Take this into account when writing programs that make use of this command's output. <DT><KBD><A NAME="cli_mount">Mount</A></KBD> <I><directory></I> <I>[</I><KBD>-readonly</KBD><I>] [</I><KBD>-path</KBD><I>] [</I><KBD>-X</KBD><I>]</I> <DD>This command makes sure that you can access the raFS disc stored in the specified directory, e. g. that you can open the root directory "raFS::<I>DiscName</I>.$". It will also set the current directory to the disc's root directory, unset the User Root Directory (URD), and set the system variable raFS$Disc to the new disc's name. <P>Two discs with the same name cannot be mounted at the same time - an error will be given if this is attempted. However, if you try to mount a disc that is already mounted (i. e. the disc of that name has the same storage directory as specified in the <KBD>Mount</KBD> command), raFS will give no error and will ignore the command. <P>raFS automatically decides whether or not the disc is read-only by looking at the file <I>!Atterer.</I> If this file does not have write access (either because it resides on a read-only filing system or because you set its attributes in order to permanently "write protect" the disc), all attempts to modify files or directories will be faulted. <P>The optional <KBD>-readonly</KBD> switch (short <KBD>-ro</KBD>) write protects the disc even if <I>!Atterer</I> has write access. <P>Any <KBD>-path</KBD> switch appended to the command will only come into effect if the disc stored in the specified directory has the same name as one of the currently mounted discs. In this case, it is assumed that the name of that disc's storage directory has changed (e. g. because you renamed a directory in the path) and that raFS should update its workspace accordingly. <EM>Use this with care!</EM> You mustn't use this feature to set the path to the storage directory of a different disc! <P>When mounting discs without an <KBD>-X</KBD> switch appended to the <KBD>Mount</KBD> command, raFS looks for a file called <I>!Mount</I> in the storage directory. If the file is not present, the disc is just mounted, but if <I>!Mount</I> is found, it is <KBD>Run</KBD>. Apart from that, nothing happens; the disc is <EM>not</EM> mounted if <I>!Mount</I> is run. However, it can be an Obey file containing the command "<KBD>raFS:Mount <Obey$Dir> -X</KBD>". The presence of the <KBD>-X</KBD> switch indicates to raFS that the disc should be mounted without searching for <I>!Mount.</I> (Be careful not to create a loop by forgetting to add the <KBD>-X</KBD> switch!) With this system, it is possible to execute *commands before and after the disc is mounted. <DT><KBD><A NAME="cli_dismount">Dismount</A></KBD> <I>[<DiscName>]</I> <DD>This command does the opposite of <KBD>Mount</KBD>, removing the specified disc (or all mounted discs if you omit the name) from its internal list and saving any cached directory data. Discs must <EM>always</EM> be dismounted before you reset or switch off the computer, but usually you don't need to use <KBD>Dismount</KBD> because raFS is automatically called when the desktop shuts down and when you issue <KBD>Shutdown.</KBD> <P>Note that in case raFS is <KBD>RMKill</KBD>ed, it will try to dismount all discs. However, any errors while doing this will be ignored, and the module will <EM>not</EM> refuse to die, which means you lose data! It behaves like this because if it refused to be <KBD>RMKill</KBD>ed, you would not be able to reload it unless you reset the machine. <P>Before a disc is dismounted, raFS sets the system variable raFS$DDisc to its name and tries to run any file called <I>!Dismount</I> residing in the storage directory. If errors occur during its execution, they are ignored; the disc is always dismounted. You must not dismount raFS discs in a <I>!Dismount</I> file. When the module is <KBD>RMKill</KBD>ed, the <I>!Dismount</I> files are <EM>not</EM> executed. <DT><KBD><A NAME="cli_name">NameDisc</A></KBD> <I><OldDiscName> <NewDiscName></I> <DD>This command (or also <KBD>NameDisk</KBD>) is used to change the name of a disc. Obviously, the disc must have been mounted for it to work. <DT><KBD><A NAME="cli_free">Free</A></KBD> <DD>The <KBD>Free</KBD> command is just passed on to the host filing system that the currently selected raFS directory is stored on, e. g. if the disc is on ADFS, <KBD>ADFS:Free</KBD> will be executed. <DT><KBD><A NAME="cli_unsafe">raFS_Unsafe</A></KBD> <DD>By default, raFS only saves changed directory data to the host filing system after a delay. Usually, this is desirable because it is faster, but sometimes you may want to temporarily switch on write-through of the cache, so any changes are saved immediately. Instead of <KBD>raFS_Opt -dd 1</KBD>, you can also switch on write-through with this command. <DT><KBD><A NAME="cli_safe">raFS_Safe</A></KBD> <I>[</I><KBD>-smash</KBD><I>]</I> <DD>This does the opposite of <KBD>raFS_Unsafe</KBD>, re-enabling the chosen delay values for saving directory cache contents. Note that an internal counter is kept, which means that in order to disable write-through after issuing <KBD>raFS_Unsafe</KBD> twice, you would also have to execute <KBD>raFS_Safe</KBD> twice. (After that, any additional <KBD>raFS_Safe</KBD> will have no effect.) If the number of <KBD>raFS_Unsafe</KBD> commands is unknown, you can use <KBD>raFS_Safe -smash</KBD> to disable write-through immediately. <P><KBD>raFS_Unsafe</KBD> and <KBD>raFS_Safe</KBD> can be added to a Wimp application's !Run file if the application tends to crash the computer, in such a way that write-through is disabled once the application is quit: <P><I>other commands, e. g. WimpSlot, IconSprites etc.</I> <BR><CODE>raFS_Unsafe</CODE> <BR><CODE>Run <</CODE><I>App</I><CODE>$Dir>.!RunImage %*0</CODE> <BR><CODE>raFS_Safe</CODE> <DT><KBD><A NAME="cli_opt">raFS_Opt</A></KBD> <I>[</I><KBD>-DirCache</KBD> <I><kB>]</I> <I>[</I><KBD>-DirsaveDelay</KBD> <I><cs>]</I> <I>[</I><KBD>-DirsaveMods</KBD> <I><nr>]</I> <I>[</I><KBD>-DirUpcall 0|1</KBD><I>] [</I><KBD>-LoadMessages</KBD> <I><name>]</I> <DD>This command is used to influence various miscellaneous aspects of raFS' behaviour, or to output the current settings if no parameters are given. Each of the optional keywords is followed by a value, in some cases just <KBD>0</KBD> or <KBD>1</KBD> to switch on and off. The keywords can be abbreviated to the characters written in uppercase, e. g. <KBD>-dc</KBD> instead of <KBD>-DirCache.</KBD> However, case doesn't matter on the command line; <KBD>-dircache</KBD> or <KBD>-dC</KBD> are the same as <KBD>-DirCache.</KBD> <P>Currently, the following keywords have an effect: <UL> <LI><A NAME="cli_optdc"><KBD>-DirCache</KBD></A> <I><kBytes></I> selects the amount of memory that will be used for cacheing directory information. There is one directory cache for all discs. You can switch directory cacheing off completely by specifying <KBD>-DirCache 0</KBD>, but this makes raFS <EM>very</EM> slow. The recommended minimum for the cache size is 16k - when the filing system module is loaded, the value defaults to 30k. <LI><A NAME="cli_optdd"><KBD>-DirsaveDelay</KBD></A> <I><centiseconds></I> sets the delay between the last change to a directory and the moment it is saved to the host filing system. Supplying a value of <KBD>0</KBD> causes no automatic saving whereas a value of <KBD>1</KBD> makes raFS save immediately after each change. The default value is 500 - five seconds. <P>If both this and <KBD>-DirsaveMods</KBD> below are enabled at the same time, the directory will be saved when the delay or the number of changes is reached, whichever comes first. <LI><A NAME="cli_optdm"><KBD>-DirsaveMods</KBD></A> <I><number></I> allows you to specify the number of changes allowed to be made to a buffered directory before it must be saved to the host filing system. For instance, if you want to have the directory saved after every 5 files written/deleted/renamed, use <KBD>-DirsaveMods 5</KBD>. Again, supplying a value of <KBD>0</KBD> switches the counting off and a value of <KBD>1</KBD> forces immediate write-through. The maximum for this value is 255, the default is 10. <P>When the number of changes is counted, stamping of files, changing their access details or closing open files is not taken into account. This is necessary to ensure a Filer copy operation only increases the count by 1. <LI><A NAME="cli_optdu"><KBD>-DirUpcall</KBD></A> followed by <KBD>0</KBD> or <KBD>1</KBD> disables or enables whether raFS will cause directory displays to be updated immediately when the size of a directory changes. (Unlike with other filing systems, the directory size is not fixed and when it changes, this will be reflected.) By default, this is switched off because it causes a lot of flickering when the Filer continually updates its displays. Even when the Upcalls are switched off, the directory size is updated eventually when you re-open the parent of that directory or write to it. <P>By the way: Have you noticed that RiscOS does not have an Upcall for informing that an object's size has changed? I'm using OS_Upcall 3,1 (Writing catalogue information), but even this excludes the size. <LI><A NAME="cli_optlm"><KBD>-LoadMessages</KBD></A> followed by the name of a Messages file is special in that it doesn't set internal variables. Instead, this is used to override the hard-coded English defaults used for error messages, help texts and the !Mount/!Run files. <P>You can use <KBD>-LoadMessages null:</KBD> to discard the messages and revert to the default ones. </UL> </DL> <P ALIGN="right"><I><A HREF="#top">Back to the top of the page</A></I><P><HR WIDTH="41%"> <P><H2><A NAME="call">Calling raFS from assembler</A></H2> <P>As of version 1.10, there is a way of calling certain routines inside the raFS module directly from assembler. raFSFiler uses these calls to get information about discs and current settings. <P>To call an raFS routine, you must first find out the address of the module workspace with: <P><CODE> SYS "XOS_Module",18,"raFS" TO R0%,R1%,R2%,R3%,workspace%</CODE> <P>Move the returned value into R11 before calling raFS with the following instructions: <P><CODE> MOV LR,PC <BR> LDR PC,[R11,#rout_offset%]</CODE> <P>If you use <CODE>MOV LR,PC</CODE> (and not <CODE>ADD LR,PC,#0</CODE>) before calling the routine, the N, Z and C flags will be preserved. When calling raFS from SVC code, you must use <CODE>MOV</CODE>, otherwise the processor will switch to USR mode once the call returns. <P>The <CODE>rout_offset%</CODE> is zero for the routine described first below, and increases in the order the routines are described. The Docs directory contains a small BASIC program which sets up the offsets with a horrible EVAL trick and which also provides a macro for the BASIC assembler so the above can be reduced to, e. g. <CODE>FNcall(raFS_Info)</CODE>. <P>Registers not mentioned in "On exit" are preserved. (Of course, R14 is corrupted.) For all calls, R11 must point to the workspace of the raFS module. Processor must be in USR or SVC mode, R13 must point to a full descending stack with at least 1k free. <P>In the following descriptions, any bits in fields that are not described are reserved. It should not be assumed that they are zero, and when setting the word's value, they must be preserved. <DL> <DT><CODE><A NAME="call_info">raFS_Info</A></CODE> <DD><B>On entry:</B> <BR>- <P><B>On exit:</B> <BR>R0 = module version number * 100 <BR>R1 = maximum number of discs this version can have mounted <BR>R2 = bit 0 set => module's heap is in sprite area, bits 24-31 = country number (1 for UK, 7 for Germany) <BR>R3-R5 corrupted <P>Never returns an error. <DT><CODE><A NAME="call_nrofdiscs">raFS_NrOfDiscs</A></CODE> <DD><B>On entry:</B> <BR>- <P><B>On exit:</B> <BR>R0 = number of discs currently mounted <P>Never returns an error. <DT><CODE><A NAME="call_enumeratediscs">raFS_EnumerateDiscs</A></CODE> <DD><B>On entry:</B> <BR>R9 = -1 for first call <P><B>On exit:</B> <BR>R0 = word-aligned pointer to zero-terminated disc name <BR>R1 = word-aligned pointer to unterminated name of storage directory <BR>R2 = length of name of storage directory <BR>R9 = disc number (also value of R9 for next call to this routine) or -1 and C set if no more discs <P>Never returns an error. The information must be copied away immediately; it may change during any call to raFS (except raFS_MemCopy) or accesses to the filing system. <P>After the disc name there are 1 to 4 zero bytes, up to the next word boundary, so you can find the length faster by first loading words and only looking at the high byte with <CODE>TST Rx,#&FF<<24</CODE> <DT><CODE><A NAME="call_finddisc">raFS_FindDisc</A></CODE> <DD><B>On entry:</B> <BR>R1 => zero-terminated disc name <P><B>On exit:</B> <BR>R0 = word-aligned pointer to zero-terminated disc name <BR>R1 = word-aligned pointer to unterminated name of storage directory <BR>R2 = length of name of storage directory <BR>R8 = internal ID of the disc's root directory <BR>R9 = disc number <BR>R14 = length of disc name <P>If a disc of the given name is not mounted, an error is returned. Again, the returned pointers to the disc name (whose case may differ from that passed to the routine) and storage directory are read-only and must be copied away immediately. <DT><CODE><A NAME="call_discinfo">raFS_DiscInfo</A></CODE> <DD><B>On entry:</B> <BR>R9 = disc number <P><B>On exit:</B> <BR>R0 = word-aligned pointer to zero-terminated disc name <BR>R1 = word-aligned pointer to unterminated name of storage directory <BR>R2 = length of name of storage directory <BR>R3 = flags: <BR> bit 0 set => the disc is read-only <BR> bit 1 set => integrity checks are performed (raFS$NoChecks) <BR>R8 = internal ID of the disc's root directory <BR>or C set if disc of that number not mounted <P>If the given disc number is in the valid range (zero to maximum number - 1) and a disc of that number does not exist, this returns with C set. Obviously, this call is much faster than raFS_FindDisc because it doesn't have to search for the disc name. <DT><CODE><A NAME="call_memcopy">raFS_MemCopy</A></CODE> <DD><B>On entry:</B> <BR>R2 => source (word-aligned) <BR>R3 => destination (word-aligned) <BR>R4 = number of bytes to copy (multiple of 4) <P><B>On exit:</B> <BR>Registers preserved <P>The memory areas may overlap. <DT><CODE><A NAME="call_readvar">raFS_ReadVar</A></CODE> <DD><B>On entry:</B> <BR>R0 = number of variable to read <P><B>On exit:</B> <BR>R0 = value / pointer to string (depending on variable type) <BR>R1 corrupted <P>Currently, the following variables are supported: <UL> <LI>0 => DirCache (kBytes) - is internally stored as bytes, so don't set to a value higher than &3fffff <LI>1 => DirsaveDelay (centiseconds) <LI>2 => DirsaveMods (nr) <LI>3 => Misc flags: <BR> Bit 0 set => DirUpcall happens </UL> <DT><CODE><A NAME="call_setvar">raFS_SetVar</A></CODE> <DD><B>On entry:</B> <BR>R0 = number of variable to set value of <BR>R1 = new value <P><B>On exit:</B> <BR>R0, R1 corrupted <P>R0 on entry contains the same values as for raFS_ReadVar </DL> <P ALIGN="right"><I><A HREF="#top">Back to the top of the page</A></I><P><HR WIDTH="41%"> <P><H2><A NAME="format">File formats</A></H2> This section outlines the format of a raFS disc for the curious and for those who can't wait for me to implement <KBD>Verify</KBD> :-( In the following descriptions, an ID word is of the form &00zzyyxx where xx is the first level directory, yy the second, and zz the leaf name, e.g. &00010203 is the file 'B0.A2.A1'. The root directory is always 'A0.A0.A0'. <H3>The <I>!Atterer</I> file</H3> <P><PRE>Size Description 64 disc name, null terminated, padded with zeroes 4 there is guaranteed no unused ID lower than this one 4 attribute flags for root directory (0 at present) 4 0 (unimplemented) 4 o = number of buffer settings following (always 0 at present) ??*o buffer settings</PRE> <H3>Directory format</H3> <P><PRE>Size Description 4 n = nr of entries 4 m = 0 (unimplemented) 4 ID of parent (max. 76.76.76.0) - word contains -1 for root 4 &80000000 (unimplemented) 4*n offset to start of directory entries (words must be sorted in ascending order, file names in ASCII order, offsets are relative to start of these offsets) 4*m if any, offset to... (unimplemented) 4 offset to first unused byte after dir entries/dir names (also from beginning of offsets, so that if there are no entries, this contains the value 4)</PRE> <P>This is followed by the individual entries, if any: <P><PRE>4 load address 4 exec address 4 length (or FileSwitch handle if flag bit 12 set) 4 attributes 4 raFS attributes/flags: bits 0-1: 0 (unimplemented) 2-3: 0 (unimplemented) 4-5: 0 (unimplemented) 6-7: 0=normal file, 1/2 unimplemented, 3=directory 12: if set, file is open => 'length' contains FileSwitch handle 4 0 (unimplemented) 4 ID of file/directory 4*? name of file/directory, zero-terminated, padded with zeroes to the next multiple of 4. 4*? (unimplemented, always null at present) </PRE> <P>If an entry with bit 12 set is encountered upon loading directory data, raFS checks whether its own list of files contains that file ID together with the FileSwitch handle found in the directory entry. If there is no such entry in the list of open files, it is assumed that the machine crashed and the length is restored. <P ALIGN="right"><I><A HREF="#top">Back to the top of the page</A></I> </BODY></HTML>
00000000 3c 21 44 4f 43 54 59 50 45 20 48 54 4d 4c 20 50 |<!DOCTYPE HTML P| 00000010 55 42 4c 49 43 20 22 2d 2f 2f 57 33 43 2f 2f 44 |UBLIC "-//W3C//D| 00000020 54 44 20 48 54 4d 4c 20 33 2e 32 2f 2f 45 4e 22 |TD HTML 3.2//EN"| 00000030 3e 0a 3c 48 54 4d 4c 3e 0a 3c 48 45 41 44 3e 0a |>.<HTML>.<HEAD>.| 00000040 3c 54 49 54 4c 45 3e 4d 61 6e 75 61 6c 20 66 6f |<TITLE>Manual fo| 00000050 72 20 74 68 65 20 72 61 46 53 20 66 69 6c 69 6e |r the raFS filin| 00000060 67 20 73 79 73 74 65 6d 3c 2f 54 49 54 4c 45 3e |g system</TITLE>| 00000070 0a 3c 4d 45 54 41 20 4e 41 4d 45 3d 22 41 75 74 |.<META NAME="Aut| 00000080 68 6f 72 22 20 43 4f 4e 54 45 4e 54 3d 22 52 69 |hor" CONTENT="Ri| 00000090 63 68 61 72 64 20 41 74 74 65 72 65 72 22 3e 0a |chard Atterer">.| 000000a0 3c 4d 45 54 41 20 4e 41 4d 45 3d 22 4b 65 79 77 |<META NAME="Keyw| 000000b0 6f 72 64 73 22 20 43 4f 4e 54 45 4e 54 3d 22 41 |ords" CONTENT="A| 000000c0 74 74 65 72 65 72 2c 20 41 75 67 73 62 75 72 67 |tterer, Augsburg| 000000d0 2c 20 41 63 6f 72 6e 2c 20 72 61 46 53 2c 20 66 |, Acorn, raFS, f| 000000e0 69 6c 69 6e 67 2c 20 73 79 73 74 65 6d 2c 20 6c |iling, system, l| 000000f0 6f 6e 67 2c 20 66 69 6c 65 6e 61 6d 65 2c 20 66 |ong, filename, f| 00000100 69 6c 65 6e 61 6d 65 73 2c 20 64 69 72 65 63 74 |ilenames, direct| 00000110 6f 72 79 2c 20 64 69 72 65 63 74 6f 72 69 65 73 |ory, directories| 00000120 2c 20 66 69 6c 65 2c 20 66 69 6c 65 73 22 3e 0a |, file, files">.| 00000130 3c 4d 45 54 41 20 4e 41 4d 45 3d 22 44 65 73 63 |<META NAME="Desc| 00000140 72 69 70 74 69 6f 6e 22 20 43 4f 4e 54 45 4e 54 |ription" CONTENT| 00000150 3d 22 4d 61 6e 75 61 6c 20 66 6f 72 20 74 68 65 |="Manual for the| 00000160 20 72 61 46 53 20 66 69 6c 69 6e 67 20 73 79 73 | raFS filing sys| 00000170 74 65 6d 20 77 72 69 74 74 65 6e 20 62 79 20 52 |tem written by R| 00000180 69 63 68 61 72 64 20 41 74 74 65 72 65 72 22 3e |ichard Atterer">| 00000190 0a 3c 4d 45 54 41 20 48 54 54 50 2d 45 51 55 49 |.<META HTTP-EQUI| 000001a0 56 3d 22 43 6f 6e 74 65 6e 74 2d 74 79 70 65 22 |V="Content-type"| 000001b0 20 43 4f 4e 54 45 4e 54 3d 22 74 65 78 74 2f 68 | CONTENT="text/h| 000001c0 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 69 73 6f |tml; charset=iso| 000001d0 2d 38 38 35 39 2d 31 22 3e 0a 3c 2f 48 45 41 44 |-8859-1">.</HEAD| 000001e0 3e 0a 0a 3c 42 4f 44 59 20 42 47 43 4f 4c 4f 52 |>..<BODY BGCOLOR| 000001f0 3d 22 23 46 46 46 46 46 46 22 20 54 45 58 54 3d |="#FFFFFF" TEXT=| 00000200 22 23 30 30 30 30 30 30 22 20 4c 49 4e 4b 3d 22 |"#000000" LINK="| 00000210 23 30 30 30 30 46 46 22 20 56 4c 49 4e 4b 3d 22 |#0000FF" VLINK="| 00000220 23 38 38 30 30 42 42 22 0a 41 4c 49 4e 4b 3d 22 |#8800BB".ALINK="| 00000230 23 46 46 30 30 30 30 22 3e 0a 0a 3c 48 31 20 41 |#FF0000">..<H1 A| 00000240 4c 49 47 4e 3d 22 63 65 6e 74 65 72 22 3e 3c 41 |LIGN="center"><A| 00000250 0a 48 52 45 46 3d 22 68 74 74 70 3a 2f 2f 68 6f |.HREF="http://ho| 00000260 6d 65 2e 61 75 67 73 62 75 72 67 2e 62 61 79 6e |me.augsburg.bayn| 00000270 65 74 2e 64 65 2f 72 69 63 68 61 72 64 2e 61 74 |et.de/richard.at| 00000280 74 65 72 65 72 2f 22 3e 3c 49 4d 47 20 41 4c 54 |terer/"><IMG ALT| 00000290 3d 22 72 61 46 53 22 0a 53 52 43 3d 22 72 61 66 |="raFS".SRC="raf| 000002a0 73 2e 67 69 66 22 20 57 49 44 54 48 3d 32 30 36 |s.gif" WIDTH=206| 000002b0 20 48 45 49 47 48 54 3d 38 38 20 42 4f 52 44 45 | HEIGHT=88 BORDE| 000002c0 52 3d 30 3e 3c 2f 41 3e 3c 2f 48 31 3e 0a 0a 3c |R=0></A></H1>..<| 000002d0 50 3e 3c 48 52 3e 0a 0a 3c 50 3e 3c 48 32 3e 3c |P><HR>..<P><H2><| 000002e0 41 20 4e 41 4d 45 3d 22 74 6f 70 22 3e 54 65 63 |A NAME="top">Tec| 000002f0 68 6e 69 63 61 6c 20 44 65 74 61 69 6c 73 3c 2f |hnical Details</| 00000300 41 3e 3c 2f 48 32 3e 0a 0a 54 68 69 73 20 70 61 |A></H2>..This pa| 00000310 72 74 20 6f 66 20 74 68 65 20 6d 61 6e 75 61 6c |rt of the manual| 00000320 20 64 65 73 63 72 69 62 65 73 20 6d 6f 72 65 20 | describes more | 00000330 74 65 63 68 6e 69 63 61 6c 20 61 73 70 65 63 74 |technical aspect| 00000340 73 20 6f 66 20 72 61 46 53 2e 20 49 74 20 69 73 |s of raFS. It is| 00000350 20 6e 6f 74 0a 6e 65 63 65 73 73 61 72 79 20 66 | not.necessary f| 00000360 6f 72 20 79 6f 75 20 74 6f 20 72 65 61 64 20 69 |or you to read i| 00000370 74 2c 20 62 75 74 20 74 68 65 72 65 20 61 72 65 |t, but there are| 00000380 20 61 20 66 65 77 20 74 68 69 6e 67 73 20 68 65 | a few things he| 00000390 72 65 20 74 68 61 74 20 61 72 65 6e 27 74 0a 6d |re that aren't.m| 000003a0 65 6e 74 69 6f 6e 65 64 20 69 6e 20 74 68 65 20 |entioned in the | 000003b0 55 73 65 72 20 4d 61 6e 75 61 6c 2e 0a 0a 3c 50 |User Manual...<P| 000003c0 3e 0a 3c 55 4c 3e 0a 3c 4c 49 3e 3c 41 20 48 52 |>.<UL>.<LI><A HR| 000003d0 45 46 3d 22 23 69 6e 74 65 67 72 69 74 79 22 3e |EF="#integrity">| 000003e0 43 6f 72 72 75 70 74 65 64 20 64 69 73 63 73 3c |Corrupted discs<| 000003f0 2f 41 3e 20 61 6e 64 20 68 6f 77 20 74 68 65 79 |/A> and how they| 00000400 20 61 72 65 20 64 65 61 6c 74 20 77 69 74 68 0a | are dealt with.| 00000410 3c 4c 49 3e 3c 41 20 48 52 45 46 3d 22 23 62 65 |<LI><A HREF="#be| 00000420 68 61 76 65 22 3e 42 65 68 61 76 69 6f 75 72 20 |have">Behaviour | 00000430 69 6e 20 73 70 65 63 69 61 6c 20 73 69 74 75 61 |in special situa| 00000440 74 69 6f 6e 73 3c 2f 41 3e 0a 3c 4c 49 3e 3c 41 |tions</A>.<LI><A| 00000450 20 48 52 45 46 3d 22 23 6c 69 6d 69 74 73 22 3e | HREF="#limits">| 00000460 4c 69 6d 69 74 73 20 6f 66 20 72 61 46 53 3c 2f |Limits of raFS</| 00000470 41 3e 0a 3c 4c 49 3e 3c 41 20 48 52 45 46 3d 22 |A>.<LI><A HREF="| 00000480 23 67 6f 64 64 61 6d 6e 62 75 67 73 22 3e 4b 6e |#goddamnbugs">Kn| 00000490 6f 77 6e 20 70 72 6f 62 6c 65 6d 73 3c 2f 41 3e |own problems</A>| 000004a0 0a 3c 4c 49 3e 3c 41 20 48 52 45 46 3d 22 23 63 |.<LI><A HREF="#c| 000004b0 6c 69 22 3e 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 |li">Command line| 000004c0 20 69 6e 74 65 72 66 61 63 65 3c 2f 41 3e 3a 20 | interface</A>: | 000004d0 3c 4b 42 44 3e 3c 41 20 48 52 45 46 3d 22 23 63 |<KBD><A HREF="#c| 000004e0 6c 69 5f 66 69 6c 65 72 22 3e 44 65 73 6b 74 6f |li_filer">Deskto| 000004f0 70 5f 72 61 46 53 46 69 6c 65 72 3c 2f 41 3e 2c |p_raFSFiler</A>,| 00000500 20 3c 41 20 48 52 45 46 3d 22 23 63 6c 69 5f 66 | <A HREF="#cli_f| 00000510 73 22 3e 72 61 46 53 3c 2f 41 3e 2c 20 3c 41 20 |s">raFS</A>, <A | 00000520 48 52 45 46 3d 22 23 63 6c 69 5f 63 72 65 61 74 |HREF="#cli_creat| 00000530 65 22 3e 72 61 46 53 5f 43 72 65 61 74 65 3c 2f |e">raFS_Create</| 00000540 41 3e 2c 20 3c 41 20 48 52 45 46 3d 22 23 63 6c |A>, <A HREF="#cl| 00000550 69 5f 66 6c 75 73 68 22 3e 72 61 46 53 5f 46 6c |i_flush">raFS_Fl| 00000560 75 73 68 3c 2f 41 3e 2c 20 3c 41 20 48 52 45 46 |ush</A>, <A HREF| 00000570 3d 22 23 63 6c 69 5f 64 69 73 63 73 22 3e 72 61 |="#cli_discs">ra| 00000580 46 53 5f 44 69 73 63 73 3c 2f 41 3e 2c 20 3c 41 |FS_Discs</A>, <A| 00000590 20 48 52 45 46 3d 22 23 63 6c 69 5f 6d 6f 75 6e | HREF="#cli_moun| 000005a0 74 22 3e 4d 6f 75 6e 74 3c 2f 41 3e 2c 20 3c 41 |t">Mount</A>, <A| 000005b0 20 48 52 45 46 3d 22 23 63 6c 69 5f 64 69 73 6d | HREF="#cli_dism| 000005c0 6f 75 6e 74 22 3e 44 69 73 6d 6f 75 6e 74 3c 2f |ount">Dismount</| 000005d0 41 3e 2c 20 3c 41 20 48 52 45 46 3d 22 23 63 6c |A>, <A HREF="#cl| 000005e0 69 5f 66 72 65 65 22 3e 46 72 65 65 3c 2f 41 3e |i_free">Free</A>| 000005f0 2c 20 3c 41 20 48 52 45 46 3d 22 23 63 6c 69 5f |, <A HREF="#cli_| 00000600 6e 61 6d 65 22 3e 4e 61 6d 65 44 69 73 63 3c 2f |name">NameDisc</| 00000610 41 3e 2c 20 3c 41 20 48 52 45 46 3d 22 23 63 6c |A>, <A HREF="#cl| 00000620 69 5f 75 6e 73 61 66 65 22 3e 72 61 46 53 5f 55 |i_unsafe">raFS_U| 00000630 6e 73 61 66 65 3c 2f 41 3e 2c 20 3c 41 20 48 52 |nsafe</A>, <A HR| 00000640 45 46 3d 22 23 63 6c 69 5f 73 61 66 65 22 3e 72 |EF="#cli_safe">r| 00000650 61 46 53 5f 53 61 66 65 3c 2f 41 3e 2c 20 3c 41 |aFS_Safe</A>, <A| 00000660 20 48 52 45 46 3d 22 23 63 6c 69 5f 6f 70 74 22 | HREF="#cli_opt"| 00000670 3e 72 61 46 53 5f 4f 70 74 3c 2f 41 3e 3c 2f 4b |>raFS_Opt</A></K| 00000680 42 44 3e 0a 3c 4c 49 3e 3c 41 20 48 52 45 46 3d |BD>.<LI><A HREF=| 00000690 22 23 63 61 6c 6c 22 3e 43 61 6c 6c 69 6e 67 20 |"#call">Calling | 000006a0 72 61 46 53 20 66 72 6f 6d 20 61 73 73 65 6d 62 |raFS from assemb| 000006b0 6c 65 72 3c 2f 41 3e 3a 20 3c 4b 42 44 3e 3c 41 |ler</A>: <KBD><A| 000006c0 20 48 52 45 46 3d 22 23 63 61 6c 6c 5f 69 6e 66 | HREF="#call_inf| 000006d0 6f 22 3e 72 61 46 53 5f 49 6e 66 6f 3c 2f 41 3e |o">raFS_Info</A>| 000006e0 2c 20 3c 41 20 48 52 45 46 3d 22 23 63 61 6c 6c |, <A HREF="#call| 000006f0 5f 6e 72 6f 66 64 69 73 63 73 22 3e 72 61 46 53 |_nrofdiscs">raFS| 00000700 5f 4e 72 4f 66 44 69 73 63 73 3c 2f 41 3e 2c 20 |_NrOfDiscs</A>, | 00000710 3c 41 20 48 52 45 46 3d 22 23 63 61 6c 6c 5f 65 |<A HREF="#call_e| 00000720 6e 75 6d 65 72 61 74 65 64 69 73 63 73 22 3e 72 |numeratediscs">r| 00000730 61 46 53 5f 45 6e 75 6d 65 72 61 74 65 44 69 73 |aFS_EnumerateDis| 00000740 63 73 3c 2f 41 3e 2c 20 3c 41 20 48 52 45 46 3d |cs</A>, <A HREF=| 00000750 22 23 63 61 6c 6c 5f 66 69 6e 64 64 69 73 63 22 |"#call_finddisc"| 00000760 3e 72 61 46 53 5f 46 69 6e 64 44 69 73 63 3c 2f |>raFS_FindDisc</| 00000770 41 3e 2c 20 3c 41 20 48 52 45 46 3d 22 23 63 61 |A>, <A HREF="#ca| 00000780 6c 6c 5f 64 69 73 63 69 6e 66 6f 22 3e 72 61 46 |ll_discinfo">raF| 00000790 53 5f 44 69 73 63 49 6e 66 6f 3c 2f 41 3e 2c 20 |S_DiscInfo</A>, | 000007a0 3c 41 20 48 52 45 46 3d 22 23 63 61 6c 6c 5f 6d |<A HREF="#call_m| 000007b0 65 6d 63 6f 70 79 22 3e 72 61 46 53 5f 4d 65 6d |emcopy">raFS_Mem| 000007c0 43 6f 70 79 3c 2f 41 3e 2c 20 3c 41 20 48 52 45 |Copy</A>, <A HRE| 000007d0 46 3d 22 23 63 61 6c 6c 5f 72 65 61 64 76 61 72 |F="#call_readvar| 000007e0 22 3e 72 61 46 53 5f 52 65 61 64 56 61 72 3c 2f |">raFS_ReadVar</| 000007f0 41 3e 2c 20 3c 41 20 48 52 45 46 3d 22 23 63 61 |A>, <A HREF="#ca| 00000800 6c 6c 5f 73 65 74 76 61 72 22 3e 72 61 46 53 5f |ll_setvar">raFS_| 00000810 53 65 74 56 61 72 3c 2f 41 3e 3c 2f 4b 42 44 3e |SetVar</A></KBD>| 00000820 0a 3c 4c 49 3e 3c 41 20 48 52 45 46 3d 22 23 66 |.<LI><A HREF="#f| 00000830 6f 72 6d 61 74 22 3e 46 69 6c 65 20 66 6f 72 6d |ormat">File form| 00000840 61 74 73 3c 2f 41 3e 0a 3c 2f 55 4c 3e 0a 0a 0a |ats</A>.</UL>...| 00000850 0a 3c 50 3e 3c 48 52 3e 0a 0a 3c 50 3e 3c 48 32 |.<P><HR>..<P><H2| 00000860 3e 3c 41 20 4e 41 4d 45 3d 22 69 6e 74 65 67 72 |><A NAME="integr| 00000870 69 74 79 22 3e 43 6f 72 72 75 70 74 65 64 20 64 |ity">Corrupted d| 00000880 69 73 63 73 3c 2f 41 3e 3c 2f 48 32 3e 0a 0a 72 |iscs</A></H2>..r| 00000890 61 46 53 20 69 6e 63 6c 75 64 65 73 20 63 6f 64 |aFS includes cod| 000008a0 65 20 74 6f 20 64 65 61 6c 20 61 73 20 63 6c 65 |e to deal as cle| 000008b0 61 6e 6c 79 20 61 73 20 70 6f 73 73 69 62 6c 65 |anly as possible| 000008c0 20 77 69 74 68 20 64 69 73 63 73 20 74 68 61 74 | with discs that| 000008d0 20 63 6f 6e 74 61 69 6e 0a 69 6e 76 61 6c 69 64 | contain.invalid| 000008e0 20 64 69 72 65 63 74 6f 72 69 65 73 20 6f 72 20 | directories or | 000008f0 66 69 6c 65 20 72 65 66 65 72 65 6e 63 65 73 2e |file references.| 00000900 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 20 | For example, a | 00000910 64 69 73 63 20 6d 61 79 20 62 65 63 6f 6d 65 0a |disc may become.| 00000920 63 6f 72 72 75 70 74 65 64 20 64 75 65 20 74 6f |corrupted due to| 00000930 20 63 68 61 6e 67 65 64 20 62 75 74 20 6e 6f 74 | changed but not| 00000940 20 79 65 74 20 73 61 76 65 64 20 64 69 72 65 63 | yet saved direc| 00000950 74 6f 72 79 20 64 61 74 61 20 62 65 69 6e 67 20 |tory data being | 00000960 6c 6f 73 74 20 77 68 65 6e 20 74 68 65 0a 63 6f |lost when the.co| 00000970 6d 70 75 74 65 72 20 63 72 61 73 68 65 73 2e 0a |mputer crashes..| 00000980 0a 3c 50 3e 57 68 65 6e 65 76 65 72 20 64 69 72 |.<P>Whenever dir| 00000990 65 63 74 6f 72 79 20 64 61 74 61 20 69 73 20 6c |ectory data is l| 000009a0 6f 61 64 65 64 20 69 6e 74 6f 20 6d 65 6d 6f 72 |oaded into memor| 000009b0 79 2c 20 74 68 65 20 66 69 6c 69 6e 67 20 73 79 |y, the filing sy| 000009c0 73 74 65 6d 20 70 65 72 66 6f 72 6d 73 0a 61 20 |stem performs.a | 000009d0 6e 75 6d 62 65 72 20 6f 66 20 63 68 65 63 6b 73 |number of checks| 000009e0 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 | to ensure that | 000009f0 69 74 20 72 65 61 6c 6c 79 20 72 65 70 72 65 73 |it really repres| 00000a00 65 6e 74 73 20 61 20 76 61 6c 69 64 20 64 69 72 |ents a valid dir| 00000a10 65 63 74 6f 72 79 20 2d 0a 69 6e 63 6f 72 72 65 |ectory -.incorre| 00000a20 63 74 20 64 69 72 65 63 74 6f 72 69 65 73 20 63 |ct directories c| 00000a30 6f 75 6c 64 20 68 61 76 65 20 64 69 73 61 73 74 |ould have disast| 00000a40 72 6f 75 73 20 65 66 66 65 63 74 73 2e 20 41 6e |rous effects. An| 00000a50 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 6f | error message o| 00000a60 66 20 74 68 65 0a 66 6f 72 6d 20 3c 53 41 4d 50 |f the.form <SAMP| 00000a70 3e 64 69 72 65 63 74 6f 72 79 20 64 61 74 61 20 |>directory data | 00000a80 69 6e 20 27 41 44 46 53 3a 3a 34 2e 24 2e 41 30 |in 'ADFS::4.$.A0| 00000a90 2e 41 30 2e 41 30 27 20 69 73 20 69 6e 76 61 6c |.A0.A0' is inval| 00000aa0 69 64 3c 2f 53 41 4d 50 3e 20 69 73 20 67 69 76 |id</SAMP> is giv| 00000ab0 65 6e 0a 69 6e 20 74 68 69 73 20 63 61 73 65 2e |en.in this case.| 00000ac0 0a 0a 3c 50 3e 42 65 66 6f 72 65 20 61 20 6e 65 |..<P>Before a ne| 00000ad0 77 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 |w file or direct| 00000ae0 6f 72 79 20 69 73 20 77 72 69 74 74 65 6e 20 74 |ory is written t| 00000af0 6f 20 74 68 65 20 68 6f 73 74 20 66 69 6c 69 6e |o the host filin| 00000b00 67 20 73 79 73 74 65 6d 2c 20 72 61 46 53 0a 61 |g system, raFS.a| 00000b10 6c 73 6f 20 65 6e 73 75 72 65 73 20 74 68 61 74 |lso ensures that| 00000b20 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 64 | the directory d| 00000b30 6f 65 73 6e 27 74 20 63 6f 6e 74 61 69 6e 20 61 |oesn't contain a| 00000b40 6e 79 20 66 69 6c 65 73 20 77 69 74 68 20 69 6e |ny files with in| 00000b50 76 61 6c 69 64 20 6e 61 6d 65 73 2e 0a 49 66 20 |valid names..If | 00000b60 61 20 66 69 6c 65 20 69 73 20 66 6f 75 6e 64 20 |a file is found | 00000b70 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 20 6e 6f |whose name is no| 00000b80 74 20 6f 6e 65 20 6f 66 20 74 68 65 20 37 37 20 |t one of the 77 | 00000b90 6e 61 6d 65 73 20 3c 54 54 3e 41 30 3c 2f 54 54 |names <TT>A0</TT| 00000ba0 3e 20 74 6f 0a 3c 54 54 3e 5a 31 3c 2f 54 54 3e |> to.<TT>Z1</TT>| 00000bb0 2c 20 74 68 65 20 73 61 76 65 20 6f 70 65 72 61 |, the save opera| 00000bc0 74 69 6f 6e 20 66 61 69 6c 73 20 77 69 74 68 20 |tion fails with | 00000bd0 3c 53 41 4d 50 3e 4e 61 6d 65 20 69 6e 73 69 64 |<SAMP>Name insid| 00000be0 65 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 0a |e the directory.| 00000bf0 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 72 61 46 |containing a raF| 00000c00 53 20 64 69 73 63 20 69 73 20 6e 6f 74 20 6f 66 |S disc is not of| 00000c10 20 74 68 65 20 66 6f 72 6d 20 27 41 30 2e 41 30 | the form 'A0.A0| 00000c20 2e 41 30 27 3c 2f 53 41 4d 50 3e 0a 0a 3c 50 3e |.A0'</SAMP>..<P>| 00000c30 46 69 6e 61 6c 6c 79 2c 20 73 70 65 63 69 61 6c |Finally, special| 00000c40 20 63 6f 64 65 20 64 65 61 6c 73 20 77 69 74 68 | code deals with| 00000c50 20 66 69 6c 65 73 20 6f 6e 20 72 61 46 53 20 77 | files on raFS w| 00000c60 68 69 63 68 20 72 65 66 65 72 20 74 6f 20 66 69 |hich refer to fi| 00000c70 6c 65 73 20 6f 6e 20 74 68 65 0a 68 6f 73 74 20 |les on the.host | 00000c80 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 20 74 68 |filing system th| 00000c90 61 74 20 65 69 74 68 65 72 20 64 6f 6e 27 74 20 |at either don't | 00000ca0 65 78 69 73 74 20 6f 72 20 74 68 61 74 20 68 61 |exist or that ha| 00000cb0 76 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 74 |ve a different t| 00000cc0 69 6d 65 2f 64 61 74 65 0a 73 74 61 6d 70 2e 20 |ime/date.stamp. | 00000cd0 49 66 20 61 20 66 69 6c 65 20 69 73 20 6d 69 73 |If a file is mis| 00000ce0 73 69 6e 67 2c 20 61 20 64 75 6d 6d 79 20 66 69 |sing, a dummy fi| 00000cf0 6c 65 20 28 6c 65 6e 67 74 68 20 7a 65 72 6f 2c |le (length zero,| 00000d00 20 66 69 6c 65 20 74 79 70 65 20 7a 65 72 6f 2c | file type zero,| 00000d10 20 64 61 74 65 0a 73 74 61 6d 70 20 30 31 2d 30 | date.stamp 01-0| 00000d20 31 2d 31 39 30 30 29 20 69 73 20 63 72 65 61 74 |1-1900) is creat| 00000d30 65 64 20 74 6f 20 70 72 65 76 65 6e 74 20 6f 74 |ed to prevent ot| 00000d40 68 65 72 20 66 69 6c 65 73 20 66 72 6f 6d 20 62 |her files from b| 00000d50 65 69 6e 67 20 61 73 73 69 67 6e 65 64 20 74 68 |eing assigned th| 00000d60 61 74 0a 49 44 2e 20 28 44 65 70 65 6e 64 69 6e |at.ID. (Dependin| 00000d70 67 20 6f 6e 20 74 68 65 20 63 6f 6e 66 69 67 75 |g on the configu| 00000d80 72 65 64 20 54 69 6d 65 5a 6f 6e 65 20 6f 66 20 |red TimeZone of | 00000d90 79 6f 75 72 20 6d 61 63 68 69 6e 65 2c 20 74 68 |your machine, th| 00000da0 65 20 79 65 61 72 20 6d 61 79 20 61 6c 73 6f 0a |e year may also.| 00000db0 62 65 20 64 69 73 70 6c 61 79 65 64 20 61 73 20 |be displayed as | 00000dc0 32 32 34 38 20 69 6e 73 74 65 61 64 20 6f 66 20 |2248 instead of | 00000dd0 31 39 30 30 2e 29 0a 0a 3c 50 3e 49 66 20 74 68 |1900.)..<P>If th| 00000de0 65 20 64 61 74 65 20 73 74 61 6d 70 2c 20 66 69 |e date stamp, fi| 00000df0 6c 65 20 74 79 70 65 20 6f 72 20 74 68 65 20 66 |le type or the f| 00000e00 69 6c 65 20 6c 65 6e 67 74 68 20 64 6f 65 73 20 |ile length does | 00000e10 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 0a 64 69 |not match the.di| 00000e20 72 65 63 74 6f 72 79 20 65 6e 74 72 79 2c 20 61 |rectory entry, a| 00000e30 6c 6c 20 6f 70 65 6e 2c 20 6c 6f 61 64 2c 20 73 |ll open, load, s| 00000e40 61 76 65 2c 20 64 65 6c 65 74 65 20 61 6e 64 20 |ave, delete and | 00000e50 63 72 65 61 74 65 20 6f 70 65 72 61 74 69 6f 6e |create operation| 00000e60 73 20 6f 6e 20 66 69 6c 65 73 0a 77 69 6c 6c 20 |s on files.will | 00000e70 6f 6e 6c 79 20 70 72 6f 64 75 63 65 20 61 6e 20 |only produce an | 00000e80 65 72 72 6f 72 20 6c 69 6b 65 20 3c 53 41 4d 50 |error like <SAMP| 00000e90 3e 27 41 44 46 53 3a 3a 34 2e 24 2e 41 30 2e 41 |>'ADFS::4.$.A0.A| 00000ea0 30 2e 41 30 27 20 64 6f 65 73 20 6e 6f 74 20 62 |0.A0' does not b| 00000eb0 65 6c 6f 6e 67 20 74 6f 0a 74 68 69 73 20 64 69 |elong to.this di| 00000ec0 72 65 63 74 6f 72 79 20 65 6e 74 72 79 20 2d 20 |rectory entry - | 00000ed0 76 65 72 69 66 79 20 74 68 65 20 72 61 46 53 20 |verify the raFS | 00000ee0 64 69 73 63 2e 3c 2f 53 41 4d 50 3e 20 49 6e 20 |disc.</SAMP> In | 00000ef0 74 68 69 73 20 73 74 61 74 65 2c 20 74 68 65 20 |this state, the | 00000f00 6f 6e 6c 79 0a 70 6f 73 73 69 62 6c 65 20 6f 70 |only.possible op| 00000f10 65 72 61 74 69 6f 6e 73 20 61 72 65 20 72 65 6e |erations are ren| 00000f20 61 6d 69 6e 67 20 74 68 65 20 66 69 6c 65 2c 20 |aming the file, | 00000f30 73 74 61 6d 70 69 6e 67 20 69 74 20 28 6f 72 20 |stamping it (or | 00000f40 63 68 61 6e 67 69 6e 67 20 69 74 73 0a 61 63 63 |changing its.acc| 00000f50 65 73 73 20 64 65 74 61 69 6c 73 29 20 61 6e 64 |ess details) and| 00000f60 20 64 65 6c 65 74 69 6e 67 20 69 74 20 28 3c 45 | deleting it (<E| 00000f70 4d 3e 6f 6e 6c 79 3c 2f 45 4d 3e 20 69 66 20 69 |M>only</EM> if i| 00000f80 74 20 72 65 66 65 72 73 20 74 6f 20 61 20 64 75 |t refers to a du| 00000f90 6d 6d 79 20 66 69 6c 65 29 2e 0a 53 74 61 6d 70 |mmy file)..Stamp| 00000fa0 69 6e 67 20 74 68 65 20 66 69 6c 65 20 63 61 75 |ing the file cau| 00000fb0 73 65 73 20 74 68 65 20 64 61 74 61 20 74 6f 20 |ses the data to | 00000fc0 62 65 20 73 79 6e 63 68 72 6f 6e 69 7a 65 64 2c |be synchronized,| 00000fd0 20 73 6f 20 74 68 61 74 20 61 6e 79 20 6f 70 65 | so that any ope| 00000fe0 72 61 74 69 6f 6e 0a 63 61 6e 20 62 65 20 61 70 |ration.can be ap| 00000ff0 70 6c 69 65 64 20 74 6f 20 69 74 20 61 67 61 69 |plied to it agai| 00001000 6e 2c 20 62 75 74 20 3c 45 4d 3e 6f 6e 6c 79 20 |n, but <EM>only | 00001010 64 6f 20 74 68 69 73 20 69 66 20 79 6f 75 20 61 |do this if you a| 00001020 72 65 20 76 65 72 79 20 73 75 72 65 20 61 62 6f |re very sure abo| 00001030 75 74 0a 69 74 21 3c 2f 45 4d 3e 0a 0a 3c 50 3e |ut.it!</EM>..<P>| 00001040 42 65 63 61 75 73 65 20 74 68 65 72 65 20 61 72 |Because there ar| 00001050 65 20 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 73 |e filing systems| 00001060 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 73 74 6f | that cannot sto| 00001070 72 65 20 74 68 65 20 64 61 74 65 20 73 74 61 6d |re the date stam| 00001080 70 20 69 6e 0a 63 65 6e 74 69 73 65 63 6f 6e 64 |p in.centisecond| 00001090 73 20 6c 69 6b 65 20 74 68 65 20 6e 61 74 69 76 |s like the nativ| 000010a0 65 20 52 69 73 63 4f 53 20 66 69 6c 69 6e 67 20 |e RiscOS filing | 000010b0 73 79 73 74 65 6d 73 20 64 6f 2c 20 74 68 65 20 |systems do, the | 000010c0 73 74 61 6d 70 20 77 69 6c 6c 20 73 74 69 6c 6c |stamp will still| 000010d0 0a 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 76 |.be considered v| 000010e0 61 6c 69 64 20 69 66 20 69 74 20 64 6f 65 73 6e |alid if it doesn| 000010f0 27 74 20 64 69 66 66 65 72 20 62 79 20 6d 6f 72 |'t differ by mor| 00001100 65 20 74 68 61 6e 20 32 34 20 68 6f 75 72 73 20 |e than 24 hours | 00001110 66 72 6f 6d 20 77 68 61 74 20 74 68 65 0a 72 61 |from what the.ra| 00001120 46 53 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 |FS directory ent| 00001130 72 79 20 63 6f 6e 74 61 69 6e 73 2e 20 53 6f 6d |ry contains. Som| 00001140 65 20 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 73 |e filing systems| 00001150 20 64 6f 6e 27 74 20 61 6c 6c 6f 77 20 66 69 6c | don't allow fil| 00001160 65 20 73 74 61 6d 70 73 20 61 74 0a 61 6c 6c 2e |e stamps at.all.| 00001170 20 43 6f 6e 73 65 71 75 65 6e 74 6c 79 2c 20 69 | Consequently, i| 00001180 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f |t is possible to| 00001190 20 64 69 73 61 62 6c 65 20 74 68 65 20 63 68 65 | disable the che| 000011a0 63 6b 73 20 62 79 20 73 65 74 74 69 6e 67 20 74 |cks by setting t| 000011b0 68 65 20 73 79 73 74 65 6d 0a 76 61 72 69 61 62 |he system.variab| 000011c0 6c 65 20 72 61 46 53 24 4e 6f 43 68 65 63 6b 73 |le raFS$NoChecks| 000011d0 20 74 6f 20 61 20 63 6f 6d 6d 61 2d 73 65 70 65 | to a comma-sepe| 000011e0 72 61 74 65 64 20 6c 69 73 74 20 6f 66 20 66 69 |rated list of fi| 000011f0 6c 69 6e 67 20 73 79 73 74 65 6d 20 6e 61 6d 65 |ling system name| 00001200 73 0a 62 65 66 6f 72 65 20 6d 6f 75 6e 74 69 6e |s.before mountin| 00001210 67 20 64 69 73 63 73 20 6f 6e 20 74 68 6f 73 65 |g discs on those| 00001220 20 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 73 2e | filing systems.| 00001230 20 54 68 65 20 6e 61 6d 65 73 20 61 72 65 20 6d | The names are m| 00001240 61 74 63 68 65 64 0a 63 61 73 65 2d 73 65 6e 73 |atched.case-sens| 00001250 69 74 69 76 65 6c 79 2e 0a 0a 3c 50 20 41 4c 49 |itively...<P ALI| 00001260 47 4e 3d 22 72 69 67 68 74 22 3e 3c 49 3e 3c 41 |GN="right"><I><A| 00001270 20 48 52 45 46 3d 22 23 74 6f 70 22 3e 42 61 63 | HREF="#top">Bac| 00001280 6b 20 74 6f 20 74 68 65 20 74 6f 70 20 6f 66 20 |k to the top of | 00001290 74 68 65 20 70 61 67 65 3c 2f 41 3e 3c 2f 49 3e |the page</A></I>| 000012a0 3c 50 3e 3c 48 52 0a 57 49 44 54 48 3d 22 34 31 |<P><HR.WIDTH="41| 000012b0 25 22 3e 0a 0a 0a 0a 3c 50 3e 3c 48 32 3e 3c 41 |%">....<P><H2><A| 000012c0 20 4e 41 4d 45 3d 22 62 65 68 61 76 65 22 3e 42 | NAME="behave">B| 000012d0 65 68 61 76 69 6f 75 72 20 69 6e 20 73 70 65 63 |ehaviour in spec| 000012e0 69 61 6c 20 73 69 74 75 61 74 69 6f 6e 73 3c 2f |ial situations</| 000012f0 41 3e 3c 2f 48 32 3e 0a 0a 54 68 65 72 65 20 61 |A></H2>..There a| 00001300 72 65 20 61 20 66 65 77 20 70 6f 69 6e 74 73 20 |re a few points | 00001310 77 6f 72 74 68 20 6e 6f 74 69 6e 67 20 61 62 6f |worth noting abo| 00001320 75 74 20 68 6f 77 20 72 61 46 53 20 62 65 68 61 |ut how raFS beha| 00001330 76 65 73 20 69 6e 20 63 65 72 74 61 69 6e 0a 73 |ves in certain.s| 00001340 69 74 75 61 74 69 6f 6e 73 2e 20 0a 0a 3c 55 4c |ituations. ..<UL| 00001350 3e 0a 0a 3c 4c 49 3e 41 73 20 61 20 72 65 73 75 |>..<LI>As a resu| 00001360 6c 74 20 6f 66 20 72 61 46 53 27 20 61 62 69 6c |lt of raFS' abil| 00001370 69 74 79 20 74 6f 20 68 61 76 65 20 61 20 66 69 |ity to have a fi| 00001380 6c 65 20 6f 70 65 6e 65 64 20 6d 6f 72 65 20 74 |le opened more t| 00001390 68 61 6e 20 6f 6e 63 65 2c 20 69 74 20 69 73 0a |han once, it is.| 000013a0 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f |also possible to| 000013b0 20 73 61 76 65 20 6f 6e 20 74 6f 70 20 6f 66 20 | save on top of | 000013c0 61 6e 20 6f 70 65 6e 65 64 20 66 69 6c 65 2e 20 |an opened file. | 000013d0 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 |In this case, th| 000013e0 65 20 66 69 6c 65 20 65 78 74 65 6e 74 0a 77 69 |e file extent.wi| 000013f0 6c 6c 20 62 65 20 73 65 74 20 74 6f 20 74 68 65 |ll be set to the| 00001400 20 73 69 7a 65 20 6f 66 20 74 68 65 20 66 69 6c | size of the fil| 00001410 65 20 74 68 61 74 20 69 73 20 73 61 76 65 64 2e |e that is saved.| 00001420 0a 0a 3c 4c 49 3e 4f 6e 63 65 20 61 20 66 69 6c |..<LI>Once a fil| 00001430 65 20 69 73 20 6f 70 65 6e 65 64 20 6d 75 6c 74 |e is opened mult| 00001440 69 70 6c 65 20 74 69 6d 65 73 2c 20 69 74 20 69 |iple times, it i| 00001450 73 20 70 6f 73 73 69 62 6c 65 20 74 68 61 74 20 |s possible that | 00001460 74 68 65 20 66 69 6c 65 20 65 78 74 65 6e 74 0a |the file extent.| 00001470 62 65 63 6f 6d 65 73 20 73 6d 61 6c 6c 65 72 20 |becomes smaller | 00001480 74 68 61 6e 20 74 68 65 20 73 65 71 75 65 6e 74 |than the sequent| 00001490 69 61 6c 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 |ial pointer. Thi| 000014a0 73 20 68 61 70 70 65 6e 73 20 6f 6e 6c 79 20 66 |s happens only f| 000014b0 6f 72 20 74 68 6f 73 65 0a 73 65 71 75 65 6e 74 |or those.sequent| 000014c0 69 61 6c 20 70 6f 69 6e 74 65 72 73 20 74 68 61 |ial pointers tha| 000014d0 74 20 64 6f 6e 27 74 20 62 65 6c 6f 6e 67 20 74 |t don't belong t| 000014e0 6f 20 74 68 65 20 66 69 6c 65 20 68 61 6e 64 6c |o the file handl| 000014f0 65 20 75 73 65 64 20 66 6f 72 20 63 68 61 6e 67 |e used for chang| 00001500 69 6e 67 0a 74 68 65 20 65 78 74 65 6e 74 2c 20 |ing.the extent, | 00001510 69 2e 26 6e 62 73 70 3b 65 2e 20 69 66 20 66 69 |i. e. if fi| 00001520 6c 65 20 68 61 6e 64 6c 65 73 20 41 20 61 6e 64 |le handles A and| 00001530 20 42 20 77 65 72 65 20 72 65 74 75 72 6e 65 64 | B were returned| 00001540 20 77 68 65 6e 20 61 20 66 69 6c 65 20 77 61 73 | when a file was| 00001550 0a 6f 70 65 6e 65 64 20 74 77 69 63 65 2c 20 61 |.opened twice, a| 00001560 6e 64 20 66 69 6c 65 20 68 61 6e 64 6c 65 20 41 |nd file handle A| 00001570 20 69 73 20 75 73 65 64 20 74 6f 20 73 65 74 20 | is used to set | 00001580 74 68 65 20 65 78 74 65 6e 74 2c 20 74 68 65 6e |the extent, then| 00001590 20 74 68 65 0a 73 65 71 75 65 6e 74 69 61 6c 20 | the.sequential | 000015a0 70 6f 69 6e 74 65 72 20 6f 66 20 41 20 77 69 6c |pointer of A wil| 000015b0 6c 20 62 65 20 73 65 74 20 74 6f 20 74 68 65 20 |l be set to the | 000015c0 65 78 74 65 6e 74 20 69 66 20 69 74 20 69 73 20 |extent if it is | 000015d0 67 72 65 61 74 65 72 20 77 68 65 72 65 61 73 0a |greater whereas.| 000015e0 74 68 65 20 73 65 71 75 65 6e 74 69 61 6c 20 70 |the sequential p| 000015f0 6f 69 6e 74 65 72 20 6f 66 20 42 20 77 6f 6e 27 |ointer of B won'| 00001600 74 20 62 65 2e 20 54 68 69 73 20 69 73 20 6e 6f |t be. This is no| 00001610 74 20 61 20 62 75 67 2c 20 74 68 65 20 62 65 68 |t a bug, the beh| 00001620 61 76 69 6f 75 72 20 69 73 0a 69 6e 74 65 6e 64 |aviour is.intend| 00001630 65 64 21 0a 0a 3c 4c 49 3e 41 74 20 70 72 65 73 |ed!..<LI>At pres| 00001640 65 6e 74 2c 20 79 6f 75 20 63 61 6e 6e 6f 74 20 |ent, you cannot | 00001650 72 65 6e 61 6d 65 20 6f 72 20 64 65 6c 65 74 65 |rename or delete| 00001660 20 6f 70 65 6e 20 66 69 6c 65 73 2c 20 62 75 74 | open files, but| 00001670 20 49 27 6d 20 74 68 69 6e 6b 69 6e 67 0a 61 62 | I'm thinking.ab| 00001680 6f 75 74 20 65 6e 61 62 6c 69 6e 67 20 79 6f 75 |out enabling you| 00001690 20 74 6f 20 64 6f 20 74 68 69 73 2e 20 49 73 20 | to do this. Is | 000016a0 74 68 65 72 65 20 61 6e 79 20 72 65 61 73 6f 6e |there any reason| 000016b0 20 77 68 79 20 69 74 20 73 68 6f 75 6c 64 6e 27 | why it shouldn'| 000016c0 74 20 62 65 0a 70 6f 73 73 69 62 6c 65 3f 0a 0a |t be.possible?..| 000016d0 3c 4c 49 3e 72 61 46 53 20 77 69 6c 6c 20 73 6f |<LI>raFS will so| 000016e0 6d 65 74 69 6d 65 73 20 61 75 74 6f 6d 61 74 69 |metimes automati| 000016f0 63 61 6c 6c 79 20 63 6c 6f 73 65 20 66 69 6c 65 |cally close file| 00001700 73 20 6f 6e 20 69 74 73 20 64 69 73 63 73 2e 20 |s on its discs. | 00001710 54 68 69 73 20 68 61 70 70 65 6e 73 0a 77 68 65 |This happens.whe| 00001720 6e 20 79 6f 75 20 75 73 65 20 3c 4b 42 44 3e 43 |n you use <KBD>C| 00001730 6c 6f 73 65 3c 2f 4b 42 44 3e 20 6f 6e 20 6f 6e |lose</KBD> on on| 00001740 65 20 6f 66 20 72 61 46 53 27 20 68 6f 73 74 20 |e of raFS' host | 00001750 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 73 2e 20 |filing systems. | 00001760 46 6f 72 0a 65 78 61 6d 70 6c 65 2c 20 69 66 20 |For.example, if | 00001770 79 6f 75 20 69 73 73 75 65 20 3c 4b 42 44 3e 41 |you issue <KBD>A| 00001780 44 46 53 3a 43 6c 6f 73 65 3c 2f 4b 42 44 3e 20 |DFS:Close</KBD> | 00001790 61 6e 64 20 79 6f 75 20 68 61 76 65 20 6f 6e 65 |and you have one| 000017a0 20 72 61 46 53 20 64 69 73 63 20 6f 6e 0a 41 44 | raFS disc on.AD| 000017b0 46 53 20 61 6e 64 20 6f 6e 65 20 6f 6e 20 53 43 |FS and one on SC| 000017c0 53 49 46 53 2c 20 61 6e 79 20 6f 70 65 6e 20 66 |SIFS, any open f| 000017d0 69 6c 65 73 20 6f 6e 20 74 68 65 20 72 61 46 53 |iles on the raFS| 000017e0 20 64 69 73 63 20 73 74 6f 72 65 64 20 6f 6e 20 | disc stored on | 000017f0 41 44 46 53 20 77 69 6c 6c 0a 62 65 20 63 6c 6f |ADFS will.be clo| 00001800 73 65 64 2c 20 62 75 74 20 6f 70 65 6e 20 66 69 |sed, but open fi| 00001810 6c 65 73 20 6f 6e 20 74 68 65 20 6f 74 68 65 72 |les on the other| 00001820 20 64 69 73 63 20 72 65 6d 61 69 6e 20 75 6e 61 | disc remain una| 00001830 66 66 65 63 74 65 64 2e 0a 0a 3c 50 3e 72 61 46 |ffected...<P>raF| 00001840 53 20 63 6c 61 69 6d 73 20 46 69 6e 64 56 20 28 |S claims FindV (| 00001850 63 61 6c 6c 65 64 20 62 79 20 4f 53 5f 46 69 6e |called by OS_Fin| 00001860 64 29 20 61 6e 64 20 46 53 43 56 20 28 63 61 6c |d) and FSCV (cal| 00001870 6c 65 64 20 62 79 20 4f 53 5f 46 53 43 6f 6e 74 |led by OS_FSCont| 00001880 72 6f 6c 29 0a 61 6e 64 20 77 69 6c 6c 20 63 6c |rol).and will cl| 00001890 6f 73 65 20 69 74 73 20 6f 77 6e 20 66 69 6c 65 |ose its own file| 000018a0 73 20 62 65 66 6f 72 65 20 46 69 6c 65 53 77 69 |s before FileSwi| 000018b0 74 63 68 20 63 6c 6f 73 65 73 20 74 68 65 6d 20 |tch closes them | 000018c0 6f 6e 20 74 68 65 20 68 6f 73 74 20 66 69 6c 69 |on the host fili| 000018d0 6e 67 0a 73 79 73 74 65 6d 2e 20 54 68 69 73 20 |ng.system. This | 000018e0 69 73 20 64 6f 6e 65 20 65 69 74 68 65 72 20 6f |is done either o| 000018f0 6e 6c 79 20 66 6f 72 20 6f 6e 65 20 66 69 6c 69 |nly for one fili| 00001900 6e 67 20 73 79 73 74 65 6d 20 69 6e 20 74 68 65 |ng system in the| 00001910 20 63 61 73 65 20 6f 66 0a 4f 53 5f 46 69 6e 64 | case of.OS_Find| 00001920 26 6e 62 73 70 3b 30 2c 30 20 28 63 6c 6f 73 65 | 0,0 (close| 00001930 20 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 63 75 | all files on cu| 00001940 72 72 65 6e 74 20 66 69 6c 69 6e 67 20 73 79 73 |rrent filing sys| 00001950 74 65 6d 29 2c 20 6f 72 20 66 6f 72 20 61 6c 6c |tem), or for all| 00001960 0a 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 73 20 |.filing systems | 00001970 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 4f |in the case of O| 00001980 53 5f 46 53 43 6f 6e 74 72 6f 6c 26 6e 62 73 70 |S_FSControl | 00001990 3b 32 32 20 28 63 6c 6f 73 65 20 61 6c 6c 20 6f |;22 (close all o| 000019a0 70 65 6e 20 66 69 6c 65 73 29 20 61 6e 64 0a 4f |pen files) and.O| 000019b0 53 5f 46 53 43 6f 6e 74 72 6f 6c 26 6e 62 73 70 |S_FSControl | 000019c0 3b 32 33 20 28 73 68 75 74 64 6f 77 6e 20 61 6c |;23 (shutdown al| 000019d0 6c 20 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 73 |l filing systems| 000019e0 29 2e 0a 0a 3c 4c 49 3e 54 72 79 20 72 75 6e 6e |)...<LI>Try runn| 000019f0 69 6e 67 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e |ing the followin| 00001a00 67 20 70 72 6f 67 72 61 6d 20 6f 6e 20 61 20 66 |g program on a f| 00001a10 69 6c 65 20 6f 6e 20 61 20 46 69 6c 65 43 6f 72 |ile on a FileCor| 00001a20 65 20 64 69 73 63 20 77 68 69 63 68 20 69 73 0a |e disc which is.| 00001a30 6c 6f 63 6b 65 64 20 61 6e 64 20 68 61 73 20 6e |locked and has n| 00001a40 6f 20 77 72 69 74 65 20 61 63 63 65 73 73 2c 20 |o write access, | 00001a50 6f 6e 6c 79 20 72 65 61 64 20 61 63 63 65 73 73 |only read access| 00001a60 2e 20 49 74 20 75 73 65 73 20 4f 53 5f 41 72 67 |. It uses OS_Arg| 00001a70 73 26 6e 62 73 70 3b 36 20 74 6f 0a 65 6e 73 75 |s 6 to.ensu| 00001a80 72 65 20 61 6e 20 6f 70 65 6e 20 66 69 6c 65 27 |re an open file'| 00001a90 73 20 73 69 7a 65 3a 0a 0a 3c 50 3e 3c 43 4f 44 |s size:..<P><COD| 00001aa0 45 3e 61 25 3d 4f 50 45 4e 49 4e 22 41 44 46 53 |E>a%=OPENIN"ADFS| 00001ab0 3a 3a 34 2e 24 2e 3c 2f 43 4f 44 45 3e 3c 49 3e |::4.$.</CODE><I>| 00001ac0 46 69 6c 65 6e 61 6d 65 3c 2f 49 3e 3c 43 4f 44 |Filename</I><COD| 00001ad0 45 3e 22 0a 3c 42 52 3e 53 59 53 22 4f 53 5f 41 |E>".<BR>SYS"OS_A| 00001ae0 72 67 73 22 2c 36 2c 61 25 2c 35 31 32 26 6c 74 |rgs",6,a%,512<| 00001af0 3b 26 6c 74 3b 31 30 3c 2f 43 4f 44 45 3e 0a 0a |;<10</CODE>..| 00001b00 3c 50 3e 57 68 65 72 65 61 73 20 46 69 6c 65 43 |<P>Whereas FileC| 00001b10 6f 72 65 20 65 6e 73 75 72 65 73 20 74 68 65 20 |ore ensures the | 00001b20 73 70 65 63 69 66 69 65 64 20 73 69 7a 65 20 72 |specified size r| 00001b30 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 |egardless of whe| 00001b40 74 68 65 72 20 6f 72 20 6e 6f 74 0a 77 72 69 74 |ther or not.writ| 00001b50 65 20 61 63 63 65 73 73 20 77 61 73 20 67 72 61 |e access was gra| 00001b60 6e 74 65 64 2c 20 72 61 46 53 20 67 65 74 73 20 |nted, raFS gets | 00001b70 69 74 20 72 69 67 68 74 20 61 6e 64 20 69 67 6e |it right and ign| 00001b80 6f 72 65 73 20 46 53 45 6e 74 72 79 5f 41 72 67 |ores FSEntry_Arg| 00001b90 73 26 6e 62 73 70 3b 36 0a 69 66 20 74 68 65 20 |s 6.if the | 00001ba0 66 69 6c 65 20 69 73 20 72 65 61 64 2d 6f 6e 6c |file is read-onl| 00001bb0 79 2e 20 28 42 79 20 74 68 65 20 77 61 79 3a 20 |y. (By the way: | 00001bc0 43 6f 75 6c 64 20 74 68 69 73 20 62 65 20 75 73 |Could this be us| 00001bd0 65 64 20 74 6f 20 63 6f 6d 70 72 6f 6d 69 73 65 |ed to compromise| 00001be0 0a 73 65 63 75 72 69 74 79 20 77 68 65 6e 20 61 |.security when a| 00001bf0 20 46 69 6c 65 43 6f 72 65 2d 62 61 73 65 64 20 | FileCore-based | 00001c00 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 20 69 73 |filing system is| 00001c10 20 73 68 61 72 65 64 20 6f 76 65 72 20 61 20 6e | shared over a n| 00001c20 65 74 77 6f 72 6b 3f 20 4a 75 73 74 20 61 0a 74 |etwork? Just a.t| 00001c30 68 6f 75 67 68 74 2e 2e 2e 29 0a 0a 3c 4c 49 3e |hought...)..<LI>| 00001c40 72 61 46 53 20 73 75 70 70 6f 72 74 73 20 4f 53 |raFS supports OS| 00001c50 5f 46 53 43 6f 6e 74 72 6f 6c 26 6e 62 73 70 3b |_FSControl | 00001c60 35 35 2c 20 77 68 69 63 68 20 77 61 73 20 69 6e |55, which was in| 00001c70 74 72 6f 64 75 63 65 64 20 69 6e 0a 52 69 73 63 |troduced in.Risc| 00001c80 4f 53 26 6e 62 73 70 3b 33 2e 36 20 74 6f 20 61 |OS 3.6 to a| 00001c90 6c 6c 6f 77 20 72 65 61 64 69 6e 67 20 74 68 65 |llow reading the| 00001ca0 20 66 72 65 65 20 73 70 61 63 65 20 6f 6e 20 64 | free space on d| 00001cb0 69 73 63 73 20 62 69 67 67 65 72 20 74 68 61 6e |iscs bigger than| 00001cc0 20 34 47 42 2e 0a 48 6f 77 65 76 65 72 2c 20 74 | 4GB..However, t| 00001cd0 68 65 20 63 6f 64 65 20 69 73 20 75 6e 74 65 73 |he code is untes| 00001ce0 74 65 64 2e 20 28 42 75 79 20 6d 65 20 61 20 34 |ted. (Buy me a 4| 00001cf0 47 42 20 64 72 69 76 65 20 61 6e 64 20 49 20 3c |GB drive and I <| 00001d00 45 4d 3e 77 69 6c 6c 3c 2f 45 4d 3e 20 74 65 73 |EM>will</EM> tes| 00001d10 74 0a 69 74 2e 2e 2e 29 0a 0a 3c 2f 55 4c 3e 0a |t.it...)..</UL>.| 00001d20 0a 3c 50 20 41 4c 49 47 4e 3d 22 72 69 67 68 74 |.<P ALIGN="right| 00001d30 22 3e 3c 49 3e 3c 41 20 48 52 45 46 3d 22 23 74 |"><I><A HREF="#t| 00001d40 6f 70 22 3e 42 61 63 6b 20 74 6f 20 74 68 65 20 |op">Back to the | 00001d50 74 6f 70 20 6f 66 20 74 68 65 20 70 61 67 65 3c |top of the page<| 00001d60 2f 41 3e 3c 2f 49 3e 3c 50 3e 3c 48 52 0a 57 49 |/A></I><P><HR.WI| 00001d70 44 54 48 3d 22 34 31 25 22 3e 0a 0a 0a 0a 3c 50 |DTH="41%">....<P| 00001d80 3e 3c 48 32 3e 3c 41 20 4e 41 4d 45 3d 22 6c 69 |><H2><A NAME="li| 00001d90 6d 69 74 73 22 3e 4c 69 6d 69 74 73 20 6f 66 20 |mits">Limits of | 00001da0 72 61 46 53 3c 2f 41 3e 3c 2f 48 32 3e 0a 0a 54 |raFS</A></H2>..T| 00001db0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 67 69 76 |he following giv| 00001dc0 65 73 20 73 6f 6d 65 20 69 6e 66 6f 72 6d 61 74 |es some informat| 00001dd0 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 6c 69 |ion about the li| 00001de0 6d 69 74 73 20 69 6d 70 6f 73 65 64 20 62 79 20 |mits imposed by | 00001df0 72 61 46 53 20 6f 6e 20 69 74 73 0a 64 69 73 63 |raFS on its.disc| 00001e00 73 2e 20 49 6e 20 70 72 61 63 74 69 63 65 2e 20 |s. In practice. | 00001e10 79 6f 75 20 61 72 65 20 76 65 72 79 20 75 6e 6c |you are very unl| 00001e20 69 6b 65 6c 79 20 74 6f 20 72 65 61 63 68 20 61 |ikely to reach a| 00001e30 6e 79 20 6f 66 20 74 68 65 6d 2c 20 74 68 6f 75 |ny of them, thou| 00001e40 67 68 2e 0a 0a 3c 55 4c 20 43 4f 4d 50 41 43 54 |gh...<UL COMPACT| 00001e50 3e 0a 0a 3c 4c 49 3e 54 68 65 20 6d 61 78 69 6d |>..<LI>The maxim| 00001e60 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 |um number of dis| 00001e70 63 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 6d |cs that can be m| 00001e80 6f 75 6e 74 65 64 20 61 74 20 74 68 65 20 73 61 |ounted at the sa| 00001e90 6d 65 20 74 69 6d 65 20 69 73 20 35 30 2e 0a 28 |me time is 50..(| 00001ea0 54 68 69 73 20 63 61 6e 20 65 61 73 69 6c 79 20 |This can easily | 00001eb0 62 65 20 61 6c 74 65 72 65 64 20 74 6f 20 75 70 |be altered to up| 00001ec0 20 74 6f 20 32 35 35 20 69 6e 20 74 68 65 20 73 | to 255 in the s| 00001ed0 6f 75 72 63 65 20 63 6f 64 65 2e 29 0a 0a 3c 4c |ource code.)..<L| 00001ee0 49 3e 4f 6e 65 20 64 69 73 63 20 6d 61 79 20 63 |I>One disc may c| 00001ef0 6f 6e 74 61 69 6e 20 61 74 20 6d 6f 73 74 20 37 |ontain at most 7| 00001f00 36 26 6d 69 64 64 6f 74 3b 37 37 26 6d 69 64 64 |6·77&midd| 00001f10 6f 74 3b 37 37 20 3d 20 34 35 30 36 30 34 20 6f |ot;77 = 450604 o| 00001f20 62 6a 65 63 74 73 20 28 61 6e 0a 6f 62 6a 65 63 |bjects (an.objec| 00001f30 74 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 |t is a directory| 00001f40 20 6f 72 20 66 69 6c 65 29 2e 20 4e 6f 74 65 20 | or file). Note | 00001f50 74 68 61 74 20 46 69 6c 65 43 6f 72 65 2d 62 61 |that FileCore-ba| 00001f60 73 65 64 20 66 69 6c 69 6e 67 20 73 79 73 74 65 |sed filing syste| 00001f70 6d 73 0a 63 61 6e 6e 6f 74 20 73 74 6f 72 65 20 |ms.cannot store | 00001f80 6d 6f 72 65 20 74 68 61 6e 20 33 32 37 36 36 20 |more than 32766 | 00001f90 64 69 73 63 20 6f 62 6a 65 63 74 73 20 6f 6e 20 |disc objects on | 00001fa0 61 20 64 69 73 63 2e 0a 0a 3c 4c 49 3e 43 6f 6e |a disc...<LI>Con| 00001fb0 73 65 71 75 65 6e 74 6c 79 2c 20 79 6f 75 20 63 |sequently, you c| 00001fc0 61 6e 20 74 68 65 6f 72 65 74 69 63 61 6c 6c 79 |an theoretically| 00001fd0 20 68 61 76 65 20 75 70 20 74 6f 20 34 35 30 36 | have up to 4506| 00001fe0 30 33 20 65 6e 74 72 69 65 73 20 69 6e 20 61 0a |03 entries in a.| 00001ff0 64 69 72 65 63 74 6f 72 79 2e 2e 2e 0a 0a 3c 4c |directory.....<L| 00002000 49 3e 54 68 65 20 6c 69 6d 69 74 20 66 6f 72 20 |I>The limit for | 00002010 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 66 69 |the length of fi| 00002020 6c 65 6e 61 6d 65 73 20 69 73 20 61 62 6f 75 74 |lenames is about| 00002030 20 35 30 30 20 63 68 61 72 61 63 74 65 72 73 2c | 500 characters,| 00002040 20 74 68 6f 75 67 68 0a 46 69 6c 65 53 77 69 74 | though.FileSwit| 00002050 63 68 20 69 6d 70 6f 73 65 73 20 61 20 6c 69 6d |ch imposes a lim| 00002060 69 74 20 6f 66 20 6e 65 61 72 6c 79 20 32 35 36 |it of nearly 256| 00002070 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 | characters and | 00002080 74 68 65 20 46 69 6c 65 72 20 77 69 6c 6c 20 6f |the Filer will o| 00002090 6e 6c 79 0a 68 61 6e 64 6c 65 20 70 72 6f 70 65 |nly.handle prope| 000020a0 72 6c 79 20 75 70 20 74 6f 20 36 33 20 63 68 61 |rly up to 63 cha| 000020b0 72 61 63 74 65 72 73 2e 0a 0a 3c 4c 49 3e 44 69 |racters...<LI>Di| 000020c0 73 63 20 6e 61 6d 65 73 20 63 61 6e 20 62 65 20 |sc names can be | 000020d0 75 70 20 74 6f 20 36 33 20 63 68 61 72 61 63 74 |up to 63 charact| 000020e0 65 72 73 20 6c 6f 6e 67 2e 20 46 6f 72 20 6c 6f |ers long. For lo| 000020f0 6e 67 65 72 20 6e 61 6d 65 73 20 6e 6f 20 65 72 |nger names no er| 00002100 72 6f 72 20 69 73 0a 67 69 76 65 6e 2c 20 69 6e |ror is.given, in| 00002110 73 74 65 61 64 20 74 68 65 20 6e 61 6d 65 20 69 |stead the name i| 00002120 73 20 74 72 75 6e 63 61 74 65 64 2e 20 28 48 6f |s truncated. (Ho| 00002130 77 65 76 65 72 2c 20 61 74 20 70 72 65 73 65 6e |wever, at presen| 00002140 74 20 52 69 73 63 4f 53 20 69 6e 73 69 73 74 73 |t RiscOS insists| 00002150 20 6f 6e 0a 61 20 64 69 73 63 20 6e 61 6d 65 20 | on.a disc name | 00002160 6c 65 6e 67 74 68 20 6f 66 20 32 20 74 6f 20 31 |length of 2 to 1| 00002170 30 20 63 68 61 72 61 63 74 65 72 73 20 77 69 74 |0 characters wit| 00002180 68 20 4f 53 5f 46 53 43 6f 6e 74 72 6f 6c 26 6e |h OS_FSControl&n| 00002190 62 73 70 3b 35 30 20 2d 20 79 6f 75 20 6d 75 73 |bsp;50 - you mus| 000021a0 74 0a 75 73 65 20 3c 4b 42 44 3e 4e 61 6d 65 44 |t.use <KBD>NameD| 000021b0 69 73 63 3c 2f 4b 42 44 3e 20 66 6f 72 20 6c 6f |isc</KBD> for lo| 000021c0 6e 67 65 72 20 6e 61 6d 65 73 2e 29 0a 0a 3c 4c |nger names.)..<L| 000021d0 49 3e 55 70 20 74 6f 20 36 35 35 33 35 20 64 69 |I>Up to 65535 di| 000021e0 72 65 63 74 6f 72 69 65 73 20 6d 61 79 20 62 65 |rectories may be| 000021f0 20 63 61 63 68 65 64 20 61 74 20 74 68 65 20 73 | cached at the s| 00002200 61 6d 65 20 74 69 6d 65 2c 20 6f 74 68 65 72 77 |ame time, otherw| 00002210 69 73 65 20 74 68 69 6e 67 73 0a 73 74 61 72 74 |ise things.start| 00002220 20 67 6f 69 6e 67 20 77 72 6f 6e 67 2e 0a 0a 3c | going wrong...<| 00002230 4c 49 3e 72 61 46 53 20 69 73 20 6e 6f 74 20 72 |LI>raFS is not r| 00002240 65 2d 65 6e 74 72 61 6e 74 2e 20 54 68 69 73 20 |e-entrant. This | 00002250 6d 65 61 6e 73 20 74 68 61 74 20 79 6f 75 20 63 |means that you c| 00002260 61 6e 6e 6f 74 20 75 73 65 20 72 61 46 53 20 61 |annot use raFS a| 00002270 73 20 74 68 65 20 68 6f 73 74 0a 66 69 6c 69 6e |s the host.filin| 00002280 67 20 73 79 73 74 65 6d 20 66 6f 72 20 61 6e 6f |g system for ano| 00002290 74 68 65 72 20 72 61 46 53 20 64 69 73 63 20 2d |ther raFS disc -| 000022a0 20 74 68 69 73 20 77 6f 75 6c 64 6e 27 74 20 73 | this wouldn't s| 000022b0 65 72 76 65 20 61 6e 79 20 70 75 72 70 6f 73 65 |erve any purpose| 000022c0 2c 0a 61 6e 79 77 61 79 2e 20 42 65 63 61 75 73 |,.anyway. Becaus| 000022d0 65 20 74 68 69 73 20 69 73 20 6e 6f 20 69 6d 61 |e this is no ima| 000022e0 67 65 20 66 69 6c 69 6e 67 20 73 79 73 74 65 6d |ge filing system| 000022f0 2c 20 69 74 20 64 6f 65 73 6e 27 74 20 6e 65 65 |, it doesn't nee| 00002300 64 20 74 6f 20 62 65 0a 72 65 2d 65 6e 74 72 61 |d to be.re-entra| 00002310 6e 74 2e 0a 0a 3c 2f 55 4c 3e 0a 0a 3c 50 20 41 |nt...</UL>..<P A| 00002320 4c 49 47 4e 3d 22 72 69 67 68 74 22 3e 3c 49 3e |LIGN="right"><I>| 00002330 3c 41 20 48 52 45 46 3d 22 23 74 6f 70 22 3e 42 |<A HREF="#top">B| 00002340 61 63 6b 20 74 6f 20 74 68 65 20 74 6f 70 20 6f |ack to the top o| 00002350 66 20 74 68 65 20 70 61 67 65 3c 2f 41 3e 3c 2f |f the page</A></| 00002360 49 3e 3c 50 3e 3c 48 52 0a 57 49 44 54 48 3d 22 |I><P><HR.WIDTH="| 00002370 34 31 25 22 3e 0a 0a 0a 0a 3c 50 3e 3c 48 32 3e |41%">....<P><H2>| 00002380 3c 41 20 4e 41 4d 45 3d 22 67 6f 64 64 61 6d 6e |<A NAME="goddamn| 00002390 62 75 67 73 22 3e 4b 6e 6f 77 6e 20 70 72 6f 62 |bugs">Known prob| 000023a0 6c 65 6d 73 3c 2f 41 3e 3c 2f 48 32 3e 0a 0a 3c |lems</A></H2>..<| 000023b0 55 4c 3e 0a 0a 3c 4c 49 3e 4f 6e 65 20 75 73 65 |UL>..<LI>One use| 000023c0 72 20 68 61 73 20 65 78 70 65 72 69 65 6e 63 65 |r has experience| 000023d0 64 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 |d a problem with| 000023e0 20 72 61 46 53 20 77 68 69 63 68 20 3c 45 4d 3e | raFS which <EM>| 000023f0 6d 61 79 3c 2f 45 4d 3e 20 68 61 76 65 20 62 65 |may</EM> have be| 00002400 65 6e 0a 63 61 75 73 65 64 20 62 79 20 61 20 62 |en.caused by a b| 00002410 75 67 2c 20 62 75 74 20 74 68 65 6e 20 69 74 20 |ug, but then it | 00002420 6d 61 79 20 61 6c 73 6f 20 68 61 76 65 20 62 65 |may also have be| 00002430 65 6e 20 61 6e 6f 74 68 65 72 20 70 72 6f 67 72 |en another progr| 00002440 61 6d 27 73 20 66 61 75 6c 74 2e 20 49 74 0a 63 |am's fault. It.c| 00002450 61 75 73 65 64 20 61 20 63 68 61 72 61 63 74 65 |aused a characte| 00002460 72 20 74 6f 20 62 65 20 69 6e 73 65 72 74 65 64 |r to be inserted| 00002470 20 69 6e 74 6f 20 74 68 65 20 73 74 72 69 6e 67 | into the string| 00002480 20 72 61 46 53 20 75 73 65 64 20 66 6f 72 20 61 | raFS used for a| 00002490 63 63 65 73 73 69 6e 67 20 61 0a 73 74 6f 72 61 |ccessing a.stora| 000024a0 67 65 20 64 69 72 65 63 74 6f 72 79 2c 20 69 6e |ge directory, in| 000024b0 20 73 75 63 68 20 61 20 77 61 79 20 74 68 61 74 | such a way that| 000024c0 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 68 61 | instead of a ha| 000024d0 72 64 64 69 73 63 20 63 61 6c 6c 65 64 20 27 42 |rddisc called 'B| 000024e0 69 67 66 6f 6f 74 27 2c 0a 6f 6e 65 20 63 61 6c |igfoot',.one cal| 000024f0 6c 65 64 20 27 42 69 3c 42 3e 6f 3c 2f 42 3e 67 |led 'Bi<B>o</B>g| 00002500 66 6f 6f 74 27 20 77 61 73 20 62 65 69 6e 67 20 |foot' was being | 00002510 64 65 6d 61 6e 64 65 64 20 66 6f 72 20 74 68 65 |demanded for the| 00002520 20 73 61 76 69 6e 67 20 6f 66 20 74 68 65 20 62 | saving of the b| 00002530 75 66 66 65 72 0a 63 6f 6e 74 65 6e 74 73 2e 0a |uffer.contents..| 00002540 0a 3c 50 3e 49 20 68 61 76 65 6e 27 74 20 66 6f |.<P>I haven't fo| 00002550 75 6e 64 20 61 20 62 75 67 20 72 65 73 70 6f 6e |und a bug respon| 00002560 73 69 62 6c 65 20 66 6f 72 20 74 68 69 73 2c 20 |sible for this, | 00002570 62 75 74 20 49 27 6d 20 61 77 61 72 65 20 74 68 |but I'm aware th| 00002580 61 74 20 69 66 20 74 68 65 72 65 20 69 73 0a 6f |at if there is.o| 00002590 6e 65 2c 20 69 74 27 73 20 61 20 73 65 72 69 6f |ne, it's a serio| 000025a0 75 73 20 70 72 6f 62 6c 65 6d 2e 20 54 68 65 20 |us problem. The | 000025b0 3c 4b 42 44 3e 70 61 74 68 3c 2f 4b 42 44 3e 20 |<KBD>path</KBD> | 000025c0 73 77 69 74 63 68 20 74 68 61 74 20 77 61 73 20 |switch that was | 000025d0 61 64 64 65 64 20 74 6f 0a 3c 4b 42 44 3e 3c 41 |added to.<KBD><A| 000025e0 20 48 52 45 46 3d 22 74 65 63 68 2e 68 74 6d 6c | HREF="tech.html| 000025f0 23 63 6c 69 5f 6d 6f 75 6e 74 22 3e 4d 6f 75 6e |#cli_mount">Moun| 00002600 74 3c 2f 41 3e 3c 2f 4b 42 44 3e 20 77 69 6c 6c |t</A></KBD> will| 00002610 20 68 6f 70 65 66 75 6c 6c 79 20 70 72 6f 76 69 | hopefully provi| 00002620 64 65 20 61 0a 77 6f 72 6b 2d 61 72 6f 75 6e 64 |de a.work-around| 00002630 20 66 6f 72 20 74 68 69 73 20 70 72 6f 62 6c 65 | for this proble| 00002640 6d 2e 0a 0a 3c 4c 49 3e 49 66 20 61 63 63 65 73 |m...<LI>If acces| 00002650 73 20 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79 |s to a directory| 00002660 20 62 65 63 6f 6d 65 73 20 65 78 74 72 65 6d 65 | becomes extreme| 00002670 6c 79 20 73 6c 6f 77 20 61 73 20 73 6f 6f 6e 20 |ly slow as soon | 00002680 61 73 20 69 74 20 63 6f 6e 74 61 69 6e 73 0a 73 |as it contains.s| 00002690 65 76 65 72 61 6c 20 68 75 6e 64 72 65 64 20 66 |everal hundred f| 000026a0 69 6c 65 73 2c 20 74 68 69 73 20 69 73 20 6e 6f |iles, this is no| 000026b0 20 70 72 6f 62 6c 65 6d 20 61 74 20 61 6c 6c 3a | problem at all:| 000026c0 20 4a 75 73 74 20 69 6e 63 72 65 61 73 65 20 74 | Just increase t| 000026d0 68 65 20 73 69 7a 65 20 6f 66 0a 74 68 65 20 64 |he size of.the d| 000026e0 69 72 65 63 74 6f 72 79 20 63 61 63 68 65 21 0a |irectory cache!.| 000026f0 0a 3c 4c 49 3e 53 65 76 65 72 61 6c 20 75 73 65 |.<LI>Several use| 00002700 72 73 20 68 61 76 65 20 65 78 70 65 72 69 65 6e |rs have experien| 00002710 63 65 64 20 3c 53 41 4d 50 3e 43 61 6e 6e 6f 74 |ced <SAMP>Cannot| 00002720 20 65 78 74 65 6e 64 20 72 61 46 53 20 62 75 66 | extend raFS buf| 00002730 66 65 72 73 3c 2f 53 41 4d 50 3e 0a 65 72 72 6f |fers</SAMP>.erro| 00002740 72 73 20 77 68 65 6e 20 74 68 65 72 65 20 77 61 |rs when there wa| 00002750 73 20 73 74 69 6c 6c 20 65 6e 6f 75 67 68 20 66 |s still enough f| 00002760 72 65 65 20 6d 65 6d 6f 72 79 20 6c 65 66 74 2e |ree memory left.| 00002770 20 54 68 69 73 20 3c 45 4d 3e 6d 61 79 3c 2f 45 | This <EM>may</E| 00002780 4d 3e 20 62 65 0a 63 61 75 73 65 64 20 62 79 20 |M> be.caused by | 00002790 74 68 65 20 41 4e 54 20 69 6e 74 65 72 6e 65 74 |the ANT internet| 000027a0 20 73 75 69 74 65 20 2d 20 70 6c 65 61 73 65 20 | suite - please | 000027b0 73 65 6e 64 20 6d 65 20 74 68 65 20 6f 75 74 70 |send me the outp| 000027c0 75 74 20 6f 66 0a 3c 4b 42 44 3e 48 65 6c 70 26 |ut of.<KBD>Help&| 000027d0 6e 62 73 70 3b 4d 6f 64 75 6c 65 73 3c 2f 4b 42 |nbsp;Modules</KB| 000027e0 44 3e 20 6f 6e 20 79 6f 75 72 20 6d 61 63 68 69 |D> on your machi| 000027f0 6e 65 20 69 66 20 69 74 20 68 61 70 70 65 6e 73 |ne if it happens| 00002800 20 74 6f 20 79 6f 75 21 0a 0a 3c 4c 49 3e 49 66 | to you!..<LI>If| 00002810 20 79 6f 75 20 67 65 74 20 74 68 65 20 65 72 72 | you get the err| 00002820 6f 72 20 3c 53 41 4d 50 3e 4e 61 6d 65 20 69 6e |or <SAMP>Name in| 00002830 73 69 64 65 20 74 68 65 20 64 69 72 65 63 74 6f |side the directo| 00002840 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6e |ry containing an| 00002850 0a 72 61 46 53 20 64 69 73 63 20 69 73 20 6e 6f |.raFS disc is no| 00002860 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 41 30 |t of the form A0| 00002870 2e 41 30 2e 41 30 3c 2f 53 41 4d 50 3e 20 74 68 |.A0.A0</SAMP> th| 00002880 65 6e 20 74 68 69 73 20 69 73 20 70 72 6f 62 61 |en this is proba| 00002890 62 6c 79 20 63 61 75 73 65 64 20 62 79 0a 61 6e |bly caused by.an| 000028a0 20 6f 6c 64 65 72 20 76 65 72 73 69 6f 6e 20 6f | older version o| 000028b0 66 20 74 68 65 20 49 6d 61 67 65 46 53 46 69 78 |f the ImageFSFix| 000028c0 20 6d 6f 64 75 6c 65 20 2d 20 41 72 63 46 53 20 | module - ArcFS | 000028d0 76 65 72 73 69 6f 6e 2c 20 3c 45 4d 3e 65 61 72 |version, <EM>ear| 000028e0 6c 69 65 72 3c 2f 45 4d 3e 0a 74 68 61 6e 20 56 |lier</EM>.than V| 000028f0 30 2e 33 30 20 28 32 35 2d 41 75 67 2d 31 39 39 |0.30 (25-Aug-199| 00002900 36 29 2e 20 4e 6f 74 65 20 74 68 61 74 20 74 68 |6). Note that th| 00002910 65 20 49 6d 61 67 65 46 53 46 69 78 20 6d 6f 64 |e ImageFSFix mod| 00002920 75 6c 65 73 20 73 75 70 70 6c 69 65 64 20 77 69 |ules supplied wi| 00002930 74 68 0a 53 70 61 72 6b 46 53 20 28 65 2e 26 6e |th.SparkFS (e.&n| 00002940 62 73 70 3b 67 2e 20 56 30 2e 30 34 29 20 64 6f |bsp;g. V0.04) do| 00002950 20 6e 6f 74 20 63 61 75 73 65 20 61 6e 79 20 70 | not cause any p| 00002960 72 6f 62 6c 65 6d 73 2e 0a 0a 3c 4c 49 3e 72 61 |roblems...<LI>ra| 00002970 46 53 46 69 6c 65 72 20 64 6f 65 73 6e 27 74 20 |FSFiler doesn't | 00002980 6c 6f 6f 6b 20 66 6f 72 20 3c 49 3e 21 4d 6f 75 |look for <I>!Mou| 00002990 6e 74 3c 2f 49 3e 20 66 69 6c 65 73 20 69 6e 20 |nt</I> files in | 000029a0 74 68 65 20 72 6f 6f 74 20 6f 66 20 69 6d 61 67 |the root of imag| 000029b0 65 20 66 69 6c 65 73 0a 69 6e 20 6f 72 64 65 72 |e files.in order| 000029c0 20 74 6f 20 70 72 65 76 65 6e 74 20 61 64 64 72 | to prevent addr| 000029d0 65 73 73 20 65 78 63 65 70 74 69 6f 6e 73 20 67 |ess exceptions g| 000029e0 65 6e 65 72 61 74 65 64 20 62 79 20 6f 6c 64 65 |enerated by olde| 000029f0 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 53 70 |r versions of Sp| 00002a00 61 72 6b 46 53 0a 77 68 65 6e 20 74 68 65 20 61 |arkFS.when the a| 00002a10 72 63 68 69 76 65 20 77 61 73 20 63 6f 72 72 75 |rchive was corru| 00002a20 70 74 65 64 2e 0a 0a 3c 4c 49 3e 72 61 46 53 20 |pted...<LI>raFS | 00002a30 6d 61 79 20 61 73 6b 20 79 6f 75 20 74 6f 20 76 |may ask you to v| 00002a40 65 72 69 66 79 20 61 20 64 69 73 63 20 74 68 61 |erify a disc tha| 00002a50 74 20 69 74 20 74 68 69 6e 6b 73 20 69 73 20 63 |t it thinks is c| 00002a60 6f 72 72 75 70 74 65 64 2e 0a 55 6e 66 6f 72 74 |orrupted..Unfort| 00002a70 75 6e 61 74 65 6c 79 2c 20 74 68 65 20 76 65 72 |unately, the ver| 00002a80 69 66 79 20 6f 70 65 72 61 74 69 6f 6e 20 68 61 |ify operation ha| 00002a90 73 20 6e 6f 74 20 79 65 74 20 62 65 65 6e 20 69 |s not yet been i| 00002aa0 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 49 66 20 74 |mplemented. If t| 00002ab0 68 65 72 65 20 69 73 0a 61 6e 20 75 6e 64 65 6c |here is.an undel| 00002ac0 69 61 62 6c 65 20 66 69 6c 65 20 6f 6e 20 79 6f |iable file on yo| 00002ad0 75 72 20 64 69 73 63 20 77 68 69 63 68 20 63 61 |ur disc which ca| 00002ae0 75 73 65 73 20 61 6e 20 65 72 72 6f 72 20 74 6f |uses an error to| 00002af0 20 62 65 20 64 69 73 70 6c 61 79 65 64 2c 20 74 | be displayed, t| 00002b00 68 65 0a 73 61 66 65 73 74 20 77 61 79 20 69 73 |he.safest way is| 00002b10 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 | to create a new| 00002b20 20 72 61 46 53 20 64 69 73 63 20 61 6e 64 20 74 | raFS disc and t| 00002b30 6f 20 6d 6f 76 65 20 74 68 65 20 63 6f 6e 74 65 |o move the conte| 00002b40 6e 74 73 20 6f 66 20 74 68 65 0a 63 6f 72 72 75 |nts of the.corru| 00002b50 70 74 65 64 20 64 69 73 63 20 61 63 72 6f 73 73 |pted disc across| 00002b60 2e 0a 0a 3c 4c 49 3e 46 6f 72 20 65 76 65 72 79 |...<LI>For every| 00002b70 20 66 69 6c 65 20 6f 6e 20 61 20 72 61 46 53 20 | file on a raFS | 00002b80 64 69 73 63 20 74 68 61 74 20 69 73 20 6f 70 65 |disc that is ope| 00002b90 6e 65 64 2c 20 72 61 46 53 20 77 69 6c 6c 20 6f |ned, raFS will o| 00002ba0 70 65 6e 20 61 6e 6f 74 68 65 72 20 6f 6e 65 0a |pen another one.| 00002bb0 6f 6e 20 74 68 65 20 68 6f 73 74 20 66 69 6c 69 |on the host fili| 00002bc0 6e 67 20 73 79 73 74 65 6d 2e 20 42 65 63 61 75 |ng system. Becau| 00002bd0 73 65 20 66 69 6c 65 20 68 61 6e 64 6c 65 73 20 |se file handles | 00002be0 61 72 65 20 75 73 65 64 20 75 70 20 74 77 69 63 |are used up twic| 00002bf0 65 20 61 73 20 71 75 69 63 6b 6c 79 2c 0a 69 74 |e as quickly,.it| 00002c00 20 69 73 20 74 68 65 6f 72 65 74 69 63 61 6c 6c | is theoreticall| 00002c10 79 20 70 6f 73 73 69 62 6c 65 20 74 68 61 74 20 |y possible that | 00002c20 65 2e 26 6e 62 73 70 3b 67 2e 20 74 68 65 20 46 |e. g. the F| 00002c30 6f 6e 74 4d 61 6e 61 67 65 72 20 63 61 75 73 65 |ontManager cause| 00002c40 73 20 74 68 65 20 6d 61 69 6e 0a 61 70 70 6c 69 |s the main.appli| 00002c50 63 61 74 69 6f 6e 20 74 6f 20 72 75 6e 20 6f 75 |cation to run ou| 00002c60 74 20 6f 66 20 66 69 6c 65 20 68 61 6e 64 6c 65 |t of file handle| 00002c70 73 2e 20 48 6f 77 65 76 65 72 2c 20 74 68 69 73 |s. However, this| 00002c80 20 69 73 20 75 6e 6c 69 6b 65 6c 79 20 74 6f 20 | is unlikely to | 00002c90 68 61 70 70 65 6e 2e 0a 0a 3c 4c 49 3e 53 6f 6d |happen...<LI>Som| 00002ca0 65 20 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 20 |e filing system | 00002cb0 63 61 6c 6c 73 20 74 68 61 74 20 61 72 65 20 73 |calls that are s| 00002cc0 75 70 70 6f 72 74 65 64 20 62 79 20 46 69 6c 65 |upported by File| 00002cd0 43 6f 72 65 20 66 6f 72 20 62 61 63 6b 77 61 72 |Core for backwar| 00002ce0 64 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 |d.compatibility | 00002cf0 61 72 65 20 6e 6f 77 20 64 65 70 72 65 63 61 74 |are now deprecat| 00002d00 65 64 20 69 6e 20 66 61 76 6f 75 72 20 6f 66 20 |ed in favour of | 00002d10 6f 74 68 65 72 20 63 61 6c 6c 73 2e 20 54 68 65 |other calls. The| 00002d20 79 20 61 72 65 20 6e 6f 74 0a 69 6d 70 6c 65 6d |y are not.implem| 00002d30 65 6e 74 65 64 20 69 6e 20 72 61 46 53 3a 0a 0a |ented in raFS:..| 00002d40 3c 55 4c 3e 0a 0a 3c 4c 49 3e 4f 53 5f 47 42 50 |<UL>..<LI>OS_GBP| 00002d50 42 26 6e 62 73 70 3b 35 20 28 72 65 61 64 20 6e |B 5 (read n| 00002d60 61 6d 65 20 61 6e 64 20 62 6f 6f 74 20 6f 70 74 |ame and boot opt| 00002d70 69 6f 6e 29 20 2d 20 75 73 65 20 4f 53 5f 46 53 |ion) - use OS_FS| 00002d80 43 6f 6e 74 72 6f 6c 26 6e 62 73 70 3b 33 37 0a |Control 37.| 00002d90 61 6e 64 2f 6f 72 26 6e 62 73 70 3b 34 37 0a 0a |and/or 47..| 00002da0 3c 4c 49 3e 4f 53 5f 47 42 50 42 26 6e 62 73 70 |<LI>OS_GBPB | 00002db0 3b 36 20 6f 72 26 6e 62 73 70 3b 37 20 28 72 65 |;6 or 7 (re| 00002dc0 61 64 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d |ad directory nam| 00002dd0 65 20 61 6e 64 20 70 72 69 76 69 6c 65 67 65 20 |e and privilege | 00002de0 62 79 74 65 29 20 2d 20 75 73 65 0a 4f 53 5f 46 |byte) - use.OS_F| 00002df0 53 43 6f 6e 74 72 6f 6c 26 6e 62 73 70 3b 33 37 |SControl 37| 00002e00 0a 0a 3c 4c 49 3e 4f 53 5f 47 42 50 42 26 6e 62 |..<LI>OS_GBPB&nb| 00002e10 73 70 3b 38 20 28 72 65 61 64 20 64 69 72 65 63 |sp;8 (read direc| 00002e20 74 6f 72 79 20 65 6e 74 72 69 65 73 29 20 2d 20 |tory entries) - | 00002e30 75 73 65 20 4f 53 5f 47 42 50 42 26 6e 62 73 70 |use OS_GBPB | 00002e40 3b 39 0a 0a 3c 2f 55 4c 3e 0a 0a 3c 4c 49 3e 49 |;9..</UL>..<LI>I| 00002e50 66 20 46 69 6c 65 72 5f 41 63 74 69 6f 6e 20 66 |f Filer_Action f| 00002e60 61 69 6c 73 20 77 69 74 68 20 3c 53 41 4d 50 3e |ails with <SAMP>| 00002e70 49 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 2c 20 |Internal error, | 00002e80 6e 6f 20 73 74 61 63 6b 20 66 6f 72 20 74 72 61 |no stack for tra| 00002e90 70 0a 68 61 6e 64 6c 65 72 3a 20 49 6e 74 65 72 |p.handler: Inter| 00002ea0 6e 61 6c 20 65 72 72 6f 72 3a 20 42 72 61 6e 63 |nal error: Branc| 00002eb0 68 20 74 68 72 6f 75 67 68 20 7a 65 72 6f 20 61 |h through zero a| 00002ec0 74 2e 2e 2e 3c 2f 53 41 4d 50 3e 20 77 68 69 6c |t...</SAMP> whil| 00002ed0 65 20 64 65 6c 65 74 69 6e 67 0a 66 69 6c 65 73 |e deleting.files| 00002ee0 2c 20 74 68 65 20 72 65 61 73 6f 6e 20 69 73 20 |, the reason is | 00002ef0 74 68 61 74 20 69 74 20 68 61 73 20 61 74 74 65 |that it has atte| 00002f00 6d 70 74 65 64 20 74 6f 20 61 63 63 65 73 73 20 |mpted to access | 00002f10 61 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 6f |a directory in o| 00002f20 72 64 65 72 20 74 6f 0a 73 65 65 20 77 68 65 74 |rder to.see whet| 00002f30 68 65 72 20 69 74 20 69 73 20 65 6d 70 74 79 2c |her it is empty,| 00002f40 20 62 75 74 20 74 68 65 20 66 69 6c 65 20 6f 6e | but the file on| 00002f50 20 74 68 65 20 68 6f 73 74 20 66 69 6c 69 6e 67 | the host filing| 00002f60 20 73 79 73 74 65 6d 20 77 68 69 63 68 0a 63 6f | system which.co| 00002f70 6e 74 61 69 6e 73 20 74 68 65 20 64 69 72 65 63 |ntains the direc| 00002f80 74 6f 72 79 20 64 61 74 61 20 69 73 20 6e 6f 74 |tory data is not| 00002f90 20 74 68 65 72 65 2e 20 49 66 20 79 6f 75 20 64 | there. If you d| 00002fa0 6f 75 62 6c 65 2d 63 6c 69 63 6b 20 6f 6e 20 74 |ouble-click on t| 00002fb0 68 65 20 72 65 6c 65 76 61 6e 74 0a 64 69 72 65 |he relevant.dire| 00002fc0 63 74 6f 72 79 2c 20 79 6f 75 20 77 69 6c 6c 20 |ctory, you will | 00002fd0 67 65 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 |get an error mes| 00002fe0 73 61 67 65 20 73 61 79 69 6e 67 20 73 6f 6d 65 |sage saying some| 00002ff0 74 68 69 6e 67 20 6c 69 6b 65 20 3c 53 41 4d 50 |thing like <SAMP| 00003000 3e 45 72 72 6f 72 0a 77 68 65 6e 20 72 65 61 64 |>Error.when read| 00003010 69 6e 67 20 27 72 61 46 53 3a 3a 44 69 73 63 4e |ing 'raFS::DiscN| 00003020 61 6d 65 2e 24 2e 58 2e 44 69 72 27 20 2d 20 27 |ame.$.X.Dir' - '| 00003030 41 44 46 53 3a 3a 48 61 72 64 44 69 73 63 34 2e |ADFS::HardDisc4.| 00003040 24 2e 4d 79 44 69 73 63 2e 41 30 2e 56 38 2e 55 |$.MyDisc.A0.V8.U| 00003050 32 27 0a 6e 6f 74 20 66 6f 75 6e 64 3c 2f 53 41 |2'.not found</SA| 00003060 4d 50 3e 0a 0a 3c 50 3e 41 20 73 69 6d 69 6c 61 |MP>..<P>A simila| 00003070 72 20 74 68 69 6e 67 20 68 61 70 70 65 6e 73 20 |r thing happens | 00003080 77 68 65 6e 20 79 6f 75 20 74 72 79 20 74 6f 20 |when you try to | 00003090 72 65 6e 61 6d 65 20 61 6e 20 6f 62 6a 65 63 74 |rename an object| 000030a0 20 77 68 6f 73 65 20 66 69 6c 65 20 69 73 6e 27 | whose file isn'| 000030b0 74 0a 66 6f 75 6e 64 20 6f 6e 20 74 68 65 20 68 |t.found on the h| 000030c0 6f 73 74 20 66 69 6c 69 6e 67 20 73 79 73 74 65 |ost filing syste| 000030d0 6d 2e 20 54 68 69 73 20 69 73 20 61 20 62 75 67 |m. This is a bug| 000030e0 20 69 6e 20 74 68 65 20 46 69 6c 65 72 5f 41 63 | in the Filer_Ac| 000030f0 74 69 6f 6e 20 6d 6f 64 75 6c 65 2e 0a 28 54 68 |tion module..(Th| 00003100 65 20 6d 6f 64 75 6c 65 27 73 20 70 72 6f 67 72 |e module's progr| 00003110 61 6d 6d 65 72 20 61 73 73 75 6d 65 64 20 74 68 |ammer assumed th| 00003120 61 74 20 74 68 65 72 65 20 77 69 6c 6c 20 6e 65 |at there will ne| 00003130 76 65 72 20 62 65 20 61 6e 20 65 72 72 6f 72 20 |ver be an error | 00003140 75 6e 64 65 72 0a 63 65 72 74 61 69 6e 20 63 69 |under.certain ci| 00003150 72 63 75 6d 73 74 61 6e 63 65 73 2e 29 0a 0a 3c |rcumstances.)..<| 00003160 4c 49 3e 59 6f 75 20 6d 61 79 20 6f 63 63 61 73 |LI>You may occas| 00003170 69 6f 6e 61 6c 6c 79 20 6e 6f 74 69 63 65 20 74 |ionally notice t| 00003180 68 61 74 20 74 68 65 20 3c 42 3e 44 69 73 6d 6f |hat the <B>Dismo| 00003190 75 6e 74 3c 2f 42 3e 20 73 75 62 6d 65 6e 75 20 |unt</B> submenu | 000031a0 69 73 20 63 6c 6f 73 65 64 0a 61 66 74 65 72 20 |is closed.after | 000031b0 61 20 63 6c 69 63 6b 20 77 69 74 68 20 41 64 6a |a click with Adj| 000031c0 75 73 74 2e 20 54 68 69 73 20 69 6e 63 6f 72 72 |ust. This incorr| 000031d0 65 63 74 20 62 65 68 61 76 69 6f 75 72 20 69 73 |ect behaviour is| 000031e0 20 61 6c 73 6f 20 63 61 75 73 65 64 20 62 79 20 | also caused by | 000031f0 74 68 65 0a 46 69 6c 65 72 2e 0a 0a 3c 4c 49 3e |the.Filer...<LI>| 00003200 49 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 |If an error occu| 00003210 72 73 20 6f 6e 20 74 68 65 20 68 6f 73 74 20 66 |rs on the host f| 00003220 69 6c 69 6e 67 20 73 79 73 74 65 6d 20 61 74 20 |iling system at | 00003230 61 20 63 65 72 74 61 69 6e 20 70 6f 69 6e 74 20 |a certain point | 00003240 64 75 72 69 6e 67 0a 72 65 6e 61 6d 69 6e 67 20 |during.renaming | 00003250 61 20 66 69 6c 65 2c 20 79 6f 75 20 6d 61 79 20 |a file, you may | 00003260 65 6e 64 20 75 70 20 77 69 74 68 20 74 77 6f 20 |end up with two | 00003270 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 |directory entrie| 00003280 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 |s pointing to th| 00003290 65 0a 73 61 6d 65 20 66 69 6c 65 2e 20 44 6f 6e |e.same file. Don| 000032a0 27 74 20 61 74 74 65 6d 70 74 20 74 6f 20 64 65 |'t attempt to de| 000032b0 6c 65 74 65 20 6f 6e 65 20 6f 66 20 74 68 65 6d |lete one of them| 000032c0 20 2d 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 73 | - this will als| 000032d0 6f 20 64 65 6c 65 74 65 20 74 68 65 0a 61 63 74 |o delete the.act| 000032e0 75 61 6c 20 66 69 6c 65 2c 20 73 6f 20 74 68 65 |ual file, so the| 000032f0 20 73 65 63 6f 6e 64 20 65 6e 74 72 79 20 77 6f | second entry wo| 00003300 6e 27 74 20 77 6f 72 6b 20 61 6e 79 20 6c 6f 6e |n't work any lon| 00003310 67 65 72 21 20 5b 53 74 69 6c 6c 20 74 6f 20 62 |ger! [Still to b| 00003320 65 20 77 72 69 74 74 65 6e 3a 0a 3c 4b 42 44 3e |e written:.<KBD>| 00003330 56 65 72 69 66 79 3c 2f 4b 42 44 3e 20 3c 49 3e |Verify</KBD> <I>| 00003340 26 6c 74 3b 70 61 74 68 20 6f 66 20 64 69 73 63 |<path of disc| 00003350 20 6f 6e 20 68 6f 73 74 20 46 53 26 67 74 3b 3c | on host FS><| 00003360 2f 49 3e 20 74 6f 20 66 69 78 20 74 68 69 73 20 |/I> to fix this | 00003370 61 6e 64 0a 73 69 6d 69 6c 61 72 20 74 68 69 6e |and.similar thin| 00003380 67 73 2e 20 46 6f 72 20 74 68 65 20 74 69 6d 65 |gs. For the time| 00003390 20 62 65 69 6e 67 2c 20 61 6c 6c 20 79 6f 75 20 | being, all you | 000033a0 63 61 6e 20 64 6f 20 69 73 20 74 6f 20 6d 6f 76 |can do is to mov| 000033b0 65 20 6f 6e 65 20 6f 66 20 74 68 65 0a 66 69 6c |e one of the.fil| 000033c0 65 73 20 73 6f 6d 65 77 68 65 72 65 20 77 68 65 |es somewhere whe| 000033d0 72 65 20 69 74 20 64 6f 65 73 6e 27 74 20 62 6f |re it doesn't bo| 000033e0 74 68 65 72 20 79 6f 75 2e 5d 0a 0a 3c 50 3e 49 |ther you.]..<P>I| 000033f0 6e 20 70 72 61 63 74 69 63 65 2c 20 74 68 69 73 |n practice, this| 00003400 20 69 73 20 76 65 72 79 20 75 6e 6c 69 6b 65 6c | is very unlikel| 00003410 79 20 74 6f 20 68 61 70 70 65 6e 2e 0a 0a 3c 4c |y to happen...<L| 00003420 49 3e 44 6f 20 6e 6f 74 20 75 73 65 20 3c 49 3e |I>Do not use <I>| 00003430 4d 65 6d 70 68 69 73 3c 2f 49 3e 20 28 61 20 6d |Memphis</I> (a m| 00003440 65 6d 6f 72 79 2d 62 61 73 65 64 20 66 69 6c 69 |emory-based fili| 00003450 6e 67 20 73 79 73 74 65 6d 29 20 61 73 20 74 68 |ng system) as th| 00003460 65 20 68 6f 73 74 0a 66 69 6c 69 6e 67 20 73 79 |e host.filing sy| 00003470 73 74 65 6d 20 66 6f 72 20 61 20 72 61 46 53 20 |stem for a raFS | 00003480 64 69 73 63 20 77 69 74 68 20 74 68 65 20 70 72 |disc with the pr| 00003490 65 2d 52 69 73 63 4f 53 26 6e 62 73 70 3b 33 2e |e-RiscOS 3.| 000034a0 35 20 76 65 72 73 69 6f 6e 20 6f 66 20 72 61 46 |5 version of raF| 000034b0 53 0a 28 69 2e 26 6e 62 73 70 3b 65 2e 20 74 68 |S.(i. e. th| 000034c0 65 20 6f 6e 65 20 74 68 61 74 20 75 73 65 73 20 |e one that uses | 000034d0 74 68 65 20 73 70 72 69 74 65 20 61 72 65 61 2c |the sprite area,| 000034e0 20 6a 75 73 74 20 6c 69 6b 65 20 4d 65 6d 70 68 | just like Memph| 000034f0 69 73 20 64 6f 65 73 29 2e 20 54 68 69 73 0a 73 |is does). This.s| 00003500 65 65 6d 73 20 74 6f 20 77 6f 72 6b 20 66 6f 72 |eems to work for| 00003510 20 61 20 77 68 69 6c 65 2c 20 62 75 74 20 73 6f | a while, but so| 00003520 6f 6e 65 72 20 6f 72 20 6c 61 74 65 72 20 73 6f |oner or later so| 00003530 6d 65 74 68 69 6e 67 20 63 61 75 73 65 73 20 64 |mething causes d| 00003540 61 74 61 20 6c 6f 73 73 2e 20 49 0a 63 61 6e 6e |ata loss. I.cann| 00003550 6f 74 20 62 65 20 31 30 30 25 20 73 75 72 65 2c |ot be 100% sure,| 00003560 20 62 75 74 20 6d 79 20 6c 6f 67 20 66 69 6c 65 | but my log file| 00003570 73 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 |s indicate that | 00003580 4d 65 6d 70 68 69 73 20 61 6e 64 20 6e 6f 74 20 |Memphis and not | 00003590 72 61 46 53 0a 69 74 73 65 6c 66 20 69 73 20 74 |raFS.itself is t| 000035a0 68 65 20 63 75 6c 70 72 69 74 20 28 44 61 74 61 |he culprit (Data| 000035b0 20 74 68 61 74 20 49 20 77 72 69 74 65 20 74 6f | that I write to| 000035c0 20 4d 65 6d 70 68 69 73 20 61 6e 64 20 74 68 65 | Memphis and the| 000035d0 6e 20 72 65 2d 6c 6f 61 64 0a 69 6d 6d 65 64 69 |n re-load.immedi| 000035e0 61 74 65 6c 79 20 61 66 74 65 72 77 61 72 64 73 |ately afterwards| 000035f0 20 69 73 20 63 6f 72 72 75 70 74 65 64 29 2e 0a | is corrupted)..| 00003600 0a 3c 50 3e 54 68 65 20 72 65 61 73 6f 6e 20 66 |.<P>The reason f| 00003610 6f 72 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 6d |or the problem m| 00003620 69 67 68 74 20 6c 69 65 20 69 6e 20 74 68 65 20 |ight lie in the | 00003630 66 61 63 74 20 74 68 61 74 20 4d 65 6d 70 68 69 |fact that Memphi| 00003640 73 20 6d 69 67 68 74 20 6e 6f 74 0a 65 78 70 65 |s might not.expe| 00003650 63 74 20 74 68 61 74 20 64 61 74 61 20 73 61 76 |ct that data sav| 00003660 65 64 20 74 6f 20 69 74 20 69 73 20 73 6f 6d 65 |ed to it is some| 00003670 77 68 65 72 65 20 69 6e 20 74 68 65 20 73 70 72 |where in the spr| 00003680 69 74 65 20 61 72 65 61 3a 20 72 61 46 53 20 6d |ite area: raFS m| 00003690 61 6b 65 73 20 61 0a 63 61 6c 6c 20 74 6f 20 46 |akes a.call to F| 000036a0 69 6c 65 53 77 69 74 63 68 20 74 6f 20 73 61 76 |ileSwitch to sav| 000036b0 65 20 64 61 74 61 20 74 6f 20 4d 65 6d 70 68 69 |e data to Memphi| 000036c0 73 2e 20 55 70 6f 6e 20 72 65 63 65 69 76 69 6e |s. Upon receivin| 000036d0 67 20 74 68 65 20 71 75 65 72 79 20 66 72 6f 6d |g the query from| 000036e0 0a 46 69 6c 65 53 77 69 74 63 68 2c 20 4d 65 6d |.FileSwitch, Mem| 000036f0 70 68 69 73 20 64 6f 65 73 20 73 6f 6d 65 20 68 |phis does some h| 00003700 6f 75 73 65 6b 65 65 70 69 6e 67 2c 20 64 75 72 |ousekeeping, dur| 00003710 69 6e 67 20 77 68 69 63 68 20 74 68 65 20 73 69 |ing which the si| 00003720 7a 65 20 6f 66 20 6f 6e 65 20 6f 66 0a 69 74 73 |ze of one of.its| 00003730 20 73 70 72 69 74 65 73 20 69 73 20 61 6c 74 65 | sprites is alte| 00003740 72 65 64 2c 20 73 6f 20 74 68 61 74 20 74 68 65 |red, so that the| 00003750 20 73 70 72 69 74 65 20 74 68 61 74 20 62 65 6c | sprite that bel| 00003760 6f 6e 67 73 20 74 6f 20 72 61 46 53 20 69 73 20 |ongs to raFS is | 00003770 63 6f 70 69 65 64 20 74 6f 0a 61 20 64 69 66 66 |copied to.a diff| 00003780 65 72 65 6e 74 20 6d 65 6d 6f 72 79 20 6c 6f 63 |erent memory loc| 00003790 61 74 69 6f 6e 2e 20 54 68 65 6e 20 4d 65 6d 70 |ation. Then Memp| 000037a0 68 69 73 20 22 73 61 76 65 73 22 20 74 68 65 20 |his "saves" the | 000037b0 61 72 65 61 20 6f 66 20 6d 65 6d 6f 72 79 0a 73 |area of memory.s| 000037c0 70 65 63 69 66 69 65 64 20 62 79 20 46 69 6c 65 |pecified by File| 000037d0 53 77 69 74 63 68 2c 20 62 75 74 20 74 68 69 73 |Switch, but this| 000037e0 20 6e 6f 20 6c 6f 6e 67 65 72 20 70 6f 69 6e 74 | no longer point| 000037f0 73 20 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 |s to the correct| 00003800 20 64 61 74 61 21 20 54 68 65 0a 63 6f 72 72 65 | data! The.corre| 00003810 63 74 20 62 65 68 61 76 69 6f 75 72 20 6f 66 20 |ct behaviour of | 00003820 4d 65 6d 70 68 69 73 20 77 6f 75 6c 64 20 62 65 |Memphis would be| 00003830 20 74 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 | to check whethe| 00003840 72 20 74 68 65 20 64 61 74 61 20 74 6f 20 62 65 |r the data to be| 00003850 20 73 61 76 65 64 0a 69 73 20 69 6e 20 74 68 65 | saved.is in the| 00003860 20 73 70 72 69 74 65 20 61 72 65 61 2c 20 61 6e | sprite area, an| 00003870 64 20 69 66 20 69 74 20 69 73 2c 20 74 6f 20 75 |d if it is, to u| 00003880 70 64 61 74 65 20 69 74 73 20 70 6f 69 6e 74 65 |pdate its pointe| 00003890 72 20 74 6f 20 69 74 20 77 68 65 6e 65 76 65 72 |r to it whenever| 000038a0 20 61 0a 73 70 72 69 74 65 20 77 69 74 68 20 61 | a.sprite with a| 000038b0 20 6c 6f 77 65 72 20 61 64 64 72 65 73 73 20 63 | lower address c| 000038c0 68 61 6e 67 65 73 20 73 69 7a 65 2e 3c 42 52 3e |hanges size.<BR>| 000038d0 5b 42 79 20 74 68 65 20 77 61 79 3a 20 41 74 20 |[By the way: At | 000038e0 70 72 65 73 65 6e 74 2c 20 72 61 46 53 0a 69 74 |present, raFS.it| 000038f0 73 65 6c 66 20 64 6f 65 73 6e 27 74 20 70 65 72 |self doesn't per| 00003900 66 6f 72 6d 20 74 68 65 73 65 20 63 68 65 63 6b |form these check| 00003910 73 20 65 69 74 68 65 72 2e 2e 2e 5d 0a 0a 3c 50 |s either...]..<P| 00003920 3e 49 74 20 73 68 6f 75 6c 64 20 62 65 20 70 6f |>It should be po| 00003930 73 73 69 62 6c 65 20 74 6f 20 75 73 65 20 4d 65 |ssible to use Me| 00003940 6d 70 68 69 73 20 61 74 20 74 68 65 20 73 61 6d |mphis at the sam| 00003950 65 20 74 69 6d 65 20 61 73 20 72 61 46 53 20 61 |e time as raFS a| 00003960 73 20 6c 6f 6e 67 20 61 73 0a 69 74 20 69 73 20 |s long as.it is | 00003970 6e 6f 74 20 74 68 65 20 68 6f 73 74 20 66 69 6c |not the host fil| 00003980 69 6e 67 20 73 79 73 74 65 6d 2e 20 48 6f 77 65 |ing system. Howe| 00003990 76 65 72 2c 20 64 6f 6e 27 74 20 62 6c 61 6d 65 |ver, don't blame| 000039a0 20 6d 65 20 69 66 20 73 6f 6d 65 74 68 69 6e 67 | me if something| 000039b0 20 73 63 72 65 77 73 0a 75 70 2e 2e 2e 0a 0a 3c | screws.up.....<| 000039c0 4c 49 3e 2e 2e 2e 74 68 65 72 65 20 6d 69 67 68 |LI>...there migh| 000039d0 74 20 62 65 20 74 68 65 20 6f 64 64 20 62 75 67 |t be the odd bug| 000039e0 2e 0a 0a 3c 2f 55 4c 3e 0a 0a 3c 50 20 41 4c 49 |...</UL>..<P ALI| 000039f0 47 4e 3d 22 72 69 67 68 74 22 3e 3c 49 3e 3c 41 |GN="right"><I><A| 00003a00 20 48 52 45 46 3d 22 23 74 6f 70 22 3e 42 61 63 | HREF="#top">Bac| 00003a10 6b 20 74 6f 20 74 68 65 20 74 6f 70 20 6f 66 20 |k to the top of | 00003a20 74 68 65 20 70 61 67 65 3c 2f 41 3e 3c 2f 49 3e |the page</A></I>| 00003a30 3c 50 3e 3c 48 52 0a 57 49 44 54 48 3d 22 34 31 |<P><HR.WIDTH="41| 00003a40 25 22 3e 0a 0a 0a 0a 3c 50 3e 3c 48 32 3e 3c 41 |%">....<P><H2><A| 00003a50 20 4e 41 4d 45 3d 22 63 6c 69 22 3e 43 6f 6d 6d | NAME="cli">Comm| 00003a60 61 6e 64 20 6c 69 6e 65 20 69 6e 74 65 72 66 61 |and line interfa| 00003a70 63 65 3c 2f 41 3e 3c 2f 48 32 3e 0a 0a 3c 50 3e |ce</A></H2>..<P>| 00003a80 54 68 65 20 72 61 46 53 46 69 6c 65 72 20 6d 6f |The raFSFiler mo| 00003a90 64 75 6c 65 20 70 72 6f 76 69 64 65 73 20 6f 6e |dule provides on| 00003aa0 65 20 3c 54 54 3e 2a 3c 2f 54 54 3e 63 6f 6d 6d |e <TT>*</TT>comm| 00003ab0 61 6e 64 3a 0a 0a 3c 44 4c 3e 0a 0a 3c 44 54 3e |and:..<DL>..<DT>| 00003ac0 3c 4b 42 44 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c |<KBD><A NAME="cl| 00003ad0 69 5f 66 69 6c 65 72 22 3e 44 65 73 6b 74 6f 70 |i_filer">Desktop| 00003ae0 5f 72 61 46 53 46 69 6c 65 72 3c 2f 41 3e 3c 2f |_raFSFiler</A></| 00003af0 4b 42 44 3e 0a 3c 49 3e 5b 3c 2f 49 3e 3c 4b 42 |KBD>.<I>[</I><KB| 00003b00 44 3e 2d 63 68 6f 69 63 65 73 3c 2f 4b 42 44 3e |D>-choices</KBD>| 00003b10 3c 49 3e 5d 20 5b 3c 2f 49 3e 3c 4b 42 44 3e 2d |<I>] [</I><KBD>-| 00003b20 6e 65 77 64 69 73 63 3c 2f 4b 42 44 3e 3c 49 3e |newdisc</KBD><I>| 00003b30 5d 0a 5b 3c 2f 49 3e 3c 4b 42 44 3e 2d 6c 65 66 |].[</I><KBD>-lef| 00003b40 74 3c 2f 4b 42 44 3e 3c 49 3e 5d 20 5b 3c 2f 49 |t</KBD><I>] [</I| 00003b50 3e 3c 4b 42 44 3e 2d 72 69 67 68 74 3c 2f 4b 42 |><KBD>-right</KB| 00003b60 44 3e 3c 49 3e 5d 0a 5b 3c 2f 49 3e 3c 4b 42 44 |D><I>].[</I><KBD| 00003b70 3e 2d 70 72 69 6f 72 69 74 79 3c 2f 4b 42 44 3e |>-priority</KBD>| 00003b80 20 3c 49 3e 26 6c 74 3b 6e 72 26 67 74 3b 5d 3c | <I><nr>]<| 00003b90 2f 49 3e 0a 0a 3c 44 44 3e 49 66 20 69 73 73 75 |/I>..<DD>If issu| 00003ba0 65 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 |ed without any a| 00003bb0 72 67 75 6d 65 6e 74 73 2c 20 74 68 69 73 20 63 |rguments, this c| 00003bc0 6f 6d 6d 61 6e 64 20 63 61 75 73 65 73 20 72 61 |ommand causes ra| 00003bd0 46 53 20 74 6f 20 69 6e 73 74 61 6c 6c 20 69 74 |FS to install it| 00003be0 73 0a 69 63 6f 6e 20 6f 6e 20 74 68 65 20 69 63 |s.icon on the ic| 00003bf0 6f 6e 20 62 61 72 2e 20 59 6f 75 20 63 61 6e 20 |on bar. You can | 00003c00 63 68 61 6e 67 65 20 74 68 65 20 70 6f 73 69 74 |change the posit| 00003c10 69 6f 6e 20 6f 66 20 74 68 65 20 69 63 6f 6e 20 |ion of the icon | 00003c20 62 61 72 20 69 63 6f 6e 20 62 79 0a 61 64 64 69 |bar icon by.addi| 00003c30 6e 67 20 3c 4b 42 44 3e 2d 6c 65 66 74 3c 2f 4b |ng <KBD>-left</K| 00003c40 42 44 3e 2c 20 3c 4b 42 44 3e 2d 72 69 67 68 74 |BD>, <KBD>-right| 00003c50 3c 2f 4b 42 44 3e 20 61 6e 64 20 3c 4b 42 44 3e |</KBD> and <KBD>| 00003c60 2d 70 72 69 6f 72 69 74 79 3c 2f 4b 42 44 3e 20 |-priority</KBD> | 00003c70 73 77 69 74 63 68 65 73 0a 74 6f 20 74 68 65 20 |switches.to the | 00003c80 63 6f 6d 6d 61 6e 64 20 3c 45 4d 3e 69 6e 20 74 |command <EM>in t| 00003c90 68 65 20 21 52 75 6e 20 66 69 6c 65 2e 3c 2f 45 |he !Run file.</E| 00003ca0 4d 3e 0a 0a 3c 50 3e 54 68 65 20 3c 4b 42 44 3e |M>..<P>The <KBD>| 00003cb0 2d 63 68 6f 69 63 65 73 3c 2f 4b 42 44 3e 20 61 |-choices</KBD> a| 00003cc0 6e 64 20 3c 4b 42 44 3e 2d 6e 65 77 64 69 73 63 |nd <KBD>-newdisc| 00003cd0 3c 2f 4b 42 44 3e 20 73 77 69 74 63 68 65 73 20 |</KBD> switches | 00003ce0 61 72 65 20 75 73 65 66 75 6c 20 66 6f 72 0a 65 |are useful for.e| 00003cf0 78 65 63 75 74 69 6e 67 20 77 68 65 6e 20 74 68 |xecuting when th| 00003d00 65 20 69 63 6f 6e 20 62 61 72 20 69 63 6f 6e 20 |e icon bar icon | 00003d10 69 73 20 63 6c 69 63 6b 65 64 20 6f 6e 2e 20 54 |is clicked on. T| 00003d20 68 65 79 20 6f 70 65 6e 20 74 68 65 20 22 43 68 |hey open the "Ch| 00003d30 6f 69 63 65 73 22 20 61 6e 64 0a 22 43 72 65 61 |oices" and."Crea| 00003d40 74 65 20 6e 65 77 20 64 69 73 63 22 20 77 69 6e |te new disc" win| 00003d50 64 6f 77 73 2c 20 72 65 73 70 65 63 74 69 76 65 |dows, respective| 00003d60 6c 79 2e 0a 0a 3c 50 3e 3c 4b 42 44 3e 44 65 73 |ly...<P><KBD>Des| 00003d70 6b 74 6f 70 5f 72 61 46 53 46 69 6c 65 72 3c 2f |ktop_raFSFiler</| 00003d80 4b 42 44 3e 20 61 6c 73 6f 20 73 75 70 70 6f 72 |KBD> also suppor| 00003d90 74 73 20 3c 4b 42 44 3e 2d 6d 6f 75 6e 74 3c 2f |ts <KBD>-mount</| 00003da0 4b 42 44 3e 2c 0a 3c 4b 42 44 3e 2d 73 65 6c 65 |KBD>,.<KBD>-sele| 00003db0 63 74 3c 2f 4b 42 44 3e 20 61 6e 64 20 3c 4b 42 |ct</KBD> and <KB| 00003dc0 44 3e 2d 61 64 6a 75 73 74 3c 2f 4b 42 44 3e 20 |D>-adjust</KBD> | 00003dd0 73 77 69 74 63 68 65 73 2c 20 62 75 74 20 74 68 |switches, but th| 00003de0 65 73 65 20 61 72 65 20 69 6e 74 65 6e 64 65 64 |ese are intended| 00003df0 0a 66 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 |.for internal us| 00003e00 65 20 6f 6e 6c 79 2e 0a 0a 3c 2f 44 4c 3e 0a 0a |e only...</DL>..| 00003e10 3c 50 3e 72 61 46 53 20 70 72 6f 76 69 64 65 73 |<P>raFS provides| 00003e20 20 73 65 76 65 72 61 6c 20 3c 54 54 3e 2a 3c 2f | several <TT>*</| 00003e30 54 54 3e 63 6f 6d 6d 61 6e 64 73 2e 20 57 68 69 |TT>commands. Whi| 00003e40 6c 65 20 74 68 65 20 72 61 46 53 46 69 6c 65 72 |le the raFSFiler| 00003e50 20 6d 6f 64 75 6c 65 0a 6f 66 66 65 72 73 20 61 | module.offers a| 00003e60 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 65 6e 74 | more convenient| 00003e70 20 77 61 79 20 6f 66 20 77 6f 72 6b 69 6e 67 20 | way of working | 00003e80 77 69 74 68 20 64 69 73 63 73 2c 20 79 6f 75 20 |with discs, you | 00003e90 6d 61 79 20 73 6f 6d 65 74 69 6d 65 73 20 70 72 |may sometimes pr| 00003ea0 65 66 65 72 0a 75 73 69 6e 67 20 74 68 65 20 63 |efer.using the c| 00003eb0 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 69 6e 73 74 |ommand line inst| 00003ec0 65 61 64 2e 0a 0a 3c 44 4c 3e 0a 0a 3c 44 54 3e |ead...<DL>..<DT>| 00003ed0 3c 4b 42 44 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c |<KBD><A NAME="cl| 00003ee0 69 5f 66 73 22 3e 72 61 46 53 3c 2f 41 3e 3c 2f |i_fs">raFS</A></| 00003ef0 4b 42 44 3e 0a 0a 3c 44 44 3e 54 68 69 73 20 63 |KBD>..<DD>This c| 00003f00 6f 6d 6d 61 6e 64 20 73 65 6c 65 63 74 73 20 72 |ommand selects r| 00003f10 61 46 53 20 61 73 20 74 68 65 20 63 75 72 72 65 |aFS as the curre| 00003f20 6e 74 20 66 69 6c 69 6e 67 20 73 79 73 74 65 6d |nt filing system| 00003f30 2e 20 46 6f 72 20 72 61 46 53 20 63 6f 6d 6d 61 |. For raFS comma| 00003f40 6e 64 73 0a 74 68 61 74 20 61 72 65 20 61 6c 73 |nds.that are als| 00003f50 6f 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 6f |o supported by o| 00003f60 74 68 65 72 20 66 69 6c 69 6e 67 20 73 79 73 74 |ther filing syst| 00003f70 65 6d 73 2c 20 6c 69 6b 65 20 3c 4b 42 44 3e 4d |ems, like <KBD>M| 00003f80 6f 75 6e 74 3c 2f 4b 42 44 3e 2c 20 79 6f 75 0a |ount</KBD>, you.| 00003f90 6d 75 73 74 20 73 77 69 74 63 68 20 74 6f 20 72 |must switch to r| 00003fa0 61 46 53 20 77 69 74 68 20 74 68 69 73 20 63 6f |aFS with this co| 00003fb0 6d 6d 61 6e 64 20 62 65 66 6f 72 65 20 75 73 69 |mmand before usi| 00003fc0 6e 67 20 74 68 65 6d 2e 20 28 41 6c 74 65 72 6e |ng them. (Altern| 00003fd0 61 74 69 76 65 6c 79 2c 20 79 6f 75 0a 63 61 6e |atively, you.can| 00003fe0 20 75 73 65 20 3c 4b 42 44 3e 72 61 46 53 3a 4d | use <KBD>raFS:M| 00003ff0 6f 75 6e 74 3c 2f 4b 42 44 3e 20 74 6f 20 73 77 |ount</KBD> to sw| 00004000 69 74 63 68 20 74 6f 20 72 61 46 53 20 74 65 6d |itch to raFS tem| 00004010 70 6f 72 61 72 69 6c 79 2e 29 0a 0a 3c 44 54 3e |porarily.)..<DT>| 00004020 3c 4b 42 44 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c |<KBD><A NAME="cl| 00004030 69 5f 63 72 65 61 74 65 22 3e 72 61 46 53 5f 43 |i_create">raFS_C| 00004040 72 65 61 74 65 3c 2f 41 3e 3c 2f 4b 42 44 3e 20 |reate</A></KBD> | 00004050 3c 49 3e 26 6c 74 3b 64 69 72 65 63 74 6f 72 79 |<I><directory| 00004060 26 67 74 3b 0a 26 6c 74 3b 44 69 73 63 4e 61 6d |>.<DiscNam| 00004070 65 26 67 74 3b 3c 2f 49 3e 20 3c 49 3e 5b 3c 2f |e></I> <I>[</| 00004080 49 3e 3c 4b 42 44 3e 2d 61 70 70 3c 2f 4b 42 44 |I><KBD>-app</KBD| 00004090 3e 20 3c 49 3e 26 6c 74 3b 53 70 72 69 74 65 4e |> <I><SpriteN| 000040a0 61 6d 65 26 67 74 3b 5d 3c 2f 49 3e 0a 0a 3c 44 |ame>]</I>..<D| 000040b0 44 3e 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 73 |D>This command s| 000040c0 65 74 73 20 75 70 20 61 20 73 74 6f 72 61 67 65 |ets up a storage| 000040d0 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 61 | directory for a| 000040e0 20 64 69 73 63 2c 20 73 6f 20 74 68 61 74 20 79 | disc, so that y| 000040f0 6f 75 20 63 61 6e 0a 73 75 62 73 65 71 75 65 6e |ou can.subsequen| 00004100 74 6c 79 20 6d 6f 75 6e 74 20 69 74 20 77 69 74 |tly mount it wit| 00004110 68 20 3c 4b 42 44 3e 4d 6f 75 6e 74 3c 2f 4b 42 |h <KBD>Mount</KB| 00004120 44 3e 20 3c 49 3e 26 6c 74 3b 64 69 72 65 63 74 |D> <I><direct| 00004130 6f 72 79 26 67 74 3b 3c 2f 49 3e 2e 20 49 66 20 |ory></I>. If | 00004140 79 6f 75 0a 75 73 65 20 61 20 77 68 6f 6c 65 20 |you.use a whole | 00004150 68 61 72 64 20 6f 72 20 66 6c 6f 70 70 79 20 64 |hard or floppy d| 00004160 69 73 63 20 6a 75 73 74 20 66 6f 72 20 72 61 46 |isc just for raF| 00004170 53 2c 20 75 73 65 20 74 68 65 20 72 6f 6f 74 20 |S, use the root | 00004180 64 69 72 65 63 74 6f 72 79 20 22 24 22 20 61 73 |directory "$" as| 00004190 0a 74 68 65 20 73 74 6f 72 61 67 65 20 64 69 72 |.the storage dir| 000041a0 65 63 74 6f 72 79 2c 20 6f 74 68 65 72 77 69 73 |ectory, otherwis| 000041b0 65 20 63 68 6f 6f 73 65 20 61 20 64 69 72 65 63 |e choose a direc| 000041c0 74 6f 72 79 20 61 73 20 6e 65 61 72 20 74 6f 20 |tory as near to | 000041d0 74 68 65 20 72 6f 6f 74 20 61 73 0a 70 6f 73 73 |the root as.poss| 000041e0 69 62 6c 65 2e 0a 0a 3c 50 3e 54 68 65 20 73 74 |ible...<P>The st| 000041f0 6f 72 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 |orage directory | 00004200 69 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 |is the directory| 00004210 20 74 6f 20 77 68 69 63 68 20 61 6c 6c 20 66 69 | to which all fi| 00004220 6c 65 73 20 73 61 76 65 64 20 74 6f 20 74 68 65 |les saved to the| 00004230 0a 64 69 73 63 20 77 69 6c 6c 20 62 65 20 77 72 |.disc will be wr| 00004240 69 74 74 65 6e 2e 20 49 66 20 74 68 65 20 73 70 |itten. If the sp| 00004250 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6f 72 |ecified director| 00004260 79 20 64 6f 65 73 20 6e 6f 74 20 61 6c 72 65 61 |y does not alrea| 00004270 64 79 20 65 78 69 73 74 2c 20 69 74 0a 69 73 20 |dy exist, it.is | 00004280 63 72 65 61 74 65 64 2e 20 49 66 20 69 74 20 69 |created. If it i| 00004290 73 6e 27 74 20 65 6d 70 74 79 2c 20 72 61 46 53 |sn't empty, raFS| 000042a0 20 77 69 6c 6c 20 67 69 76 65 20 61 6e 20 65 72 | will give an er| 000042b0 72 6f 72 2e 0a 0a 3c 50 3e 49 66 20 74 68 65 20 |ror...<P>If the | 000042c0 67 69 76 65 6e 20 64 69 72 65 63 74 6f 72 79 27 |given directory'| 000042d0 73 20 6c 65 61 66 6e 61 6d 65 20 62 65 67 69 6e |s leafname begin| 000042e0 73 20 77 69 74 68 20 22 21 22 2c 20 74 68 65 20 |s with "!", the | 000042f0 6f 70 74 69 6f 6e 61 6c 0a 3c 4b 42 44 3e 2d 61 |optional.<KBD>-a| 00004300 70 70 3c 2f 4b 42 44 3e 20 73 77 69 74 63 68 20 |pp</KBD> switch | 00004310 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 |can be used to s| 00004320 70 65 63 69 66 79 20 74 68 65 20 6e 61 6d 65 20 |pecify the name | 00004330 6f 66 20 61 20 73 70 72 69 74 65 20 74 6f 20 75 |of a sprite to u| 00004340 73 65 20 66 6f 72 0a 74 68 69 73 20 61 70 70 6c |se for.this appl| 00004350 69 63 61 74 69 6f 6e 2c 20 66 6f 72 20 65 78 61 |ication, for exa| 00004360 6d 70 6c 65 20 3c 4b 42 44 3e 2d 61 70 70 26 6e |mple <KBD>-app&n| 00004370 62 73 70 3b 64 69 72 65 63 74 6f 72 79 3c 2f 4b |bsp;directory</K| 00004380 42 44 3e 20 74 6f 20 6d 61 6b 65 20 69 74 20 6c |BD> to make it l| 00004390 6f 6f 6b 0a 6c 69 6b 65 20 61 6e 20 6f 72 64 69 |ook.like an ordi| 000043a0 6e 61 72 79 20 64 69 72 65 63 74 6f 72 79 2e 20 |nary directory. | 000043b0 54 68 69 73 20 73 70 72 69 74 65 20 6d 75 73 74 |This sprite must| 000043c0 20 62 65 20 70 72 65 73 65 6e 74 20 69 6e 20 74 | be present in t| 000043d0 68 65 20 57 69 6d 70 27 73 20 70 6f 6f 6c 0a 77 |he Wimp's pool.w| 000043e0 68 65 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 |hen the command | 000043f0 69 73 20 69 73 73 75 65 64 2e 20 72 61 46 53 20 |is issued. raFS | 00004400 61 6c 73 6f 20 73 61 76 65 73 20 61 20 3c 49 3e |also saves a <I>| 00004410 21 52 75 6e 3c 2f 49 3e 20 66 69 6c 65 20 73 6f |!Run</I> file so| 00004420 20 74 68 61 74 0a 64 6f 75 62 6c 65 2d 63 6c 69 | that.double-cli| 00004430 63 6b 69 6e 67 20 6f 6e 20 74 68 65 20 61 70 70 |cking on the app| 00004440 6c 69 63 61 74 69 6f 6e 20 77 69 6c 6c 20 6d 6f |lication will mo| 00004450 75 6e 74 20 74 68 65 20 64 69 73 63 20 61 6e 64 |unt the disc and| 00004460 20 6f 70 65 6e 20 69 74 73 20 72 6f 6f 74 0a 64 | open its root.d| 00004470 69 72 65 63 74 6f 72 79 2e 20 54 68 65 20 3c 4b |irectory. The <K| 00004480 42 44 3e 2d 61 70 70 3c 2f 4b 42 44 3e 20 73 77 |BD>-app</KBD> sw| 00004490 69 74 63 68 20 68 61 73 20 6e 6f 20 65 66 66 65 |itch has no effe| 000044a0 63 74 20 69 66 20 74 68 65 20 66 69 72 73 74 20 |ct if the first | 000044b0 63 68 61 72 61 63 74 65 72 20 6f 66 0a 74 68 65 |character of.the| 000044c0 20 6c 65 61 66 6e 61 6d 65 20 69 73 20 6e 6f 74 | leafname is not| 000044d0 20 22 21 22 2e 0a 0a 3c 50 3e 54 6f 20 64 65 6c | "!"...<P>To del| 000044e0 65 74 65 20 61 20 63 6f 6d 70 6c 65 74 65 20 72 |ete a complete r| 000044f0 61 46 53 20 64 69 73 63 2c 20 6d 61 6b 65 20 73 |aFS disc, make s| 00004500 75 72 65 20 69 74 20 68 61 73 20 62 65 65 6e 20 |ure it has been | 00004510 64 69 73 6d 6f 75 6e 74 65 64 20 61 6e 64 20 74 |dismounted and t| 00004520 68 65 6e 0a 3c 4b 42 44 3e 57 69 70 65 3c 2f 4b |hen.<KBD>Wipe</K| 00004530 42 44 3e 20 74 68 65 20 73 74 6f 72 61 67 65 20 |BD> the storage | 00004540 64 69 72 65 63 74 6f 72 79 2e 0a 0a 3c 44 54 3e |directory...<DT>| 00004550 3c 4b 42 44 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c |<KBD><A NAME="cl| 00004560 69 5f 66 6c 75 73 68 22 3e 72 61 46 53 5f 46 6c |i_flush">raFS_Fl| 00004570 75 73 68 3c 2f 41 3e 3c 2f 4b 42 44 3e 0a 0a 3c |ush</A></KBD>..<| 00004580 44 44 3e 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 |DD>This command | 00004590 73 61 76 65 73 20 74 68 65 20 64 69 72 65 63 74 |saves the direct| 000045a0 6f 72 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 |ory information | 000045b0 6f 66 20 61 6e 79 20 61 6c 74 65 72 65 64 20 64 |of any altered d| 000045c0 69 72 65 63 74 6f 72 69 65 73 0a 74 6f 20 74 68 |irectories.to th| 000045d0 65 20 68 6f 73 74 20 66 69 6c 69 6e 67 20 73 79 |e host filing sy| 000045e0 73 74 65 6d 2e 20 48 6f 77 65 76 65 72 2c 20 69 |stem. However, i| 000045f0 6e 20 63 6f 6e 74 72 61 73 74 20 74 6f 20 3c 4b |n contrast to <K| 00004600 42 44 3e 44 69 73 6d 6f 75 6e 74 3c 2f 4b 42 44 |BD>Dismount</KBD| 00004610 3e 20 74 68 65 0a 63 61 63 68 65 64 20 64 69 72 |> the.cached dir| 00004620 65 63 74 6f 72 69 65 73 20 72 65 6d 61 69 6e 20 |ectories remain | 00004630 69 6e 20 6d 65 6d 6f 72 79 2e 20 49 74 20 69 73 |in memory. It is| 00004640 20 75 73 65 66 75 6c 20 74 6f 20 65 6e 73 75 72 | useful to ensur| 00004650 65 20 74 68 61 74 20 61 20 73 75 62 73 65 71 75 |e that a subsequ| 00004660 65 6e 74 0a 63 72 61 73 68 20 77 69 6c 6c 20 6e |ent.crash will n| 00004670 6f 74 20 63 61 75 73 65 20 64 61 74 61 20 74 6f |ot cause data to| 00004680 20 62 65 20 6c 6f 73 74 2e 0a 0a 3c 44 54 3e 3c | be lost...<DT><| 00004690 4b 42 44 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c 69 |KBD><A NAME="cli| 000046a0 5f 64 69 73 63 73 22 3e 72 61 46 53 5f 44 69 73 |_discs">raFS_Dis| 000046b0 63 73 3c 2f 41 3e 3c 2f 4b 42 44 3e 0a 0a 3c 44 |cs</A></KBD>..<D| 000046c0 44 3e 3c 4b 42 44 3e 72 61 46 53 5f 44 69 73 63 |D><KBD>raFS_Disc| 000046d0 73 3c 2f 4b 42 44 3e 20 6f 72 20 74 68 65 20 65 |s</KBD> or the e| 000046e0 71 75 69 76 61 6c 65 6e 74 20 3c 4b 42 44 3e 72 |quivalent <KBD>r| 000046f0 61 46 53 5f 44 69 73 6b 73 3c 2f 4b 42 44 3e 20 |aFS_Disks</KBD> | 00004700 67 69 76 65 73 20 61 0a 6c 69 73 74 20 6f 66 20 |gives a.list of | 00004710 61 6c 6c 20 64 69 73 63 73 20 74 68 61 74 20 61 |all discs that a| 00004720 72 65 20 6d 6f 75 6e 74 65 64 20 61 74 20 74 68 |re mounted at th| 00004730 65 20 74 69 6d 65 20 74 68 65 20 63 6f 6d 6d 61 |e time the comma| 00004740 6e 64 20 69 73 20 65 6e 74 65 72 65 64 2e 20 4f |nd is entered. O| 00004750 6e 65 0a 6c 69 6e 65 20 6f 66 20 74 65 78 74 20 |ne.line of text | 00004760 77 69 6c 6c 20 62 65 20 70 72 69 6e 74 65 64 20 |will be printed | 00004770 66 6f 72 20 65 61 63 68 20 64 69 73 63 2c 20 63 |for each disc, c| 00004780 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 74 68 65 |onsisting of the| 00004790 20 64 69 73 63 20 6e 61 6d 65 0a 66 6f 6c 6c 6f | disc name.follo| 000047a0 77 65 64 20 62 79 20 61 20 73 70 61 63 65 20 63 |wed by a space c| 000047b0 68 61 72 61 63 74 65 72 20 61 6e 64 20 74 68 65 |haracter and the| 000047c0 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 64 69 73 | name of the dis| 000047d0 63 27 73 20 73 74 6f 72 61 67 65 20 64 69 72 65 |c's storage dire| 000047e0 63 74 6f 72 79 2e 0a 0a 3c 50 3e 46 75 74 75 72 |ctory...<P>Futur| 000047f0 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 72 61 |e versions of ra| 00004800 46 53 20 6d 61 79 20 70 72 69 6e 74 20 6f 75 74 |FS may print out| 00004810 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f | additional info| 00004820 72 6d 61 74 69 6f 6e 20 61 66 74 65 72 20 74 68 |rmation after th| 00004830 61 74 0a 64 65 73 63 72 69 62 65 64 20 61 62 6f |at.described abo| 00004840 76 65 2c 20 77 69 74 68 20 66 75 72 74 68 65 72 |ve, with further| 00004850 20 69 74 65 6d 73 20 61 70 70 65 6e 64 65 64 20 | items appended | 00004860 74 6f 20 74 68 65 20 70 72 69 6e 74 65 64 20 6c |to the printed l| 00004870 69 6e 65 73 20 61 66 74 65 72 0a 73 70 61 63 65 |ines after.space| 00004880 73 2e 20 54 61 6b 65 20 74 68 69 73 20 69 6e 74 |s. Take this int| 00004890 6f 20 61 63 63 6f 75 6e 74 20 77 68 65 6e 20 77 |o account when w| 000048a0 72 69 74 69 6e 67 20 70 72 6f 67 72 61 6d 73 20 |riting programs | 000048b0 74 68 61 74 20 6d 61 6b 65 20 75 73 65 20 6f 66 |that make use of| 000048c0 20 74 68 69 73 0a 63 6f 6d 6d 61 6e 64 27 73 20 | this.command's | 000048d0 6f 75 74 70 75 74 2e 0a 0a 3c 44 54 3e 3c 4b 42 |output...<DT><KB| 000048e0 44 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c 69 5f 6d |D><A NAME="cli_m| 000048f0 6f 75 6e 74 22 3e 4d 6f 75 6e 74 3c 2f 41 3e 3c |ount">Mount</A><| 00004900 2f 4b 42 44 3e 20 3c 49 3e 26 6c 74 3b 64 69 72 |/KBD> <I><dir| 00004910 65 63 74 6f 72 79 26 67 74 3b 3c 2f 49 3e 0a 3c |ectory></I>.<| 00004920 49 3e 5b 3c 2f 49 3e 3c 4b 42 44 3e 2d 72 65 61 |I>[</I><KBD>-rea| 00004930 64 6f 6e 6c 79 3c 2f 4b 42 44 3e 3c 49 3e 5d 20 |donly</KBD><I>] | 00004940 5b 3c 2f 49 3e 3c 4b 42 44 3e 2d 70 61 74 68 3c |[</I><KBD>-path<| 00004950 2f 4b 42 44 3e 3c 49 3e 5d 0a 5b 3c 2f 49 3e 3c |/KBD><I>].[</I><| 00004960 4b 42 44 3e 2d 58 3c 2f 4b 42 44 3e 3c 49 3e 5d |KBD>-X</KBD><I>]| 00004970 3c 2f 49 3e 0a 0a 3c 44 44 3e 54 68 69 73 20 63 |</I>..<DD>This c| 00004980 6f 6d 6d 61 6e 64 20 6d 61 6b 65 73 20 73 75 72 |ommand makes sur| 00004990 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 61 |e that you can a| 000049a0 63 63 65 73 73 20 74 68 65 20 72 61 46 53 20 64 |ccess the raFS d| 000049b0 69 73 63 20 73 74 6f 72 65 64 20 69 6e 20 74 68 |isc stored in th| 000049c0 65 0a 73 70 65 63 69 66 69 65 64 20 64 69 72 65 |e.specified dire| 000049d0 63 74 6f 72 79 2c 20 65 2e 26 6e 62 73 70 3b 67 |ctory, e. g| 000049e0 2e 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6f |. that you can o| 000049f0 70 65 6e 20 74 68 65 20 72 6f 6f 74 20 64 69 72 |pen the root dir| 00004a00 65 63 74 6f 72 79 0a 22 72 61 46 53 3a 3a 3c 49 |ectory."raFS::<I| 00004a10 3e 44 69 73 63 4e 61 6d 65 3c 2f 49 3e 2e 24 22 |>DiscName</I>.$"| 00004a20 2e 20 49 74 20 77 69 6c 6c 20 61 6c 73 6f 20 73 |. It will also s| 00004a30 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 |et the current d| 00004a40 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 65 0a |irectory to the.| 00004a50 64 69 73 63 27 73 20 72 6f 6f 74 20 64 69 72 65 |disc's root dire| 00004a60 63 74 6f 72 79 2c 20 75 6e 73 65 74 20 74 68 65 |ctory, unset the| 00004a70 20 55 73 65 72 20 52 6f 6f 74 20 44 69 72 65 63 | User Root Direc| 00004a80 74 6f 72 79 20 28 55 52 44 29 2c 20 61 6e 64 20 |tory (URD), and | 00004a90 73 65 74 20 74 68 65 0a 73 79 73 74 65 6d 20 76 |set the.system v| 00004aa0 61 72 69 61 62 6c 65 20 72 61 46 53 24 44 69 73 |ariable raFS$Dis| 00004ab0 63 20 74 6f 20 74 68 65 20 6e 65 77 20 64 69 73 |c to the new dis| 00004ac0 63 27 73 20 6e 61 6d 65 2e 0a 0a 3c 50 3e 54 77 |c's name...<P>Tw| 00004ad0 6f 20 64 69 73 63 73 20 77 69 74 68 20 74 68 65 |o discs with the| 00004ae0 20 73 61 6d 65 20 6e 61 6d 65 20 63 61 6e 6e 6f | same name canno| 00004af0 74 20 62 65 20 6d 6f 75 6e 74 65 64 20 61 74 20 |t be mounted at | 00004b00 74 68 65 20 73 61 6d 65 20 74 69 6d 65 20 2d 20 |the same time - | 00004b10 61 6e 20 65 72 72 6f 72 0a 77 69 6c 6c 20 62 65 |an error.will be| 00004b20 20 67 69 76 65 6e 20 69 66 20 74 68 69 73 20 69 | given if this i| 00004b30 73 20 61 74 74 65 6d 70 74 65 64 2e 20 48 6f 77 |s attempted. How| 00004b40 65 76 65 72 2c 20 69 66 20 79 6f 75 20 74 72 79 |ever, if you try| 00004b50 20 74 6f 20 6d 6f 75 6e 74 20 61 20 64 69 73 63 | to mount a disc| 00004b60 20 74 68 61 74 0a 69 73 20 61 6c 72 65 61 64 79 | that.is already| 00004b70 20 6d 6f 75 6e 74 65 64 20 28 69 2e 26 6e 62 73 | mounted (i.&nbs| 00004b80 70 3b 65 2e 20 74 68 65 20 64 69 73 63 20 6f 66 |p;e. the disc of| 00004b90 20 74 68 61 74 20 6e 61 6d 65 20 68 61 73 20 74 | that name has t| 00004ba0 68 65 20 73 61 6d 65 20 73 74 6f 72 61 67 65 0a |he same storage.| 00004bb0 64 69 72 65 63 74 6f 72 79 20 61 73 20 73 70 65 |directory as spe| 00004bc0 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 3c 4b |cified in the <K| 00004bd0 42 44 3e 4d 6f 75 6e 74 3c 2f 4b 42 44 3e 20 63 |BD>Mount</KBD> c| 00004be0 6f 6d 6d 61 6e 64 29 2c 20 72 61 46 53 20 77 69 |ommand), raFS wi| 00004bf0 6c 6c 20 67 69 76 65 20 6e 6f 0a 65 72 72 6f 72 |ll give no.error| 00004c00 20 61 6e 64 20 77 69 6c 6c 20 69 67 6e 6f 72 65 | and will ignore| 00004c10 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 3c | the command...<| 00004c20 50 3e 72 61 46 53 20 61 75 74 6f 6d 61 74 69 63 |P>raFS automatic| 00004c30 61 6c 6c 79 20 64 65 63 69 64 65 73 20 77 68 65 |ally decides whe| 00004c40 74 68 65 72 20 6f 72 20 6e 6f 74 20 74 68 65 20 |ther or not the | 00004c50 64 69 73 63 20 69 73 20 72 65 61 64 2d 6f 6e 6c |disc is read-onl| 00004c60 79 20 62 79 20 6c 6f 6f 6b 69 6e 67 0a 61 74 20 |y by looking.at | 00004c70 74 68 65 20 66 69 6c 65 20 3c 49 3e 21 41 74 74 |the file <I>!Att| 00004c80 65 72 65 72 2e 3c 2f 49 3e 20 49 66 20 74 68 69 |erer.</I> If thi| 00004c90 73 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 |s file does not | 00004ca0 68 61 76 65 20 77 72 69 74 65 20 61 63 63 65 73 |have write acces| 00004cb0 73 20 28 65 69 74 68 65 72 0a 62 65 63 61 75 73 |s (either.becaus| 00004cc0 65 20 69 74 20 72 65 73 69 64 65 73 20 6f 6e 20 |e it resides on | 00004cd0 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c 69 |a read-only fili| 00004ce0 6e 67 20 73 79 73 74 65 6d 20 6f 72 20 62 65 63 |ng system or bec| 00004cf0 61 75 73 65 20 79 6f 75 20 73 65 74 20 69 74 73 |ause you set its| 00004d00 0a 61 74 74 72 69 62 75 74 65 73 20 69 6e 20 6f |.attributes in o| 00004d10 72 64 65 72 20 74 6f 20 70 65 72 6d 61 6e 65 6e |rder to permanen| 00004d20 74 6c 79 20 22 77 72 69 74 65 20 70 72 6f 74 65 |tly "write prote| 00004d30 63 74 22 20 74 68 65 20 64 69 73 63 29 2c 20 61 |ct" the disc), a| 00004d40 6c 6c 20 61 74 74 65 6d 70 74 73 20 74 6f 0a 6d |ll attempts to.m| 00004d50 6f 64 69 66 79 20 66 69 6c 65 73 20 6f 72 20 64 |odify files or d| 00004d60 69 72 65 63 74 6f 72 69 65 73 20 77 69 6c 6c 20 |irectories will | 00004d70 62 65 20 66 61 75 6c 74 65 64 2e 0a 0a 3c 50 3e |be faulted...<P>| 00004d80 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 3c 4b 42 |The optional <KB| 00004d90 44 3e 2d 72 65 61 64 6f 6e 6c 79 3c 2f 4b 42 44 |D>-readonly</KBD| 00004da0 3e 20 73 77 69 74 63 68 20 28 73 68 6f 72 74 20 |> switch (short | 00004db0 3c 4b 42 44 3e 2d 72 6f 3c 2f 4b 42 44 3e 29 20 |<KBD>-ro</KBD>) | 00004dc0 77 72 69 74 65 0a 70 72 6f 74 65 63 74 73 20 74 |write.protects t| 00004dd0 68 65 20 64 69 73 63 20 65 76 65 6e 20 69 66 20 |he disc even if | 00004de0 3c 49 3e 21 41 74 74 65 72 65 72 3c 2f 49 3e 20 |<I>!Atterer</I> | 00004df0 68 61 73 20 77 72 69 74 65 20 61 63 63 65 73 73 |has write access| 00004e00 2e 0a 0a 3c 50 3e 41 6e 79 20 3c 4b 42 44 3e 2d |...<P>Any <KBD>-| 00004e10 70 61 74 68 3c 2f 4b 42 44 3e 20 73 77 69 74 63 |path</KBD> switc| 00004e20 68 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 |h appended to th| 00004e30 65 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 6f |e command will o| 00004e40 6e 6c 79 20 63 6f 6d 65 20 69 6e 74 6f 0a 65 66 |nly come into.ef| 00004e50 66 65 63 74 20 69 66 20 74 68 65 20 64 69 73 63 |fect if the disc| 00004e60 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73 | stored in the s| 00004e70 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6f |pecified directo| 00004e80 72 79 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 |ry has the same | 00004e90 6e 61 6d 65 20 61 73 20 6f 6e 65 0a 6f 66 20 74 |name as one.of t| 00004ea0 68 65 20 63 75 72 72 65 6e 74 6c 79 20 6d 6f 75 |he currently mou| 00004eb0 6e 74 65 64 20 64 69 73 63 73 2e 20 49 6e 20 74 |nted discs. In t| 00004ec0 68 69 73 20 63 61 73 65 2c 20 69 74 20 69 73 20 |his case, it is | 00004ed0 61 73 73 75 6d 65 64 20 74 68 61 74 20 74 68 65 |assumed that the| 00004ee0 20 6e 61 6d 65 20 6f 66 0a 74 68 61 74 20 64 69 | name of.that di| 00004ef0 73 63 27 73 20 73 74 6f 72 61 67 65 20 64 69 72 |sc's storage dir| 00004f00 65 63 74 6f 72 79 20 68 61 73 20 63 68 61 6e 67 |ectory has chang| 00004f10 65 64 20 28 65 2e 26 6e 62 73 70 3b 67 2e 20 62 |ed (e. g. b| 00004f20 65 63 61 75 73 65 20 79 6f 75 20 72 65 6e 61 6d |ecause you renam| 00004f30 65 64 20 61 0a 64 69 72 65 63 74 6f 72 79 20 69 |ed a.directory i| 00004f40 6e 20 74 68 65 20 70 61 74 68 29 20 61 6e 64 20 |n the path) and | 00004f50 74 68 61 74 20 72 61 46 53 20 73 68 6f 75 6c 64 |that raFS should| 00004f60 20 75 70 64 61 74 65 20 69 74 73 20 77 6f 72 6b | update its work| 00004f70 73 70 61 63 65 20 61 63 63 6f 72 64 69 6e 67 6c |space accordingl| 00004f80 79 2e 0a 3c 45 4d 3e 55 73 65 20 74 68 69 73 20 |y..<EM>Use this | 00004f90 77 69 74 68 20 63 61 72 65 21 3c 2f 45 4d 3e 20 |with care!</EM> | 00004fa0 59 6f 75 20 6d 75 73 74 6e 27 74 20 75 73 65 20 |You mustn't use | 00004fb0 74 68 69 73 20 66 65 61 74 75 72 65 20 74 6f 20 |this feature to | 00004fc0 73 65 74 20 74 68 65 20 70 61 74 68 20 74 6f 0a |set the path to.| 00004fd0 74 68 65 20 73 74 6f 72 61 67 65 20 64 69 72 65 |the storage dire| 00004fe0 63 74 6f 72 79 20 6f 66 20 61 20 64 69 66 66 65 |ctory of a diffe| 00004ff0 72 65 6e 74 20 64 69 73 63 21 0a 0a 3c 50 3e 57 |rent disc!..<P>W| 00005000 68 65 6e 20 6d 6f 75 6e 74 69 6e 67 20 64 69 73 |hen mounting dis| 00005010 63 73 20 77 69 74 68 6f 75 74 20 61 6e 20 3c 4b |cs without an <K| 00005020 42 44 3e 2d 58 3c 2f 4b 42 44 3e 20 73 77 69 74 |BD>-X</KBD> swit| 00005030 63 68 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 |ch appended to t| 00005040 68 65 0a 3c 4b 42 44 3e 4d 6f 75 6e 74 3c 2f 4b |he.<KBD>Mount</K| 00005050 42 44 3e 20 63 6f 6d 6d 61 6e 64 2c 20 72 61 46 |BD> command, raF| 00005060 53 20 6c 6f 6f 6b 73 20 66 6f 72 20 61 20 66 69 |S looks for a fi| 00005070 6c 65 20 63 61 6c 6c 65 64 20 3c 49 3e 21 4d 6f |le called <I>!Mo| 00005080 75 6e 74 3c 2f 49 3e 20 69 6e 20 74 68 65 0a 73 |unt</I> in the.s| 00005090 74 6f 72 61 67 65 20 64 69 72 65 63 74 6f 72 79 |torage directory| 000050a0 2e 20 49 66 20 74 68 65 20 66 69 6c 65 20 69 73 |. If the file is| 000050b0 20 6e 6f 74 20 70 72 65 73 65 6e 74 2c 20 74 68 | not present, th| 000050c0 65 20 64 69 73 63 20 69 73 20 6a 75 73 74 20 6d |e disc is just m| 000050d0 6f 75 6e 74 65 64 2c 20 62 75 74 0a 69 66 20 3c |ounted, but.if <| 000050e0 49 3e 21 4d 6f 75 6e 74 3c 2f 49 3e 20 69 73 20 |I>!Mount</I> is | 000050f0 66 6f 75 6e 64 2c 20 69 74 20 69 73 20 3c 4b 42 |found, it is <KB| 00005100 44 3e 52 75 6e 3c 2f 4b 42 44 3e 2e 20 41 70 61 |D>Run</KBD>. Apa| 00005110 72 74 20 66 72 6f 6d 20 74 68 61 74 2c 20 6e 6f |rt from that, no| 00005120 74 68 69 6e 67 0a 68 61 70 70 65 6e 73 3b 20 74 |thing.happens; t| 00005130 68 65 20 64 69 73 63 20 69 73 20 3c 45 4d 3e 6e |he disc is <EM>n| 00005140 6f 74 3c 2f 45 4d 3e 20 6d 6f 75 6e 74 65 64 20 |ot</EM> mounted | 00005150 69 66 20 3c 49 3e 21 4d 6f 75 6e 74 3c 2f 49 3e |if <I>!Mount</I>| 00005160 20 69 73 20 72 75 6e 2e 20 48 6f 77 65 76 65 72 | is run. However| 00005170 2c 0a 69 74 20 63 61 6e 20 62 65 20 61 6e 20 4f |,.it can be an O| 00005180 62 65 79 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e |bey file contain| 00005190 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a |ing the command.| 000051a0 22 3c 4b 42 44 3e 72 61 46 53 3a 4d 6f 75 6e 74 |"<KBD>raFS:Mount| 000051b0 26 6e 62 73 70 3b 26 6c 74 3b 4f 62 65 79 24 44 | <Obey$D| 000051c0 69 72 26 67 74 3b 26 6e 62 73 70 3b 2d 58 3c 2f |ir> -X</| 000051d0 4b 42 44 3e 22 2e 20 54 68 65 20 70 72 65 73 65 |KBD>". The prese| 000051e0 6e 63 65 20 6f 66 20 74 68 65 0a 3c 4b 42 44 3e |nce of the.<KBD>| 000051f0 2d 58 3c 2f 4b 42 44 3e 20 73 77 69 74 63 68 20 |-X</KBD> switch | 00005200 69 6e 64 69 63 61 74 65 73 20 74 6f 20 72 61 46 |indicates to raF| 00005210 53 20 74 68 61 74 20 74 68 65 20 64 69 73 63 20 |S that the disc | 00005220 73 68 6f 75 6c 64 20 62 65 20 6d 6f 75 6e 74 65 |should be mounte| 00005230 64 0a 77 69 74 68 6f 75 74 20 73 65 61 72 63 68 |d.without search| 00005240 69 6e 67 20 66 6f 72 20 3c 49 3e 21 4d 6f 75 6e |ing for <I>!Moun| 00005250 74 2e 3c 2f 49 3e 20 28 42 65 20 63 61 72 65 66 |t.</I> (Be caref| 00005260 75 6c 20 6e 6f 74 20 74 6f 20 63 72 65 61 74 65 |ul not to create| 00005270 20 61 20 6c 6f 6f 70 20 62 79 0a 66 6f 72 67 65 | a loop by.forge| 00005280 74 74 69 6e 67 20 74 6f 20 61 64 64 20 74 68 65 |tting to add the| 00005290 20 3c 4b 42 44 3e 2d 58 3c 2f 4b 42 44 3e 20 73 | <KBD>-X</KBD> s| 000052a0 77 69 74 63 68 21 29 20 57 69 74 68 20 74 68 69 |witch!) With thi| 000052b0 73 20 73 79 73 74 65 6d 2c 20 69 74 20 69 73 20 |s system, it is | 000052c0 70 6f 73 73 69 62 6c 65 0a 74 6f 20 65 78 65 63 |possible.to exec| 000052d0 75 74 65 20 2a 63 6f 6d 6d 61 6e 64 73 20 62 65 |ute *commands be| 000052e0 66 6f 72 65 20 61 6e 64 20 61 66 74 65 72 20 74 |fore and after t| 000052f0 68 65 20 64 69 73 63 20 69 73 20 6d 6f 75 6e 74 |he disc is mount| 00005300 65 64 2e 0a 0a 3c 44 54 3e 3c 4b 42 44 3e 3c 41 |ed...<DT><KBD><A| 00005310 20 4e 41 4d 45 3d 22 63 6c 69 5f 64 69 73 6d 6f | NAME="cli_dismo| 00005320 75 6e 74 22 3e 44 69 73 6d 6f 75 6e 74 3c 2f 41 |unt">Dismount</A| 00005330 3e 3c 2f 4b 42 44 3e 20 3c 49 3e 5b 26 6c 74 3b |></KBD> <I>[<| 00005340 44 69 73 63 4e 61 6d 65 26 67 74 3b 5d 3c 2f 49 |DiscName>]</I| 00005350 3e 0a 0a 3c 44 44 3e 54 68 69 73 20 63 6f 6d 6d |>..<DD>This comm| 00005360 61 6e 64 20 64 6f 65 73 20 74 68 65 20 6f 70 70 |and does the opp| 00005370 6f 73 69 74 65 20 6f 66 20 3c 4b 42 44 3e 4d 6f |osite of <KBD>Mo| 00005380 75 6e 74 3c 2f 4b 42 44 3e 2c 20 72 65 6d 6f 76 |unt</KBD>, remov| 00005390 69 6e 67 20 74 68 65 0a 73 70 65 63 69 66 69 65 |ing the.specifie| 000053a0 64 20 64 69 73 63 20 28 6f 72 20 61 6c 6c 20 6d |d disc (or all m| 000053b0 6f 75 6e 74 65 64 20 64 69 73 63 73 20 69 66 20 |ounted discs if | 000053c0 79 6f 75 20 6f 6d 69 74 20 74 68 65 20 6e 61 6d |you omit the nam| 000053d0 65 29 20 66 72 6f 6d 20 69 74 73 20 69 6e 74 65 |e) from its inte| 000053e0 72 6e 61 6c 0a 6c 69 73 74 20 61 6e 64 20 73 61 |rnal.list and sa| 000053f0 76 69 6e 67 20 61 6e 79 20 63 61 63 68 65 64 20 |ving any cached | 00005400 64 69 72 65 63 74 6f 72 79 20 64 61 74 61 2e 20 |directory data. | 00005410 44 69 73 63 73 20 6d 75 73 74 20 3c 45 4d 3e 61 |Discs must <EM>a| 00005420 6c 77 61 79 73 3c 2f 45 4d 3e 20 62 65 0a 64 69 |lways</EM> be.di| 00005430 73 6d 6f 75 6e 74 65 64 20 62 65 66 6f 72 65 20 |smounted before | 00005440 79 6f 75 20 72 65 73 65 74 20 6f 72 20 73 77 69 |you reset or swi| 00005450 74 63 68 20 6f 66 66 20 74 68 65 20 63 6f 6d 70 |tch off the comp| 00005460 75 74 65 72 2c 20 62 75 74 20 75 73 75 61 6c 6c |uter, but usuall| 00005470 79 20 79 6f 75 20 64 6f 6e 27 74 0a 6e 65 65 64 |y you don't.need| 00005480 20 74 6f 20 75 73 65 20 3c 4b 42 44 3e 44 69 73 | to use <KBD>Dis| 00005490 6d 6f 75 6e 74 3c 2f 4b 42 44 3e 20 62 65 63 61 |mount</KBD> beca| 000054a0 75 73 65 20 72 61 46 53 20 69 73 20 61 75 74 6f |use raFS is auto| 000054b0 6d 61 74 69 63 61 6c 6c 79 20 63 61 6c 6c 65 64 |matically called| 000054c0 20 77 68 65 6e 20 74 68 65 0a 64 65 73 6b 74 6f | when the.deskto| 000054d0 70 20 73 68 75 74 73 20 64 6f 77 6e 20 61 6e 64 |p shuts down and| 000054e0 20 77 68 65 6e 20 79 6f 75 20 69 73 73 75 65 20 | when you issue | 000054f0 3c 4b 42 44 3e 53 68 75 74 64 6f 77 6e 2e 3c 2f |<KBD>Shutdown.</| 00005500 4b 42 44 3e 0a 0a 3c 50 3e 4e 6f 74 65 20 74 68 |KBD>..<P>Note th| 00005510 61 74 20 69 6e 20 63 61 73 65 20 72 61 46 53 20 |at in case raFS | 00005520 69 73 20 3c 4b 42 44 3e 52 4d 4b 69 6c 6c 3c 2f |is <KBD>RMKill</| 00005530 4b 42 44 3e 65 64 2c 20 69 74 20 77 69 6c 6c 20 |KBD>ed, it will | 00005540 74 72 79 20 74 6f 20 64 69 73 6d 6f 75 6e 74 20 |try to dismount | 00005550 61 6c 6c 0a 64 69 73 63 73 2e 20 48 6f 77 65 76 |all.discs. Howev| 00005560 65 72 2c 20 61 6e 79 20 65 72 72 6f 72 73 20 77 |er, any errors w| 00005570 68 69 6c 65 20 64 6f 69 6e 67 20 74 68 69 73 20 |hile doing this | 00005580 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 2c |will be ignored,| 00005590 20 61 6e 64 20 74 68 65 20 6d 6f 64 75 6c 65 0a | and the module.| 000055a0 77 69 6c 6c 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d |will <EM>not</EM| 000055b0 3e 20 72 65 66 75 73 65 20 74 6f 20 64 69 65 2c |> refuse to die,| 000055c0 20 77 68 69 63 68 20 6d 65 61 6e 73 20 79 6f 75 | which means you| 000055d0 20 6c 6f 73 65 20 64 61 74 61 21 20 49 74 20 62 | lose data! It b| 000055e0 65 68 61 76 65 73 20 6c 69 6b 65 0a 74 68 69 73 |ehaves like.this| 000055f0 20 62 65 63 61 75 73 65 20 69 66 20 69 74 20 72 | because if it r| 00005600 65 66 75 73 65 64 20 74 6f 20 62 65 20 3c 4b 42 |efused to be <KB| 00005610 44 3e 52 4d 4b 69 6c 6c 3c 2f 4b 42 44 3e 65 64 |D>RMKill</KBD>ed| 00005620 2c 20 79 6f 75 20 77 6f 75 6c 64 20 6e 6f 74 20 |, you would not | 00005630 62 65 20 61 62 6c 65 0a 74 6f 20 72 65 6c 6f 61 |be able.to reloa| 00005640 64 20 69 74 20 75 6e 6c 65 73 73 20 79 6f 75 20 |d it unless you | 00005650 72 65 73 65 74 20 74 68 65 20 6d 61 63 68 69 6e |reset the machin| 00005660 65 2e 0a 0a 3c 50 3e 42 65 66 6f 72 65 20 61 20 |e...<P>Before a | 00005670 64 69 73 63 20 69 73 20 64 69 73 6d 6f 75 6e 74 |disc is dismount| 00005680 65 64 2c 20 72 61 46 53 20 73 65 74 73 20 74 68 |ed, raFS sets th| 00005690 65 20 73 79 73 74 65 6d 20 76 61 72 69 61 62 6c |e system variabl| 000056a0 65 20 72 61 46 53 24 44 44 69 73 63 20 74 6f 0a |e raFS$DDisc to.| 000056b0 69 74 73 20 6e 61 6d 65 20 61 6e 64 20 74 72 69 |its name and tri| 000056c0 65 73 20 74 6f 20 72 75 6e 20 61 6e 79 20 66 69 |es to run any fi| 000056d0 6c 65 20 63 61 6c 6c 65 64 20 3c 49 3e 21 44 69 |le called <I>!Di| 000056e0 73 6d 6f 75 6e 74 3c 2f 49 3e 20 72 65 73 69 64 |smount</I> resid| 000056f0 69 6e 67 20 69 6e 20 74 68 65 0a 73 74 6f 72 61 |ing in the.stora| 00005700 67 65 20 64 69 72 65 63 74 6f 72 79 2e 20 49 66 |ge directory. If| 00005710 20 65 72 72 6f 72 73 20 6f 63 63 75 72 20 64 75 | errors occur du| 00005720 72 69 6e 67 20 69 74 73 20 65 78 65 63 75 74 69 |ring its executi| 00005730 6f 6e 2c 20 74 68 65 79 20 61 72 65 20 69 67 6e |on, they are ign| 00005740 6f 72 65 64 3b 0a 74 68 65 20 64 69 73 63 20 69 |ored;.the disc i| 00005750 73 20 61 6c 77 61 79 73 20 64 69 73 6d 6f 75 6e |s always dismoun| 00005760 74 65 64 2e 20 59 6f 75 20 6d 75 73 74 20 6e 6f |ted. You must no| 00005770 74 20 64 69 73 6d 6f 75 6e 74 20 72 61 46 53 20 |t dismount raFS | 00005780 64 69 73 63 73 20 69 6e 20 61 0a 3c 49 3e 21 44 |discs in a.<I>!D| 00005790 69 73 6d 6f 75 6e 74 3c 2f 49 3e 20 66 69 6c 65 |ismount</I> file| 000057a0 2e 20 57 68 65 6e 20 74 68 65 20 6d 6f 64 75 6c |. When the modul| 000057b0 65 20 69 73 20 3c 4b 42 44 3e 52 4d 4b 69 6c 6c |e is <KBD>RMKill| 000057c0 3c 2f 4b 42 44 3e 65 64 2c 20 74 68 65 0a 3c 49 |</KBD>ed, the.<I| 000057d0 3e 21 44 69 73 6d 6f 75 6e 74 3c 2f 49 3e 20 66 |>!Dismount</I> f| 000057e0 69 6c 65 73 20 61 72 65 20 3c 45 4d 3e 6e 6f 74 |iles are <EM>not| 000057f0 3c 2f 45 4d 3e 20 65 78 65 63 75 74 65 64 2e 0a |</EM> executed..| 00005800 0a 3c 44 54 3e 3c 4b 42 44 3e 3c 41 20 4e 41 4d |.<DT><KBD><A NAM| 00005810 45 3d 22 63 6c 69 5f 6e 61 6d 65 22 3e 4e 61 6d |E="cli_name">Nam| 00005820 65 44 69 73 63 3c 2f 41 3e 3c 2f 4b 42 44 3e 20 |eDisc</A></KBD> | 00005830 3c 49 3e 26 6c 74 3b 4f 6c 64 44 69 73 63 4e 61 |<I><OldDiscNa| 00005840 6d 65 26 67 74 3b 0a 26 6c 74 3b 4e 65 77 44 69 |me>.<NewDi| 00005850 73 63 4e 61 6d 65 26 67 74 3b 3c 2f 49 3e 0a 0a |scName></I>..| 00005860 3c 44 44 3e 54 68 69 73 20 63 6f 6d 6d 61 6e 64 |<DD>This command| 00005870 20 28 6f 72 20 61 6c 73 6f 20 3c 4b 42 44 3e 4e | (or also <KBD>N| 00005880 61 6d 65 44 69 73 6b 3c 2f 4b 42 44 3e 29 20 69 |ameDisk</KBD>) i| 00005890 73 20 75 73 65 64 20 74 6f 20 63 68 61 6e 67 65 |s used to change| 000058a0 20 74 68 65 20 6e 61 6d 65 20 6f 66 0a 61 20 64 | the name of.a d| 000058b0 69 73 63 2e 20 4f 62 76 69 6f 75 73 6c 79 2c 20 |isc. Obviously, | 000058c0 74 68 65 20 64 69 73 63 20 6d 75 73 74 20 68 61 |the disc must ha| 000058d0 76 65 20 62 65 65 6e 20 6d 6f 75 6e 74 65 64 20 |ve been mounted | 000058e0 66 6f 72 20 69 74 20 74 6f 20 77 6f 72 6b 2e 0a |for it to work..| 000058f0 0a 3c 44 54 3e 3c 4b 42 44 3e 3c 41 20 4e 41 4d |.<DT><KBD><A NAM| 00005900 45 3d 22 63 6c 69 5f 66 72 65 65 22 3e 46 72 65 |E="cli_free">Fre| 00005910 65 3c 2f 41 3e 3c 2f 4b 42 44 3e 0a 0a 3c 44 44 |e</A></KBD>..<DD| 00005920 3e 54 68 65 20 3c 4b 42 44 3e 46 72 65 65 3c 2f |>The <KBD>Free</| 00005930 4b 42 44 3e 20 63 6f 6d 6d 61 6e 64 20 69 73 20 |KBD> command is | 00005940 6a 75 73 74 20 70 61 73 73 65 64 20 6f 6e 20 74 |just passed on t| 00005950 6f 20 74 68 65 20 68 6f 73 74 20 66 69 6c 69 6e |o the host filin| 00005960 67 20 73 79 73 74 65 6d 0a 74 68 61 74 20 74 68 |g system.that th| 00005970 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 |e currently sele| 00005980 63 74 65 64 20 72 61 46 53 20 64 69 72 65 63 74 |cted raFS direct| 00005990 6f 72 79 20 69 73 20 73 74 6f 72 65 64 20 6f 6e |ory is stored on| 000059a0 2c 20 65 2e 26 6e 62 73 70 3b 67 2e 20 69 66 20 |, e. g. if | 000059b0 74 68 65 0a 64 69 73 63 20 69 73 20 6f 6e 20 41 |the.disc is on A| 000059c0 44 46 53 2c 20 3c 4b 42 44 3e 41 44 46 53 3a 46 |DFS, <KBD>ADFS:F| 000059d0 72 65 65 3c 2f 4b 42 44 3e 20 77 69 6c 6c 20 62 |ree</KBD> will b| 000059e0 65 20 65 78 65 63 75 74 65 64 2e 0a 0a 3c 44 54 |e executed...<DT| 000059f0 3e 3c 4b 42 44 3e 3c 41 20 4e 41 4d 45 3d 22 63 |><KBD><A NAME="c| 00005a00 6c 69 5f 75 6e 73 61 66 65 22 3e 72 61 46 53 5f |li_unsafe">raFS_| 00005a10 55 6e 73 61 66 65 3c 2f 41 3e 3c 2f 4b 42 44 3e |Unsafe</A></KBD>| 00005a20 0a 0a 3c 44 44 3e 42 79 20 64 65 66 61 75 6c 74 |..<DD>By default| 00005a30 2c 20 72 61 46 53 20 6f 6e 6c 79 20 73 61 76 65 |, raFS only save| 00005a40 73 20 63 68 61 6e 67 65 64 20 64 69 72 65 63 74 |s changed direct| 00005a50 6f 72 79 20 64 61 74 61 20 74 6f 20 74 68 65 20 |ory data to the | 00005a60 68 6f 73 74 20 66 69 6c 69 6e 67 0a 73 79 73 74 |host filing.syst| 00005a70 65 6d 20 61 66 74 65 72 20 61 20 64 65 6c 61 79 |em after a delay| 00005a80 2e 20 55 73 75 61 6c 6c 79 2c 20 74 68 69 73 20 |. Usually, this | 00005a90 69 73 20 64 65 73 69 72 61 62 6c 65 20 62 65 63 |is desirable bec| 00005aa0 61 75 73 65 20 69 74 20 69 73 20 66 61 73 74 65 |ause it is faste| 00005ab0 72 2c 20 62 75 74 0a 73 6f 6d 65 74 69 6d 65 73 |r, but.sometimes| 00005ac0 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f | you may want to| 00005ad0 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 73 77 69 | temporarily swi| 00005ae0 74 63 68 20 6f 6e 20 77 72 69 74 65 2d 74 68 72 |tch on write-thr| 00005af0 6f 75 67 68 20 6f 66 20 74 68 65 20 63 61 63 68 |ough of the cach| 00005b00 65 2c 0a 73 6f 20 61 6e 79 20 63 68 61 6e 67 65 |e,.so any change| 00005b10 73 20 61 72 65 20 73 61 76 65 64 20 69 6d 6d 65 |s are saved imme| 00005b20 64 69 61 74 65 6c 79 2e 20 49 6e 73 74 65 61 64 |diately. Instead| 00005b30 20 6f 66 0a 3c 4b 42 44 3e 72 61 46 53 5f 4f 70 | of.<KBD>raFS_Op| 00005b40 74 26 6e 62 73 70 3b 2d 64 64 26 6e 62 73 70 3b |t -dd | 00005b50 31 3c 2f 4b 42 44 3e 2c 20 79 6f 75 20 63 61 6e |1</KBD>, you can| 00005b60 20 61 6c 73 6f 20 73 77 69 74 63 68 20 6f 6e 20 | also switch on | 00005b70 77 72 69 74 65 2d 74 68 72 6f 75 67 68 0a 77 69 |write-through.wi| 00005b80 74 68 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 2e |th this command.| 00005b90 0a 0a 3c 44 54 3e 3c 4b 42 44 3e 3c 41 20 4e 41 |..<DT><KBD><A NA| 00005ba0 4d 45 3d 22 63 6c 69 5f 73 61 66 65 22 3e 72 61 |ME="cli_safe">ra| 00005bb0 46 53 5f 53 61 66 65 3c 2f 41 3e 3c 2f 4b 42 44 |FS_Safe</A></KBD| 00005bc0 3e 0a 3c 49 3e 5b 3c 2f 49 3e 3c 4b 42 44 3e 2d |>.<I>[</I><KBD>-| 00005bd0 73 6d 61 73 68 3c 2f 4b 42 44 3e 3c 49 3e 5d 3c |smash</KBD><I>]<| 00005be0 2f 49 3e 0a 0a 3c 44 44 3e 54 68 69 73 20 64 6f |/I>..<DD>This do| 00005bf0 65 73 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 |es the opposite | 00005c00 6f 66 20 3c 4b 42 44 3e 72 61 46 53 5f 55 6e 73 |of <KBD>raFS_Uns| 00005c10 61 66 65 3c 2f 4b 42 44 3e 2c 20 72 65 2d 65 6e |afe</KBD>, re-en| 00005c20 61 62 6c 69 6e 67 20 74 68 65 20 63 68 6f 73 65 |abling the chose| 00005c30 6e 0a 64 65 6c 61 79 20 76 61 6c 75 65 73 20 66 |n.delay values f| 00005c40 6f 72 20 73 61 76 69 6e 67 20 64 69 72 65 63 74 |or saving direct| 00005c50 6f 72 79 20 63 61 63 68 65 20 63 6f 6e 74 65 6e |ory cache conten| 00005c60 74 73 2e 20 4e 6f 74 65 20 74 68 61 74 20 61 6e |ts. Note that an| 00005c70 20 69 6e 74 65 72 6e 61 6c 0a 63 6f 75 6e 74 65 | internal.counte| 00005c80 72 20 69 73 20 6b 65 70 74 2c 20 77 68 69 63 68 |r is kept, which| 00005c90 20 6d 65 61 6e 73 20 74 68 61 74 20 69 6e 20 6f | means that in o| 00005ca0 72 64 65 72 20 74 6f 20 64 69 73 61 62 6c 65 20 |rder to disable | 00005cb0 77 72 69 74 65 2d 74 68 72 6f 75 67 68 20 61 66 |write-through af| 00005cc0 74 65 72 0a 69 73 73 75 69 6e 67 20 3c 4b 42 44 |ter.issuing <KBD| 00005cd0 3e 72 61 46 53 5f 55 6e 73 61 66 65 3c 2f 4b 42 |>raFS_Unsafe</KB| 00005ce0 44 3e 20 74 77 69 63 65 2c 20 79 6f 75 20 77 6f |D> twice, you wo| 00005cf0 75 6c 64 20 61 6c 73 6f 20 68 61 76 65 20 74 6f |uld also have to| 00005d00 20 65 78 65 63 75 74 65 0a 3c 4b 42 44 3e 72 61 | execute.<KBD>ra| 00005d10 46 53 5f 53 61 66 65 3c 2f 4b 42 44 3e 20 74 77 |FS_Safe</KBD> tw| 00005d20 69 63 65 2e 20 28 41 66 74 65 72 20 74 68 61 74 |ice. (After that| 00005d30 2c 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c |, any additional| 00005d40 20 3c 4b 42 44 3e 72 61 46 53 5f 53 61 66 65 3c | <KBD>raFS_Safe<| 00005d50 2f 4b 42 44 3e 0a 77 69 6c 6c 20 68 61 76 65 20 |/KBD>.will have | 00005d60 6e 6f 20 65 66 66 65 63 74 2e 29 20 49 66 20 74 |no effect.) If t| 00005d70 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 3c 4b 42 |he number of <KB| 00005d80 44 3e 72 61 46 53 5f 55 6e 73 61 66 65 3c 2f 4b |D>raFS_Unsafe</K| 00005d90 42 44 3e 20 63 6f 6d 6d 61 6e 64 73 20 69 73 0a |BD> commands is.| 00005da0 75 6e 6b 6e 6f 77 6e 2c 20 79 6f 75 20 63 61 6e |unknown, you can| 00005db0 20 75 73 65 20 3c 4b 42 44 3e 72 61 46 53 5f 53 | use <KBD>raFS_S| 00005dc0 61 66 65 26 6e 62 73 70 3b 2d 73 6d 61 73 68 3c |afe -smash<| 00005dd0 2f 4b 42 44 3e 20 74 6f 20 64 69 73 61 62 6c 65 |/KBD> to disable| 00005de0 0a 77 72 69 74 65 2d 74 68 72 6f 75 67 68 20 69 |.write-through i| 00005df0 6d 6d 65 64 69 61 74 65 6c 79 2e 0a 0a 3c 50 3e |mmediately...<P>| 00005e00 3c 4b 42 44 3e 72 61 46 53 5f 55 6e 73 61 66 65 |<KBD>raFS_Unsafe| 00005e10 3c 2f 4b 42 44 3e 20 61 6e 64 20 3c 4b 42 44 3e |</KBD> and <KBD>| 00005e20 72 61 46 53 5f 53 61 66 65 3c 2f 4b 42 44 3e 20 |raFS_Safe</KBD> | 00005e30 63 61 6e 20 62 65 20 61 64 64 65 64 20 74 6f 20 |can be added to | 00005e40 61 20 57 69 6d 70 0a 61 70 70 6c 69 63 61 74 69 |a Wimp.applicati| 00005e50 6f 6e 27 73 20 21 52 75 6e 20 66 69 6c 65 20 69 |on's !Run file i| 00005e60 66 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f |f the applicatio| 00005e70 6e 20 74 65 6e 64 73 20 74 6f 20 63 72 61 73 68 |n tends to crash| 00005e80 20 74 68 65 20 63 6f 6d 70 75 74 65 72 2c 20 69 | the computer, i| 00005e90 6e 0a 73 75 63 68 20 61 20 77 61 79 20 74 68 61 |n.such a way tha| 00005ea0 74 20 77 72 69 74 65 2d 74 68 72 6f 75 67 68 20 |t write-through | 00005eb0 69 73 20 64 69 73 61 62 6c 65 64 20 6f 6e 63 65 |is disabled once| 00005ec0 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e | the application| 00005ed0 20 69 73 20 71 75 69 74 3a 0a 0a 3c 50 3e 3c 49 | is quit:..<P><I| 00005ee0 3e 6f 74 68 65 72 20 63 6f 6d 6d 61 6e 64 73 2c |>other commands,| 00005ef0 20 65 2e 26 6e 62 73 70 3b 67 2e 20 57 69 6d 70 | e. g. Wimp| 00005f00 53 6c 6f 74 2c 20 49 63 6f 6e 53 70 72 69 74 65 |Slot, IconSprite| 00005f10 73 20 65 74 63 2e 3c 2f 49 3e 0a 3c 42 52 3e 3c |s etc.</I>.<BR><| 00005f20 43 4f 44 45 3e 72 61 46 53 5f 55 6e 73 61 66 65 |CODE>raFS_Unsafe| 00005f30 3c 2f 43 4f 44 45 3e 0a 3c 42 52 3e 3c 43 4f 44 |</CODE>.<BR><COD| 00005f40 45 3e 52 75 6e 20 26 6c 74 3b 3c 2f 43 4f 44 45 |E>Run <</CODE| 00005f50 3e 3c 49 3e 41 70 70 3c 2f 49 3e 3c 43 4f 44 45 |><I>App</I><CODE| 00005f60 3e 24 44 69 72 26 67 74 3b 2e 21 52 75 6e 49 6d |>$Dir>.!RunIm| 00005f70 61 67 65 20 25 2a 30 3c 2f 43 4f 44 45 3e 0a 3c |age %*0</CODE>.<| 00005f80 42 52 3e 3c 43 4f 44 45 3e 72 61 46 53 5f 53 61 |BR><CODE>raFS_Sa| 00005f90 66 65 3c 2f 43 4f 44 45 3e 0a 0a 3c 44 54 3e 3c |fe</CODE>..<DT><| 00005fa0 4b 42 44 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c 69 |KBD><A NAME="cli| 00005fb0 5f 6f 70 74 22 3e 72 61 46 53 5f 4f 70 74 3c 2f |_opt">raFS_Opt</| 00005fc0 41 3e 3c 2f 4b 42 44 3e 20 3c 49 3e 5b 3c 2f 49 |A></KBD> <I>[</I| 00005fd0 3e 3c 4b 42 44 3e 2d 44 69 72 43 61 63 68 65 3c |><KBD>-DirCache<| 00005fe0 2f 4b 42 44 3e 0a 3c 49 3e 26 6c 74 3b 6b 42 26 |/KBD>.<I><kB&| 00005ff0 67 74 3b 5d 3c 2f 49 3e 20 3c 49 3e 5b 3c 2f 49 |gt;]</I> <I>[</I| 00006000 3e 3c 4b 42 44 3e 2d 44 69 72 73 61 76 65 44 65 |><KBD>-DirsaveDe| 00006010 6c 61 79 3c 2f 4b 42 44 3e 20 3c 49 3e 26 6c 74 |lay</KBD> <I><| 00006020 3b 63 73 26 67 74 3b 5d 3c 2f 49 3e 0a 3c 49 3e |;cs>]</I>.<I>| 00006030 5b 3c 2f 49 3e 3c 4b 42 44 3e 2d 44 69 72 73 61 |[</I><KBD>-Dirsa| 00006040 76 65 4d 6f 64 73 3c 2f 4b 42 44 3e 20 3c 49 3e |veMods</KBD> <I>| 00006050 26 6c 74 3b 6e 72 26 67 74 3b 5d 3c 2f 49 3e 20 |<nr>]</I> | 00006060 3c 49 3e 5b 3c 2f 49 3e 3c 4b 42 44 3e 2d 44 69 |<I>[</I><KBD>-Di| 00006070 72 55 70 63 61 6c 6c 0a 30 7c 31 3c 2f 4b 42 44 |rUpcall.0|1</KBD| 00006080 3e 3c 49 3e 5d 20 5b 3c 2f 49 3e 3c 4b 42 44 3e |><I>] [</I><KBD>| 00006090 2d 4c 6f 61 64 4d 65 73 73 61 67 65 73 3c 2f 4b |-LoadMessages</K| 000060a0 42 44 3e 20 3c 49 3e 26 6c 74 3b 6e 61 6d 65 26 |BD> <I><name&| 000060b0 67 74 3b 5d 3c 2f 49 3e 0a 0a 3c 44 44 3e 54 68 |gt;]</I>..<DD>Th| 000060c0 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 75 73 |is command is us| 000060d0 65 64 20 74 6f 20 69 6e 66 6c 75 65 6e 63 65 20 |ed to influence | 000060e0 76 61 72 69 6f 75 73 20 6d 69 73 63 65 6c 6c 61 |various miscella| 000060f0 6e 65 6f 75 73 20 61 73 70 65 63 74 73 20 6f 66 |neous aspects of| 00006100 20 72 61 46 53 27 0a 62 65 68 61 76 69 6f 75 72 | raFS'.behaviour| 00006110 2c 20 6f 72 20 74 6f 20 6f 75 74 70 75 74 20 74 |, or to output t| 00006120 68 65 20 63 75 72 72 65 6e 74 20 73 65 74 74 69 |he current setti| 00006130 6e 67 73 20 69 66 20 6e 6f 20 70 61 72 61 6d 65 |ngs if no parame| 00006140 74 65 72 73 20 61 72 65 20 67 69 76 65 6e 2e 20 |ters are given. | 00006150 45 61 63 68 0a 6f 66 20 74 68 65 20 6f 70 74 69 |Each.of the opti| 00006160 6f 6e 61 6c 20 6b 65 79 77 6f 72 64 73 20 69 73 |onal keywords is| 00006170 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 76 | followed by a v| 00006180 61 6c 75 65 2c 20 69 6e 20 73 6f 6d 65 20 63 61 |alue, in some ca| 00006190 73 65 73 20 6a 75 73 74 0a 3c 4b 42 44 3e 30 3c |ses just.<KBD>0<| 000061a0 2f 4b 42 44 3e 20 6f 72 20 3c 4b 42 44 3e 31 3c |/KBD> or <KBD>1<| 000061b0 2f 4b 42 44 3e 20 74 6f 20 73 77 69 74 63 68 20 |/KBD> to switch | 000061c0 6f 6e 20 61 6e 64 20 6f 66 66 2e 20 54 68 65 20 |on and off. The | 000061d0 6b 65 79 77 6f 72 64 73 20 63 61 6e 20 62 65 0a |keywords can be.| 000061e0 61 62 62 72 65 76 69 61 74 65 64 20 74 6f 20 74 |abbreviated to t| 000061f0 68 65 20 63 68 61 72 61 63 74 65 72 73 20 77 72 |he characters wr| 00006200 69 74 74 65 6e 20 69 6e 20 75 70 70 65 72 63 61 |itten in upperca| 00006210 73 65 2c 20 65 2e 26 6e 62 73 70 3b 67 2e 20 3c |se, e. g. <| 00006220 4b 42 44 3e 2d 64 63 3c 2f 4b 42 44 3e 0a 69 6e |KBD>-dc</KBD>.in| 00006230 73 74 65 61 64 20 6f 66 20 3c 4b 42 44 3e 2d 44 |stead of <KBD>-D| 00006240 69 72 43 61 63 68 65 2e 3c 2f 4b 42 44 3e 20 48 |irCache.</KBD> H| 00006250 6f 77 65 76 65 72 2c 20 63 61 73 65 20 64 6f 65 |owever, case doe| 00006260 73 6e 27 74 20 6d 61 74 74 65 72 20 6f 6e 20 74 |sn't matter on t| 00006270 68 65 20 63 6f 6d 6d 61 6e 64 0a 6c 69 6e 65 3b |he command.line;| 00006280 20 3c 4b 42 44 3e 2d 64 69 72 63 61 63 68 65 3c | <KBD>-dircache<| 00006290 2f 4b 42 44 3e 20 6f 72 20 3c 4b 42 44 3e 2d 64 |/KBD> or <KBD>-d| 000062a0 43 3c 2f 4b 42 44 3e 20 61 72 65 20 74 68 65 20 |C</KBD> are the | 000062b0 73 61 6d 65 20 61 73 0a 3c 4b 42 44 3e 2d 44 69 |same as.<KBD>-Di| 000062c0 72 43 61 63 68 65 2e 3c 2f 4b 42 44 3e 0a 0a 3c |rCache.</KBD>..<| 000062d0 50 3e 43 75 72 72 65 6e 74 6c 79 2c 20 74 68 65 |P>Currently, the| 000062e0 20 66 6f 6c 6c 6f 77 69 6e 67 20 6b 65 79 77 6f | following keywo| 000062f0 72 64 73 20 68 61 76 65 20 61 6e 20 65 66 66 65 |rds have an effe| 00006300 63 74 3a 0a 0a 3c 55 4c 3e 0a 0a 3c 4c 49 3e 3c |ct:..<UL>..<LI><| 00006310 41 20 4e 41 4d 45 3d 22 63 6c 69 5f 6f 70 74 64 |A NAME="cli_optd| 00006320 63 22 3e 3c 4b 42 44 3e 2d 44 69 72 43 61 63 68 |c"><KBD>-DirCach| 00006330 65 3c 2f 4b 42 44 3e 3c 2f 41 3e 20 3c 49 3e 26 |e</KBD></A> <I>&| 00006340 6c 74 3b 6b 42 79 74 65 73 26 67 74 3b 3c 2f 49 |lt;kBytes></I| 00006350 3e 0a 73 65 6c 65 63 74 73 20 74 68 65 20 61 6d |>.selects the am| 00006360 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 74 |ount of memory t| 00006370 68 61 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 |hat will be used| 00006380 20 66 6f 72 20 63 61 63 68 65 69 6e 67 20 64 69 | for cacheing di| 00006390 72 65 63 74 6f 72 79 0a 69 6e 66 6f 72 6d 61 74 |rectory.informat| 000063a0 69 6f 6e 2e 20 54 68 65 72 65 20 69 73 20 6f 6e |ion. There is on| 000063b0 65 20 64 69 72 65 63 74 6f 72 79 20 63 61 63 68 |e directory cach| 000063c0 65 20 66 6f 72 20 61 6c 6c 20 64 69 73 63 73 2e |e for all discs.| 000063d0 20 59 6f 75 20 63 61 6e 20 73 77 69 74 63 68 0a | You can switch.| 000063e0 64 69 72 65 63 74 6f 72 79 20 63 61 63 68 65 69 |directory cachei| 000063f0 6e 67 20 6f 66 66 20 63 6f 6d 70 6c 65 74 65 6c |ng off completel| 00006400 79 20 62 79 20 73 70 65 63 69 66 79 69 6e 67 20 |y by specifying | 00006410 3c 4b 42 44 3e 2d 44 69 72 43 61 63 68 65 26 6e |<KBD>-DirCache&n| 00006420 62 73 70 3b 30 3c 2f 4b 42 44 3e 2c 0a 62 75 74 |bsp;0</KBD>,.but| 00006430 20 74 68 69 73 20 6d 61 6b 65 73 20 72 61 46 53 | this makes raFS| 00006440 20 3c 45 4d 3e 76 65 72 79 3c 2f 45 4d 3e 20 73 | <EM>very</EM> s| 00006450 6c 6f 77 2e 20 54 68 65 20 72 65 63 6f 6d 6d 65 |low. The recomme| 00006460 6e 64 65 64 20 6d 69 6e 69 6d 75 6d 20 66 6f 72 |nded minimum for| 00006470 20 74 68 65 20 63 61 63 68 65 0a 73 69 7a 65 20 | the cache.size | 00006480 69 73 20 31 36 6b 20 2d 20 77 68 65 6e 20 74 68 |is 16k - when th| 00006490 65 20 66 69 6c 69 6e 67 20 73 79 73 74 65 6d 20 |e filing system | 000064a0 6d 6f 64 75 6c 65 20 69 73 20 6c 6f 61 64 65 64 |module is loaded| 000064b0 2c 20 74 68 65 20 76 61 6c 75 65 20 64 65 66 61 |, the value defa| 000064c0 75 6c 74 73 20 74 6f 0a 33 30 6b 2e 0a 0a 3c 4c |ults to.30k...<L| 000064d0 49 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c 69 5f 6f |I><A NAME="cli_o| 000064e0 70 74 64 64 22 3e 3c 4b 42 44 3e 2d 44 69 72 73 |ptdd"><KBD>-Dirs| 000064f0 61 76 65 44 65 6c 61 79 3c 2f 4b 42 44 3e 3c 2f |aveDelay</KBD></| 00006500 41 3e 0a 3c 49 3e 26 6c 74 3b 63 65 6e 74 69 73 |A>.<I><centis| 00006510 65 63 6f 6e 64 73 26 67 74 3b 3c 2f 49 3e 20 73 |econds></I> s| 00006520 65 74 73 20 74 68 65 20 64 65 6c 61 79 20 62 65 |ets the delay be| 00006530 74 77 65 65 6e 20 74 68 65 20 6c 61 73 74 20 63 |tween the last c| 00006540 68 61 6e 67 65 20 74 6f 20 61 0a 64 69 72 65 63 |hange to a.direc| 00006550 74 6f 72 79 20 61 6e 64 20 74 68 65 20 6d 6f 6d |tory and the mom| 00006560 65 6e 74 20 69 74 20 69 73 20 73 61 76 65 64 20 |ent it is saved | 00006570 74 6f 20 74 68 65 20 68 6f 73 74 20 66 69 6c 69 |to the host fili| 00006580 6e 67 20 73 79 73 74 65 6d 2e 20 53 75 70 70 6c |ng system. Suppl| 00006590 79 69 6e 67 20 61 0a 76 61 6c 75 65 20 6f 66 20 |ying a.value of | 000065a0 3c 4b 42 44 3e 30 3c 2f 4b 42 44 3e 20 63 61 75 |<KBD>0</KBD> cau| 000065b0 73 65 73 20 6e 6f 20 61 75 74 6f 6d 61 74 69 63 |ses no automatic| 000065c0 20 73 61 76 69 6e 67 20 77 68 65 72 65 61 73 20 | saving whereas | 000065d0 61 20 76 61 6c 75 65 20 6f 66 0a 3c 4b 42 44 3e |a value of.<KBD>| 000065e0 31 3c 2f 4b 42 44 3e 20 6d 61 6b 65 73 20 72 61 |1</KBD> makes ra| 000065f0 46 53 20 73 61 76 65 20 69 6d 6d 65 64 69 61 74 |FS save immediat| 00006600 65 6c 79 20 61 66 74 65 72 20 65 61 63 68 20 63 |ely after each c| 00006610 68 61 6e 67 65 2e 20 54 68 65 20 64 65 66 61 75 |hange. The defau| 00006620 6c 74 20 76 61 6c 75 65 0a 69 73 20 35 30 30 20 |lt value.is 500 | 00006630 2d 20 66 69 76 65 20 73 65 63 6f 6e 64 73 2e 0a |- five seconds..| 00006640 0a 3c 50 3e 49 66 20 62 6f 74 68 20 74 68 69 73 |.<P>If both this| 00006650 20 61 6e 64 20 3c 4b 42 44 3e 2d 44 69 72 73 61 | and <KBD>-Dirsa| 00006660 76 65 4d 6f 64 73 3c 2f 4b 42 44 3e 20 62 65 6c |veMods</KBD> bel| 00006670 6f 77 20 61 72 65 20 65 6e 61 62 6c 65 64 20 61 |ow are enabled a| 00006680 74 20 74 68 65 20 73 61 6d 65 0a 74 69 6d 65 2c |t the same.time,| 00006690 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 77 | the directory w| 000066a0 69 6c 6c 20 62 65 20 73 61 76 65 64 20 77 68 65 |ill be saved whe| 000066b0 6e 20 74 68 65 20 64 65 6c 61 79 20 6f 72 20 74 |n the delay or t| 000066c0 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 |he number of cha| 000066d0 6e 67 65 73 20 69 73 0a 72 65 61 63 68 65 64 2c |nges is.reached,| 000066e0 20 77 68 69 63 68 65 76 65 72 20 63 6f 6d 65 73 | whichever comes| 000066f0 20 66 69 72 73 74 2e 0a 0a 3c 4c 49 3e 3c 41 20 | first...<LI><A | 00006700 4e 41 4d 45 3d 22 63 6c 69 5f 6f 70 74 64 6d 22 |NAME="cli_optdm"| 00006710 3e 3c 4b 42 44 3e 2d 44 69 72 73 61 76 65 4d 6f |><KBD>-DirsaveMo| 00006720 64 73 3c 2f 4b 42 44 3e 3c 2f 41 3e 20 3c 49 3e |ds</KBD></A> <I>| 00006730 26 6c 74 3b 6e 75 6d 62 65 72 26 67 74 3b 3c 2f |<number></| 00006740 49 3e 0a 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f |I>.allows you to| 00006750 20 73 70 65 63 69 66 79 20 74 68 65 20 6e 75 6d | specify the num| 00006760 62 65 72 20 6f 66 20 63 68 61 6e 67 65 73 20 61 |ber of changes a| 00006770 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 6d 61 64 |llowed to be mad| 00006780 65 20 74 6f 20 61 20 62 75 66 66 65 72 65 64 0a |e to a buffered.| 00006790 64 69 72 65 63 74 6f 72 79 20 62 65 66 6f 72 65 |directory before| 000067a0 20 69 74 20 6d 75 73 74 20 62 65 20 73 61 76 65 | it must be save| 000067b0 64 20 74 6f 20 74 68 65 20 68 6f 73 74 20 66 69 |d to the host fi| 000067c0 6c 69 6e 67 20 73 79 73 74 65 6d 2e 20 46 6f 72 |ling system. For| 000067d0 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 0a 79 6f | instance, if.yo| 000067e0 75 20 77 61 6e 74 20 74 6f 20 68 61 76 65 20 74 |u want to have t| 000067f0 68 65 20 64 69 72 65 63 74 6f 72 79 20 73 61 76 |he directory sav| 00006800 65 64 20 61 66 74 65 72 20 65 76 65 72 79 20 35 |ed after every 5| 00006810 20 66 69 6c 65 73 0a 77 72 69 74 74 65 6e 2f 64 | files.written/d| 00006820 65 6c 65 74 65 64 2f 72 65 6e 61 6d 65 64 2c 20 |eleted/renamed, | 00006830 75 73 65 20 3c 4b 42 44 3e 2d 44 69 72 73 61 76 |use <KBD>-Dirsav| 00006840 65 4d 6f 64 73 26 6e 62 73 70 3b 35 3c 2f 4b 42 |eMods 5</KB| 00006850 44 3e 2e 20 41 67 61 69 6e 2c 20 73 75 70 70 6c |D>. Again, suppl| 00006860 79 69 6e 67 0a 61 20 76 61 6c 75 65 20 6f 66 20 |ying.a value of | 00006870 3c 4b 42 44 3e 30 3c 2f 4b 42 44 3e 20 73 77 69 |<KBD>0</KBD> swi| 00006880 74 63 68 65 73 20 74 68 65 20 63 6f 75 6e 74 69 |tches the counti| 00006890 6e 67 20 6f 66 66 20 61 6e 64 20 61 20 76 61 6c |ng off and a val| 000068a0 75 65 20 6f 66 20 3c 4b 42 44 3e 31 3c 2f 4b 42 |ue of <KBD>1</KB| 000068b0 44 3e 0a 66 6f 72 63 65 73 20 69 6d 6d 65 64 69 |D>.forces immedi| 000068c0 61 74 65 20 77 72 69 74 65 2d 74 68 72 6f 75 67 |ate write-throug| 000068d0 68 2e 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 66 |h. The maximum f| 000068e0 6f 72 20 74 68 69 73 20 76 61 6c 75 65 20 69 73 |or this value is| 000068f0 20 32 35 35 2c 20 74 68 65 0a 64 65 66 61 75 6c | 255, the.defaul| 00006900 74 20 69 73 20 31 30 2e 0a 0a 3c 50 3e 57 68 65 |t is 10...<P>Whe| 00006910 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 |n the number of | 00006920 63 68 61 6e 67 65 73 20 69 73 20 63 6f 75 6e 74 |changes is count| 00006930 65 64 2c 20 73 74 61 6d 70 69 6e 67 20 6f 66 20 |ed, stamping of | 00006940 66 69 6c 65 73 2c 20 63 68 61 6e 67 69 6e 67 20 |files, changing | 00006950 74 68 65 69 72 0a 61 63 63 65 73 73 20 64 65 74 |their.access det| 00006960 61 69 6c 73 20 6f 72 20 63 6c 6f 73 69 6e 67 20 |ails or closing | 00006970 6f 70 65 6e 20 66 69 6c 65 73 20 69 73 20 6e 6f |open files is no| 00006980 74 20 74 61 6b 65 6e 20 69 6e 74 6f 20 61 63 63 |t taken into acc| 00006990 6f 75 6e 74 2e 20 54 68 69 73 20 69 73 0a 6e 65 |ount. This is.ne| 000069a0 63 65 73 73 61 72 79 20 74 6f 20 65 6e 73 75 72 |cessary to ensur| 000069b0 65 20 61 20 46 69 6c 65 72 20 63 6f 70 79 20 6f |e a Filer copy o| 000069c0 70 65 72 61 74 69 6f 6e 20 6f 6e 6c 79 20 69 6e |peration only in| 000069d0 63 72 65 61 73 65 73 20 74 68 65 20 63 6f 75 6e |creases the coun| 000069e0 74 20 62 79 20 31 2e 0a 0a 3c 4c 49 3e 3c 41 20 |t by 1...<LI><A | 000069f0 4e 41 4d 45 3d 22 63 6c 69 5f 6f 70 74 64 75 22 |NAME="cli_optdu"| 00006a00 3e 3c 4b 42 44 3e 2d 44 69 72 55 70 63 61 6c 6c |><KBD>-DirUpcall| 00006a10 3c 2f 4b 42 44 3e 3c 2f 41 3e 20 66 6f 6c 6c 6f |</KBD></A> follo| 00006a20 77 65 64 20 62 79 20 3c 4b 42 44 3e 30 3c 2f 4b |wed by <KBD>0</K| 00006a30 42 44 3e 20 6f 72 0a 3c 4b 42 44 3e 31 3c 2f 4b |BD> or.<KBD>1</K| 00006a40 42 44 3e 20 64 69 73 61 62 6c 65 73 20 6f 72 20 |BD> disables or | 00006a50 65 6e 61 62 6c 65 73 20 77 68 65 74 68 65 72 20 |enables whether | 00006a60 72 61 46 53 20 77 69 6c 6c 20 63 61 75 73 65 20 |raFS will cause | 00006a70 64 69 72 65 63 74 6f 72 79 20 64 69 73 70 6c 61 |directory displa| 00006a80 79 73 0a 74 6f 20 62 65 20 75 70 64 61 74 65 64 |ys.to be updated| 00006a90 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 68 65 | immediately whe| 00006aa0 6e 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 20 |n the size of a | 00006ab0 64 69 72 65 63 74 6f 72 79 20 63 68 61 6e 67 65 |directory change| 00006ac0 73 2e 20 28 55 6e 6c 69 6b 65 20 77 69 74 68 0a |s. (Unlike with.| 00006ad0 6f 74 68 65 72 20 66 69 6c 69 6e 67 20 73 79 73 |other filing sys| 00006ae0 74 65 6d 73 2c 20 74 68 65 20 64 69 72 65 63 74 |tems, the direct| 00006af0 6f 72 79 20 73 69 7a 65 20 69 73 20 6e 6f 74 20 |ory size is not | 00006b00 66 69 78 65 64 20 61 6e 64 20 77 68 65 6e 20 69 |fixed and when i| 00006b10 74 20 63 68 61 6e 67 65 73 2c 0a 74 68 69 73 20 |t changes,.this | 00006b20 77 69 6c 6c 20 62 65 20 72 65 66 6c 65 63 74 65 |will be reflecte| 00006b30 64 2e 29 20 42 79 20 64 65 66 61 75 6c 74 2c 20 |d.) By default, | 00006b40 74 68 69 73 20 69 73 20 73 77 69 74 63 68 65 64 |this is switched| 00006b50 20 6f 66 66 20 62 65 63 61 75 73 65 20 69 74 20 | off because it | 00006b60 63 61 75 73 65 73 20 61 0a 6c 6f 74 20 6f 66 20 |causes a.lot of | 00006b70 66 6c 69 63 6b 65 72 69 6e 67 20 77 68 65 6e 20 |flickering when | 00006b80 74 68 65 20 46 69 6c 65 72 20 63 6f 6e 74 69 6e |the Filer contin| 00006b90 75 61 6c 6c 79 20 75 70 64 61 74 65 73 20 69 74 |ually updates it| 00006ba0 73 20 64 69 73 70 6c 61 79 73 2e 20 45 76 65 6e |s displays. Even| 00006bb0 20 77 68 65 6e 0a 74 68 65 20 55 70 63 61 6c 6c | when.the Upcall| 00006bc0 73 20 61 72 65 20 73 77 69 74 63 68 65 64 20 6f |s are switched o| 00006bd0 66 66 2c 20 74 68 65 20 64 69 72 65 63 74 6f 72 |ff, the director| 00006be0 79 20 73 69 7a 65 20 69 73 20 75 70 64 61 74 65 |y size is update| 00006bf0 64 20 65 76 65 6e 74 75 61 6c 6c 79 20 77 68 65 |d eventually whe| 00006c00 6e 0a 79 6f 75 20 72 65 2d 6f 70 65 6e 20 74 68 |n.you re-open th| 00006c10 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 61 74 |e parent of that| 00006c20 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 77 72 | directory or wr| 00006c30 69 74 65 20 74 6f 20 69 74 2e 0a 0a 3c 50 3e 42 |ite to it...<P>B| 00006c40 79 20 74 68 65 20 77 61 79 3a 20 48 61 76 65 20 |y the way: Have | 00006c50 79 6f 75 20 6e 6f 74 69 63 65 64 20 74 68 61 74 |you noticed that| 00006c60 20 52 69 73 63 4f 53 20 64 6f 65 73 20 6e 6f 74 | RiscOS does not| 00006c70 20 68 61 76 65 20 61 6e 20 55 70 63 61 6c 6c 20 | have an Upcall | 00006c80 66 6f 72 0a 69 6e 66 6f 72 6d 69 6e 67 20 74 68 |for.informing th| 00006c90 61 74 20 61 6e 20 6f 62 6a 65 63 74 27 73 20 73 |at an object's s| 00006ca0 69 7a 65 20 68 61 73 20 63 68 61 6e 67 65 64 3f |ize has changed?| 00006cb0 20 49 27 6d 20 75 73 69 6e 67 20 4f 53 5f 55 70 | I'm using OS_Up| 00006cc0 63 61 6c 6c 26 6e 62 73 70 3b 33 2c 31 0a 28 57 |call 3,1.(W| 00006cd0 72 69 74 69 6e 67 20 63 61 74 61 6c 6f 67 75 65 |riting catalogue| 00006ce0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 29 2c 20 62 | information), b| 00006cf0 75 74 20 65 76 65 6e 20 74 68 69 73 20 65 78 63 |ut even this exc| 00006d00 6c 75 64 65 73 20 74 68 65 20 73 69 7a 65 2e 0a |ludes the size..| 00006d10 0a 3c 4c 49 3e 3c 41 20 4e 41 4d 45 3d 22 63 6c |.<LI><A NAME="cl| 00006d20 69 5f 6f 70 74 6c 6d 22 3e 3c 4b 42 44 3e 2d 4c |i_optlm"><KBD>-L| 00006d30 6f 61 64 4d 65 73 73 61 67 65 73 3c 2f 4b 42 44 |oadMessages</KBD| 00006d40 3e 3c 2f 41 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 |></A> followed b| 00006d50 79 20 74 68 65 20 6e 61 6d 65 20 6f 66 0a 61 20 |y the name of.a | 00006d60 4d 65 73 73 61 67 65 73 20 66 69 6c 65 20 69 73 |Messages file is| 00006d70 20 73 70 65 63 69 61 6c 20 69 6e 20 74 68 61 74 | special in that| 00006d80 20 69 74 20 64 6f 65 73 6e 27 74 20 73 65 74 20 | it doesn't set | 00006d90 69 6e 74 65 72 6e 61 6c 20 76 61 72 69 61 62 6c |internal variabl| 00006da0 65 73 2e 0a 49 6e 73 74 65 61 64 2c 20 74 68 69 |es..Instead, thi| 00006db0 73 20 69 73 20 75 73 65 64 20 74 6f 20 6f 76 65 |s is used to ove| 00006dc0 72 72 69 64 65 20 74 68 65 20 68 61 72 64 2d 63 |rride the hard-c| 00006dd0 6f 64 65 64 20 45 6e 67 6c 69 73 68 20 64 65 66 |oded English def| 00006de0 61 75 6c 74 73 20 75 73 65 64 20 66 6f 72 0a 65 |aults used for.e| 00006df0 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2c 20 68 |rror messages, h| 00006e00 65 6c 70 20 74 65 78 74 73 20 61 6e 64 20 74 68 |elp texts and th| 00006e10 65 20 21 4d 6f 75 6e 74 2f 21 52 75 6e 20 66 69 |e !Mount/!Run fi| 00006e20 6c 65 73 2e 0a 0a 3c 50 3e 59 6f 75 20 63 61 6e |les...<P>You can| 00006e30 20 75 73 65 20 3c 4b 42 44 3e 2d 4c 6f 61 64 4d | use <KBD>-LoadM| 00006e40 65 73 73 61 67 65 73 26 6e 62 73 70 3b 6e 75 6c |essages nul| 00006e50 6c 3a 3c 2f 4b 42 44 3e 20 74 6f 20 64 69 73 63 |l:</KBD> to disc| 00006e60 61 72 64 20 74 68 65 20 6d 65 73 73 61 67 65 73 |ard the messages| 00006e70 0a 61 6e 64 20 72 65 76 65 72 74 20 74 6f 20 74 |.and revert to t| 00006e80 68 65 20 64 65 66 61 75 6c 74 20 6f 6e 65 73 2e |he default ones.| 00006e90 0a 0a 3c 2f 55 4c 3e 0a 0a 3c 2f 44 4c 3e 0a 0a |..</UL>..</DL>..| 00006ea0 3c 50 20 41 4c 49 47 4e 3d 22 72 69 67 68 74 22 |<P ALIGN="right"| 00006eb0 3e 3c 49 3e 3c 41 20 48 52 45 46 3d 22 23 74 6f |><I><A HREF="#to| 00006ec0 70 22 3e 42 61 63 6b 20 74 6f 20 74 68 65 20 74 |p">Back to the t| 00006ed0 6f 70 20 6f 66 20 74 68 65 20 70 61 67 65 3c 2f |op of the page</| 00006ee0 41 3e 3c 2f 49 3e 3c 50 3e 3c 48 52 0a 57 49 44 |A></I><P><HR.WID| 00006ef0 54 48 3d 22 34 31 25 22 3e 0a 0a 0a 0a 3c 50 3e |TH="41%">....<P>| 00006f00 3c 48 32 3e 3c 41 20 4e 41 4d 45 3d 22 63 61 6c |<H2><A NAME="cal| 00006f10 6c 22 3e 43 61 6c 6c 69 6e 67 20 72 61 46 53 20 |l">Calling raFS | 00006f20 66 72 6f 6d 20 61 73 73 65 6d 62 6c 65 72 3c 2f |from assembler</| 00006f30 41 3e 3c 2f 48 32 3e 0a 0a 3c 50 3e 41 73 20 6f |A></H2>..<P>As o| 00006f40 66 20 76 65 72 73 69 6f 6e 20 31 2e 31 30 2c 20 |f version 1.10, | 00006f50 74 68 65 72 65 20 69 73 20 61 20 77 61 79 20 6f |there is a way o| 00006f60 66 20 63 61 6c 6c 69 6e 67 20 63 65 72 74 61 69 |f calling certai| 00006f70 6e 20 72 6f 75 74 69 6e 65 73 20 69 6e 73 69 64 |n routines insid| 00006f80 65 20 74 68 65 0a 72 61 46 53 20 6d 6f 64 75 6c |e the.raFS modul| 00006f90 65 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 |e directly from | 00006fa0 61 73 73 65 6d 62 6c 65 72 2e 20 72 61 46 53 46 |assembler. raFSF| 00006fb0 69 6c 65 72 20 75 73 65 73 20 74 68 65 73 65 20 |iler uses these | 00006fc0 63 61 6c 6c 73 20 74 6f 20 67 65 74 0a 69 6e 66 |calls to get.inf| 00006fd0 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 64 |ormation about d| 00006fe0 69 73 63 73 20 61 6e 64 20 63 75 72 72 65 6e 74 |iscs and current| 00006ff0 20 73 65 74 74 69 6e 67 73 2e 0a 0a 3c 50 3e 54 | settings...<P>T| 00007000 6f 20 63 61 6c 6c 20 61 6e 20 72 61 46 53 20 72 |o call an raFS r| 00007010 6f 75 74 69 6e 65 2c 20 79 6f 75 20 6d 75 73 74 |outine, you must| 00007020 20 66 69 72 73 74 20 66 69 6e 64 20 6f 75 74 20 | first find out | 00007030 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 |the address of t| 00007040 68 65 20 6d 6f 64 75 6c 65 0a 77 6f 72 6b 73 70 |he module.worksp| 00007050 61 63 65 20 77 69 74 68 3a 0a 0a 3c 50 3e 3c 43 |ace with:..<P><C| 00007060 4f 44 45 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b |ODE> | 00007070 26 6e 62 73 70 3b 26 6e 62 73 70 3b 53 59 53 20 | SYS | 00007080 22 58 4f 53 5f 4d 6f 64 75 6c 65 22 2c 31 38 2c |"XOS_Module",18,| 00007090 22 72 61 46 53 22 20 54 4f 0a 52 30 25 2c 52 31 |"raFS" TO.R0%,R1| 000070a0 25 2c 52 32 25 2c 52 33 25 2c 77 6f 72 6b 73 70 |%,R2%,R3%,worksp| 000070b0 61 63 65 25 3c 2f 43 4f 44 45 3e 0a 0a 3c 50 3e |ace%</CODE>..<P>| 000070c0 4d 6f 76 65 20 74 68 65 20 72 65 74 75 72 6e 65 |Move the returne| 000070d0 64 20 76 61 6c 75 65 20 69 6e 74 6f 20 52 31 31 |d value into R11| 000070e0 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 | before calling | 000070f0 72 61 46 53 20 77 69 74 68 20 74 68 65 20 66 6f |raFS with the fo| 00007100 6c 6c 6f 77 69 6e 67 0a 69 6e 73 74 72 75 63 74 |llowing.instruct| 00007110 69 6f 6e 73 3a 0a 0a 3c 50 3e 3c 43 4f 44 45 3e |ions:..<P><CODE>| 00007120 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 | &nbs| 00007130 70 3b 26 6e 62 73 70 3b 4d 4f 56 20 4c 52 2c 50 |p; MOV LR,P| 00007140 43 0a 3c 42 52 3e 26 6e 62 73 70 3b 26 6e 62 73 |C.<BR> &nbs| 00007150 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 4c 44 |p; LD| 00007160 52 20 50 43 2c 5b 52 31 31 2c 23 72 6f 75 74 5f |R PC,[R11,#rout_| 00007170 6f 66 66 73 65 74 25 5d 3c 2f 43 4f 44 45 3e 0a |offset%]</CODE>.| 00007180 0a 3c 50 3e 49 66 20 79 6f 75 20 75 73 65 20 3c |.<P>If you use <| 00007190 43 4f 44 45 3e 4d 4f 56 20 4c 52 2c 50 43 3c 2f |CODE>MOV LR,PC</| 000071a0 43 4f 44 45 3e 20 28 61 6e 64 20 6e 6f 74 20 3c |CODE> (and not <| 000071b0 43 4f 44 45 3e 41 44 44 20 4c 52 2c 50 43 2c 23 |CODE>ADD LR,PC,#| 000071c0 30 3c 2f 43 4f 44 45 3e 29 0a 62 65 66 6f 72 65 |0</CODE>).before| 000071d0 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 72 6f 75 | calling the rou| 000071e0 74 69 6e 65 2c 20 74 68 65 20 4e 2c 20 5a 20 61 |tine, the N, Z a| 000071f0 6e 64 20 43 20 66 6c 61 67 73 20 77 69 6c 6c 20 |nd C flags will | 00007200 62 65 20 70 72 65 73 65 72 76 65 64 2e 20 57 68 |be preserved. Wh| 00007210 65 6e 0a 63 61 6c 6c 69 6e 67 20 72 61 46 53 20 |en.calling raFS | 00007220 66 72 6f 6d 20 53 56 43 20 63 6f 64 65 2c 20 79 |from SVC code, y| 00007230 6f 75 20 6d 75 73 74 20 75 73 65 20 3c 43 4f 44 |ou must use <COD| 00007240 45 3e 4d 4f 56 3c 2f 43 4f 44 45 3e 2c 20 6f 74 |E>MOV</CODE>, ot| 00007250 68 65 72 77 69 73 65 20 74 68 65 0a 70 72 6f 63 |herwise the.proc| 00007260 65 73 73 6f 72 20 77 69 6c 6c 20 73 77 69 74 63 |essor will switc| 00007270 68 20 74 6f 20 55 53 52 20 6d 6f 64 65 20 6f 6e |h to USR mode on| 00007280 63 65 20 74 68 65 20 63 61 6c 6c 20 72 65 74 75 |ce the call retu| 00007290 72 6e 73 2e 0a 0a 3c 50 3e 54 68 65 20 3c 43 4f |rns...<P>The <CO| 000072a0 44 45 3e 72 6f 75 74 5f 6f 66 66 73 65 74 25 3c |DE>rout_offset%<| 000072b0 2f 43 4f 44 45 3e 20 69 73 20 7a 65 72 6f 20 66 |/CODE> is zero f| 000072c0 6f 72 20 74 68 65 20 72 6f 75 74 69 6e 65 20 64 |or the routine d| 000072d0 65 73 63 72 69 62 65 64 20 66 69 72 73 74 0a 62 |escribed first.b| 000072e0 65 6c 6f 77 2c 20 61 6e 64 20 69 6e 63 72 65 61 |elow, and increa| 000072f0 73 65 73 20 69 6e 20 74 68 65 20 6f 72 64 65 72 |ses in the order| 00007300 20 74 68 65 20 72 6f 75 74 69 6e 65 73 20 61 72 | the routines ar| 00007310 65 20 64 65 73 63 72 69 62 65 64 2e 20 54 68 65 |e described. The| 00007320 20 44 6f 63 73 0a 64 69 72 65 63 74 6f 72 79 20 | Docs.directory | 00007330 63 6f 6e 74 61 69 6e 73 20 61 20 73 6d 61 6c 6c |contains a small| 00007340 20 42 41 53 49 43 20 70 72 6f 67 72 61 6d 20 77 | BASIC program w| 00007350 68 69 63 68 20 73 65 74 73 20 75 70 20 74 68 65 |hich sets up the| 00007360 20 6f 66 66 73 65 74 73 20 77 69 74 68 20 61 0a | offsets with a.| 00007370 68 6f 72 72 69 62 6c 65 20 45 56 41 4c 20 74 72 |horrible EVAL tr| 00007380 69 63 6b 20 61 6e 64 20 77 68 69 63 68 20 61 6c |ick and which al| 00007390 73 6f 20 70 72 6f 76 69 64 65 73 20 61 20 6d 61 |so provides a ma| 000073a0 63 72 6f 20 66 6f 72 20 74 68 65 20 42 41 53 49 |cro for the BASI| 000073b0 43 20 61 73 73 65 6d 62 6c 65 72 0a 73 6f 20 74 |C assembler.so t| 000073c0 68 65 20 61 62 6f 76 65 20 63 61 6e 20 62 65 20 |he above can be | 000073d0 72 65 64 75 63 65 64 20 74 6f 2c 20 65 2e 26 6e |reduced to, e.&n| 000073e0 62 73 70 3b 67 2e 20 3c 43 4f 44 45 3e 46 4e 63 |bsp;g. <CODE>FNc| 000073f0 61 6c 6c 28 72 61 46 53 5f 49 6e 66 6f 29 3c 2f |all(raFS_Info)</| 00007400 43 4f 44 45 3e 2e 0a 0a 3c 50 3e 52 65 67 69 73 |CODE>...<P>Regis| 00007410 74 65 72 73 20 6e 6f 74 20 6d 65 6e 74 69 6f 6e |ters not mention| 00007420 65 64 20 69 6e 20 22 4f 6e 20 65 78 69 74 22 20 |ed in "On exit" | 00007430 61 72 65 20 70 72 65 73 65 72 76 65 64 2e 20 28 |are preserved. (| 00007440 4f 66 20 63 6f 75 72 73 65 2c 20 52 31 34 20 69 |Of course, R14 i| 00007450 73 0a 63 6f 72 72 75 70 74 65 64 2e 29 20 46 6f |s.corrupted.) Fo| 00007460 72 20 61 6c 6c 20 63 61 6c 6c 73 2c 20 52 31 31 |r all calls, R11| 00007470 20 6d 75 73 74 20 70 6f 69 6e 74 20 74 6f 20 74 | must point to t| 00007480 68 65 20 77 6f 72 6b 73 70 61 63 65 20 6f 66 20 |he workspace of | 00007490 74 68 65 20 72 61 46 53 0a 6d 6f 64 75 6c 65 2e |the raFS.module.| 000074a0 20 50 72 6f 63 65 73 73 6f 72 20 6d 75 73 74 20 | Processor must | 000074b0 62 65 20 69 6e 20 55 53 52 20 6f 72 20 53 56 43 |be in USR or SVC| 000074c0 20 6d 6f 64 65 2c 20 52 31 33 20 6d 75 73 74 20 | mode, R13 must | 000074d0 70 6f 69 6e 74 20 74 6f 20 61 20 66 75 6c 6c 0a |point to a full.| 000074e0 64 65 73 63 65 6e 64 69 6e 67 20 73 74 61 63 6b |descending stack| 000074f0 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 31 | with at least 1| 00007500 6b 20 66 72 65 65 2e 0a 0a 3c 50 3e 49 6e 20 74 |k free...<P>In t| 00007510 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 73 |he following des| 00007520 63 72 69 70 74 69 6f 6e 73 2c 20 61 6e 79 20 62 |criptions, any b| 00007530 69 74 73 20 69 6e 20 66 69 65 6c 64 73 20 74 68 |its in fields th| 00007540 61 74 20 61 72 65 20 6e 6f 74 20 64 65 73 63 72 |at are not descr| 00007550 69 62 65 64 0a 61 72 65 20 72 65 73 65 72 76 65 |ibed.are reserve| 00007560 64 2e 20 49 74 20 73 68 6f 75 6c 64 20 6e 6f 74 |d. It should not| 00007570 20 62 65 20 61 73 73 75 6d 65 64 20 74 68 61 74 | be assumed that| 00007580 20 74 68 65 79 20 61 72 65 20 7a 65 72 6f 2c 20 | they are zero, | 00007590 61 6e 64 20 77 68 65 6e 20 73 65 74 74 69 6e 67 |and when setting| 000075a0 0a 74 68 65 20 77 6f 72 64 27 73 20 76 61 6c 75 |.the word's valu| 000075b0 65 2c 20 74 68 65 79 20 6d 75 73 74 20 62 65 20 |e, they must be | 000075c0 70 72 65 73 65 72 76 65 64 2e 0a 0a 3c 44 4c 3e |preserved...<DL>| 000075d0 0a 0a 3c 44 54 3e 3c 43 4f 44 45 3e 3c 41 20 4e |..<DT><CODE><A N| 000075e0 41 4d 45 3d 22 63 61 6c 6c 5f 69 6e 66 6f 22 3e |AME="call_info">| 000075f0 72 61 46 53 5f 49 6e 66 6f 3c 2f 41 3e 3c 2f 43 |raFS_Info</A></C| 00007600 4f 44 45 3e 0a 0a 3c 44 44 3e 3c 42 3e 4f 6e 20 |ODE>..<DD><B>On | 00007610 65 6e 74 72 79 3a 3c 2f 42 3e 0a 3c 42 52 3e 2d |entry:</B>.<BR>-| 00007620 0a 3c 50 3e 3c 42 3e 4f 6e 20 65 78 69 74 3a 3c |.<P><B>On exit:<| 00007630 2f 42 3e 0a 3c 42 52 3e 52 30 20 3d 20 6d 6f 64 |/B>.<BR>R0 = mod| 00007640 75 6c 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 |ule version numb| 00007650 65 72 20 2a 20 31 30 30 0a 3c 42 52 3e 52 31 20 |er * 100.<BR>R1 | 00007660 3d 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 |= maximum number| 00007670 20 6f 66 20 64 69 73 63 73 20 74 68 69 73 20 76 | of discs this v| 00007680 65 72 73 69 6f 6e 20 63 61 6e 20 68 61 76 65 20 |ersion can have | 00007690 6d 6f 75 6e 74 65 64 0a 3c 42 52 3e 52 32 20 3d |mounted.<BR>R2 =| 000076a0 20 62 69 74 20 30 20 73 65 74 20 3d 26 67 74 3b | bit 0 set =>| 000076b0 20 6d 6f 64 75 6c 65 27 73 20 68 65 61 70 20 69 | module's heap i| 000076c0 73 20 69 6e 20 73 70 72 69 74 65 20 61 72 65 61 |s in sprite area| 000076d0 2c 20 62 69 74 73 20 32 34 2d 33 31 20 3d 20 63 |, bits 24-31 = c| 000076e0 6f 75 6e 74 72 79 20 6e 75 6d 62 65 72 20 28 31 |ountry number (1| 000076f0 20 66 6f 72 20 55 4b 2c 20 37 20 66 6f 72 20 47 | for UK, 7 for G| 00007700 65 72 6d 61 6e 79 29 0a 3c 42 52 3e 52 33 2d 52 |ermany).<BR>R3-R| 00007710 35 20 63 6f 72 72 75 70 74 65 64 0a 3c 50 3e 4e |5 corrupted.<P>N| 00007720 65 76 65 72 20 72 65 74 75 72 6e 73 20 61 6e 20 |ever returns an | 00007730 65 72 72 6f 72 2e 0a 0a 0a 3c 44 54 3e 3c 43 4f |error....<DT><CO| 00007740 44 45 3e 3c 41 20 4e 41 4d 45 3d 22 63 61 6c 6c |DE><A NAME="call| 00007750 5f 6e 72 6f 66 64 69 73 63 73 22 3e 72 61 46 53 |_nrofdiscs">raFS| 00007760 5f 4e 72 4f 66 44 69 73 63 73 3c 2f 41 3e 3c 2f |_NrOfDiscs</A></| 00007770 43 4f 44 45 3e 0a 0a 3c 44 44 3e 3c 42 3e 4f 6e |CODE>..<DD><B>On| 00007780 20 65 6e 74 72 79 3a 3c 2f 42 3e 0a 3c 42 52 3e | entry:</B>.<BR>| 00007790 2d 0a 3c 50 3e 3c 42 3e 4f 6e 20 65 78 69 74 3a |-.<P><B>On exit:| 000077a0 3c 2f 42 3e 0a 3c 42 52 3e 52 30 20 3d 20 6e 75 |</B>.<BR>R0 = nu| 000077b0 6d 62 65 72 20 6f 66 20 64 69 73 63 73 20 63 75 |mber of discs cu| 000077c0 72 72 65 6e 74 6c 79 20 6d 6f 75 6e 74 65 64 0a |rrently mounted.| 000077d0 3c 50 3e 4e 65 76 65 72 20 72 65 74 75 72 6e 73 |<P>Never returns| 000077e0 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 0a 3c 44 54 | an error....<DT| 000077f0 3e 3c 43 4f 44 45 3e 3c 41 20 4e 41 4d 45 3d 22 |><CODE><A NAME="| 00007800 63 61 6c 6c 5f 65 6e 75 6d 65 72 61 74 65 64 69 |call_enumeratedi| 00007810 73 63 73 22 3e 72 61 46 53 5f 45 6e 75 6d 65 72 |scs">raFS_Enumer| 00007820 61 74 65 44 69 73 63 73 3c 2f 41 3e 3c 2f 43 4f |ateDiscs</A></CO| 00007830 44 45 3e 0a 0a 3c 44 44 3e 3c 42 3e 4f 6e 20 65 |DE>..<DD><B>On e| 00007840 6e 74 72 79 3a 3c 2f 42 3e 0a 3c 42 52 3e 52 39 |ntry:</B>.<BR>R9| 00007850 20 3d 20 2d 31 20 66 6f 72 20 66 69 72 73 74 20 | = -1 for first | 00007860 63 61 6c 6c 0a 3c 50 3e 3c 42 3e 4f 6e 20 65 78 |call.<P><B>On ex| 00007870 69 74 3a 3c 2f 42 3e 0a 3c 42 52 3e 52 30 20 3d |it:</B>.<BR>R0 =| 00007880 20 77 6f 72 64 2d 61 6c 69 67 6e 65 64 20 70 6f | word-aligned po| 00007890 69 6e 74 65 72 20 74 6f 20 7a 65 72 6f 2d 74 65 |inter to zero-te| 000078a0 72 6d 69 6e 61 74 65 64 20 64 69 73 63 20 6e 61 |rminated disc na| 000078b0 6d 65 0a 3c 42 52 3e 52 31 20 3d 20 77 6f 72 64 |me.<BR>R1 = word| 000078c0 2d 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 |-aligned pointer| 000078d0 20 74 6f 20 75 6e 74 65 72 6d 69 6e 61 74 65 64 | to unterminated| 000078e0 20 6e 61 6d 65 20 6f 66 20 73 74 6f 72 61 67 65 | name of storage| 000078f0 20 64 69 72 65 63 74 6f 72 79 0a 3c 42 52 3e 52 | directory.<BR>R| 00007900 32 20 3d 20 6c 65 6e 67 74 68 20 6f 66 20 6e 61 |2 = length of na| 00007910 6d 65 20 6f 66 20 73 74 6f 72 61 67 65 20 64 69 |me of storage di| 00007920 72 65 63 74 6f 72 79 0a 3c 42 52 3e 52 39 20 3d |rectory.<BR>R9 =| 00007930 20 64 69 73 63 20 6e 75 6d 62 65 72 20 28 61 6c | disc number (al| 00007940 73 6f 20 76 61 6c 75 65 20 6f 66 20 52 39 20 66 |so value of R9 f| 00007950 6f 72 20 6e 65 78 74 20 63 61 6c 6c 20 74 6f 20 |or next call to | 00007960 74 68 69 73 20 72 6f 75 74 69 6e 65 29 20 6f 72 |this routine) or| 00007970 20 2d 31 20 61 6e 64 20 43 20 73 65 74 20 69 66 | -1 and C set if| 00007980 20 6e 6f 20 6d 6f 72 65 20 64 69 73 63 73 0a 0a | no more discs..| 00007990 3c 50 3e 4e 65 76 65 72 20 72 65 74 75 72 6e 73 |<P>Never returns| 000079a0 20 61 6e 20 65 72 72 6f 72 2e 20 54 68 65 20 69 | an error. The i| 000079b0 6e 66 6f 72 6d 61 74 69 6f 6e 20 6d 75 73 74 20 |nformation must | 000079c0 62 65 20 63 6f 70 69 65 64 20 61 77 61 79 20 69 |be copied away i| 000079d0 6d 6d 65 64 69 61 74 65 6c 79 3b 0a 69 74 20 6d |mmediately;.it m| 000079e0 61 79 20 63 68 61 6e 67 65 20 64 75 72 69 6e 67 |ay change during| 000079f0 20 61 6e 79 20 63 61 6c 6c 20 74 6f 20 72 61 46 | any call to raF| 00007a00 53 20 28 65 78 63 65 70 74 20 72 61 46 53 5f 4d |S (except raFS_M| 00007a10 65 6d 43 6f 70 79 29 20 6f 72 20 61 63 63 65 73 |emCopy) or acces| 00007a20 73 65 73 20 74 6f 0a 74 68 65 20 66 69 6c 69 6e |ses to.the filin| 00007a30 67 20 73 79 73 74 65 6d 2e 0a 0a 3c 50 3e 41 66 |g system...<P>Af| 00007a40 74 65 72 20 74 68 65 20 64 69 73 63 20 6e 61 6d |ter the disc nam| 00007a50 65 20 74 68 65 72 65 20 61 72 65 20 31 20 74 6f |e there are 1 to| 00007a60 20 34 20 7a 65 72 6f 20 62 79 74 65 73 2c 20 75 | 4 zero bytes, u| 00007a70 70 20 74 6f 20 74 68 65 20 6e 65 78 74 20 77 6f |p to the next wo| 00007a80 72 64 0a 62 6f 75 6e 64 61 72 79 2c 20 73 6f 20 |rd.boundary, so | 00007a90 79 6f 75 20 63 61 6e 20 66 69 6e 64 20 74 68 65 |you can find the| 00007aa0 20 6c 65 6e 67 74 68 20 66 61 73 74 65 72 20 62 | length faster b| 00007ab0 79 20 66 69 72 73 74 20 6c 6f 61 64 69 6e 67 20 |y first loading | 00007ac0 77 6f 72 64 73 20 61 6e 64 20 6f 6e 6c 79 0a 6c |words and only.l| 00007ad0 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 68 69 |ooking at the hi| 00007ae0 67 68 20 62 79 74 65 20 77 69 74 68 20 3c 43 4f |gh byte with <CO| 00007af0 44 45 3e 54 53 54 20 52 78 2c 23 26 61 6d 70 3b |DE>TST Rx,#&| 00007b00 46 46 26 6c 74 3b 26 6c 74 3b 32 34 3c 2f 43 4f |FF<<24</CO| 00007b10 44 45 3e 0a 0a 0a 3c 44 54 3e 3c 43 4f 44 45 3e |DE>...<DT><CODE>| 00007b20 3c 41 20 4e 41 4d 45 3d 22 63 61 6c 6c 5f 66 69 |<A NAME="call_fi| 00007b30 6e 64 64 69 73 63 22 3e 72 61 46 53 5f 46 69 6e |nddisc">raFS_Fin| 00007b40 64 44 69 73 63 3c 2f 41 3e 3c 2f 43 4f 44 45 3e |dDisc</A></CODE>| 00007b50 0a 0a 3c 44 44 3e 3c 42 3e 4f 6e 20 65 6e 74 72 |..<DD><B>On entr| 00007b60 79 3a 3c 2f 42 3e 0a 3c 42 52 3e 52 31 20 3d 26 |y:</B>.<BR>R1 =&| 00007b70 67 74 3b 20 7a 65 72 6f 2d 74 65 72 6d 69 6e 61 |gt; zero-termina| 00007b80 74 65 64 20 64 69 73 63 20 6e 61 6d 65 0a 3c 50 |ted disc name.<P| 00007b90 3e 3c 42 3e 4f 6e 20 65 78 69 74 3a 3c 2f 42 3e |><B>On exit:</B>| 00007ba0 0a 3c 42 52 3e 52 30 20 3d 20 77 6f 72 64 2d 61 |.<BR>R0 = word-a| 00007bb0 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 |ligned pointer t| 00007bc0 6f 20 7a 65 72 6f 2d 74 65 72 6d 69 6e 61 74 65 |o zero-terminate| 00007bd0 64 20 64 69 73 63 20 6e 61 6d 65 0a 3c 42 52 3e |d disc name.<BR>| 00007be0 52 31 20 3d 20 77 6f 72 64 2d 61 6c 69 67 6e 65 |R1 = word-aligne| 00007bf0 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 75 6e 74 |d pointer to unt| 00007c00 65 72 6d 69 6e 61 74 65 64 20 6e 61 6d 65 20 6f |erminated name o| 00007c10 66 20 73 74 6f 72 61 67 65 20 64 69 72 65 63 74 |f storage direct| 00007c20 6f 72 79 0a 3c 42 52 3e 52 32 20 3d 20 6c 65 6e |ory.<BR>R2 = len| 00007c30 67 74 68 20 6f 66 20 6e 61 6d 65 20 6f 66 20 73 |gth of name of s| 00007c40 74 6f 72 61 67 65 20 64 69 72 65 63 74 6f 72 79 |torage directory| 00007c50 0a 3c 42 52 3e 52 38 20 3d 20 69 6e 74 65 72 6e |.<BR>R8 = intern| 00007c60 61 6c 20 49 44 20 6f 66 20 74 68 65 20 64 69 73 |al ID of the dis| 00007c70 63 27 73 20 72 6f 6f 74 20 64 69 72 65 63 74 6f |c's root directo| 00007c80 72 79 0a 3c 42 52 3e 52 39 20 3d 20 64 69 73 63 |ry.<BR>R9 = disc| 00007c90 20 6e 75 6d 62 65 72 0a 3c 42 52 3e 52 31 34 20 | number.<BR>R14 | 00007ca0 3d 20 6c 65 6e 67 74 68 20 6f 66 20 64 69 73 63 |= length of disc| 00007cb0 20 6e 61 6d 65 0a 0a 3c 50 3e 49 66 20 61 20 64 | name..<P>If a d| 00007cc0 69 73 63 20 6f 66 20 74 68 65 20 67 69 76 65 6e |isc of the given| 00007cd0 20 6e 61 6d 65 20 69 73 20 6e 6f 74 20 6d 6f 75 | name is not mou| 00007ce0 6e 74 65 64 2c 20 61 6e 20 65 72 72 6f 72 20 69 |nted, an error i| 00007cf0 73 20 72 65 74 75 72 6e 65 64 2e 20 41 67 61 69 |s returned. Agai| 00007d00 6e 2c 0a 74 68 65 20 72 65 74 75 72 6e 65 64 20 |n,.the returned | 00007d10 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 65 20 |pointers to the | 00007d20 64 69 73 63 20 6e 61 6d 65 20 28 77 68 6f 73 65 |disc name (whose| 00007d30 20 63 61 73 65 20 6d 61 79 20 64 69 66 66 65 72 | case may differ| 00007d40 20 66 72 6f 6d 20 74 68 61 74 0a 70 61 73 73 65 | from that.passe| 00007d50 64 20 74 6f 20 74 68 65 20 72 6f 75 74 69 6e 65 |d to the routine| 00007d60 29 20 61 6e 64 20 73 74 6f 72 61 67 65 20 64 69 |) and storage di| 00007d70 72 65 63 74 6f 72 79 20 61 72 65 20 72 65 61 64 |rectory are read| 00007d80 2d 6f 6e 6c 79 20 61 6e 64 20 6d 75 73 74 20 62 |-only and must b| 00007d90 65 20 63 6f 70 69 65 64 0a 61 77 61 79 20 69 6d |e copied.away im| 00007da0 6d 65 64 69 61 74 65 6c 79 2e 0a 0a 0a 3c 44 54 |mediately....<DT| 00007db0 3e 3c 43 4f 44 45 3e 3c 41 20 4e 41 4d 45 3d 22 |><CODE><A NAME="| 00007dc0 63 61 6c 6c 5f 64 69 73 63 69 6e 66 6f 22 3e 72 |call_discinfo">r| 00007dd0 61 46 53 5f 44 69 73 63 49 6e 66 6f 3c 2f 41 3e |aFS_DiscInfo</A>| 00007de0 3c 2f 43 4f 44 45 3e 0a 0a 3c 44 44 3e 3c 42 3e |</CODE>..<DD><B>| 00007df0 4f 6e 20 65 6e 74 72 79 3a 3c 2f 42 3e 0a 3c 42 |On entry:</B>.<B| 00007e00 52 3e 52 39 20 3d 20 64 69 73 63 20 6e 75 6d 62 |R>R9 = disc numb| 00007e10 65 72 0a 3c 50 3e 3c 42 3e 4f 6e 20 65 78 69 74 |er.<P><B>On exit| 00007e20 3a 3c 2f 42 3e 0a 3c 42 52 3e 52 30 20 3d 20 77 |:</B>.<BR>R0 = w| 00007e30 6f 72 64 2d 61 6c 69 67 6e 65 64 20 70 6f 69 6e |ord-aligned poin| 00007e40 74 65 72 20 74 6f 20 7a 65 72 6f 2d 74 65 72 6d |ter to zero-term| 00007e50 69 6e 61 74 65 64 20 64 69 73 63 20 6e 61 6d 65 |inated disc name| 00007e60 0a 3c 42 52 3e 52 31 20 3d 20 77 6f 72 64 2d 61 |.<BR>R1 = word-a| 00007e70 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 |ligned pointer t| 00007e80 6f 20 75 6e 74 65 72 6d 69 6e 61 74 65 64 20 6e |o unterminated n| 00007e90 61 6d 65 20 6f 66 20 73 74 6f 72 61 67 65 20 64 |ame of storage d| 00007ea0 69 72 65 63 74 6f 72 79 0a 3c 42 52 3e 52 32 20 |irectory.<BR>R2 | 00007eb0 3d 20 6c 65 6e 67 74 68 20 6f 66 20 6e 61 6d 65 |= length of name| 00007ec0 20 6f 66 20 73 74 6f 72 61 67 65 20 64 69 72 65 | of storage dire| 00007ed0 63 74 6f 72 79 0a 3c 42 52 3e 52 33 20 3d 20 66 |ctory.<BR>R3 = f| 00007ee0 6c 61 67 73 3a 0a 3c 42 52 3e 26 6e 62 73 70 3b |lags:.<BR> | 00007ef0 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 73 | &nbs| 00007f00 70 3b 62 69 74 20 30 20 73 65 74 20 3d 26 67 74 |p;bit 0 set =>| 00007f10 3b 20 74 68 65 20 64 69 73 63 20 69 73 20 72 65 |; the disc is re| 00007f20 61 64 2d 6f 6e 6c 79 0a 3c 42 52 3e 26 6e 62 73 |ad-only.<BR>&nbs| 00007f30 70 3b 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e |p; &n| 00007f40 62 73 70 3b 62 69 74 20 31 20 73 65 74 20 3d 26 |bsp;bit 1 set =&| 00007f50 67 74 3b 20 69 6e 74 65 67 72 69 74 79 20 63 68 |gt; integrity ch| 00007f60 65 63 6b 73 20 61 72 65 20 70 65 72 66 6f 72 6d |ecks are perform| 00007f70 65 64 20 28 72 61 46 53 24 4e 6f 43 68 65 63 6b |ed (raFS$NoCheck| 00007f80 73 29 0a 3c 42 52 3e 52 38 20 3d 20 69 6e 74 65 |s).<BR>R8 = inte| 00007f90 72 6e 61 6c 20 49 44 20 6f 66 20 74 68 65 20 64 |rnal ID of the d| 00007fa0 69 73 63 27 73 20 72 6f 6f 74 20 64 69 72 65 63 |isc's root direc| 00007fb0 74 6f 72 79 0a 3c 42 52 3e 6f 72 20 43 20 73 65 |tory.<BR>or C se| 00007fc0 74 20 69 66 20 64 69 73 63 20 6f 66 20 74 68 61 |t if disc of tha| 00007fd0 74 20 6e 75 6d 62 65 72 20 6e 6f 74 20 6d 6f 75 |t number not mou| 00007fe0 6e 74 65 64 0a 0a 3c 50 3e 49 66 20 74 68 65 20 |nted..<P>If the | 00007ff0 67 69 76 65 6e 20 64 69 73 63 20 6e 75 6d 62 65 |given disc numbe| 00008000 72 20 69 73 20 69 6e 20 74 68 65 20 76 61 6c 69 |r is in the vali| 00008010 64 20 72 61 6e 67 65 20 28 7a 65 72 6f 20 74 6f |d range (zero to| 00008020 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 | maximum number | 00008030 2d 0a 31 29 20 61 6e 64 20 61 20 64 69 73 63 20 |-.1) and a disc | 00008040 6f 66 20 74 68 61 74 20 6e 75 6d 62 65 72 20 64 |of that number d| 00008050 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 74 |oes not exist, t| 00008060 68 69 73 20 72 65 74 75 72 6e 73 20 77 69 74 68 |his returns with| 00008070 20 43 20 73 65 74 2e 0a 4f 62 76 69 6f 75 73 6c | C set..Obviousl| 00008080 79 2c 20 74 68 69 73 20 63 61 6c 6c 20 69 73 20 |y, this call is | 00008090 6d 75 63 68 20 66 61 73 74 65 72 20 74 68 61 6e |much faster than| 000080a0 20 72 61 46 53 5f 46 69 6e 64 44 69 73 63 20 62 | raFS_FindDisc b| 000080b0 65 63 61 75 73 65 20 69 74 20 64 6f 65 73 6e 27 |ecause it doesn'| 000080c0 74 0a 68 61 76 65 20 74 6f 20 73 65 61 72 63 68 |t.have to search| 000080d0 20 66 6f 72 20 74 68 65 20 64 69 73 63 20 6e 61 | for the disc na| 000080e0 6d 65 2e 0a 0a 0a 3c 44 54 3e 3c 43 4f 44 45 3e |me....<DT><CODE>| 000080f0 3c 41 20 4e 41 4d 45 3d 22 63 61 6c 6c 5f 6d 65 |<A NAME="call_me| 00008100 6d 63 6f 70 79 22 3e 72 61 46 53 5f 4d 65 6d 43 |mcopy">raFS_MemC| 00008110 6f 70 79 3c 2f 41 3e 3c 2f 43 4f 44 45 3e 0a 0a |opy</A></CODE>..| 00008120 3c 44 44 3e 3c 42 3e 4f 6e 20 65 6e 74 72 79 3a |<DD><B>On entry:| 00008130 3c 2f 42 3e 0a 3c 42 52 3e 52 32 20 3d 26 67 74 |</B>.<BR>R2 =>| 00008140 3b 20 73 6f 75 72 63 65 20 28 77 6f 72 64 2d 61 |; source (word-a| 00008150 6c 69 67 6e 65 64 29 0a 3c 42 52 3e 52 33 20 3d |ligned).<BR>R3 =| 00008160 26 67 74 3b 20 64 65 73 74 69 6e 61 74 69 6f 6e |> destination| 00008170 20 28 77 6f 72 64 2d 61 6c 69 67 6e 65 64 29 0a | (word-aligned).| 00008180 3c 42 52 3e 52 34 20 3d 20 6e 75 6d 62 65 72 20 |<BR>R4 = number | 00008190 6f 66 20 62 79 74 65 73 20 74 6f 20 63 6f 70 79 |of bytes to copy| 000081a0 20 28 6d 75 6c 74 69 70 6c 65 20 6f 66 20 34 29 | (multiple of 4)| 000081b0 0a 3c 50 3e 3c 42 3e 4f 6e 20 65 78 69 74 3a 3c |.<P><B>On exit:<| 000081c0 2f 42 3e 0a 3c 42 52 3e 52 65 67 69 73 74 65 72 |/B>.<BR>Register| 000081d0 73 20 70 72 65 73 65 72 76 65 64 0a 3c 50 3e 54 |s preserved.<P>T| 000081e0 68 65 20 6d 65 6d 6f 72 79 20 61 72 65 61 73 20 |he memory areas | 000081f0 6d 61 79 20 6f 76 65 72 6c 61 70 2e 0a 0a 0a 3c |may overlap....<| 00008200 44 54 3e 3c 43 4f 44 45 3e 3c 41 20 4e 41 4d 45 |DT><CODE><A NAME| 00008210 3d 22 63 61 6c 6c 5f 72 65 61 64 76 61 72 22 3e |="call_readvar">| 00008220 72 61 46 53 5f 52 65 61 64 56 61 72 3c 2f 41 3e |raFS_ReadVar</A>| 00008230 3c 2f 43 4f 44 45 3e 0a 0a 3c 44 44 3e 3c 42 3e |</CODE>..<DD><B>| 00008240 4f 6e 20 65 6e 74 72 79 3a 3c 2f 42 3e 0a 3c 42 |On entry:</B>.<B| 00008250 52 3e 52 30 20 3d 20 6e 75 6d 62 65 72 20 6f 66 |R>R0 = number of| 00008260 20 76 61 72 69 61 62 6c 65 20 74 6f 20 72 65 61 | variable to rea| 00008270 64 0a 3c 50 3e 3c 42 3e 4f 6e 20 65 78 69 74 3a |d.<P><B>On exit:| 00008280 3c 2f 42 3e 0a 3c 42 52 3e 52 30 20 3d 20 76 61 |</B>.<BR>R0 = va| 00008290 6c 75 65 20 2f 20 70 6f 69 6e 74 65 72 20 74 6f |lue / pointer to| 000082a0 20 73 74 72 69 6e 67 20 28 64 65 70 65 6e 64 69 | string (dependi| 000082b0 6e 67 20 6f 6e 20 76 61 72 69 61 62 6c 65 20 74 |ng on variable t| 000082c0 79 70 65 29 0a 3c 42 52 3e 52 31 20 63 6f 72 72 |ype).<BR>R1 corr| 000082d0 75 70 74 65 64 0a 0a 3c 50 3e 43 75 72 72 65 6e |upted..<P>Curren| 000082e0 74 6c 79 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 |tly, the followi| 000082f0 6e 67 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 |ng variables are| 00008300 20 73 75 70 70 6f 72 74 65 64 3a 0a 3c 55 4c 3e | supported:.<UL>| 00008310 0a 3c 4c 49 3e 30 20 3d 26 67 74 3b 20 44 69 72 |.<LI>0 => Dir| 00008320 43 61 63 68 65 20 28 6b 42 79 74 65 73 29 20 2d |Cache (kBytes) -| 00008330 20 69 73 20 69 6e 74 65 72 6e 61 6c 6c 79 20 73 | is internally s| 00008340 74 6f 72 65 64 20 61 73 20 62 79 74 65 73 2c 20 |tored as bytes, | 00008350 73 6f 20 64 6f 6e 27 74 20 73 65 74 20 74 6f 20 |so don't set to | 00008360 61 20 76 61 6c 75 65 20 68 69 67 68 65 72 20 74 |a value higher t| 00008370 68 61 6e 20 26 61 6d 70 3b 33 66 66 66 66 66 0a |han &3fffff.| 00008380 3c 4c 49 3e 31 20 3d 26 67 74 3b 20 44 69 72 73 |<LI>1 => Dirs| 00008390 61 76 65 44 65 6c 61 79 20 28 63 65 6e 74 69 73 |aveDelay (centis| 000083a0 65 63 6f 6e 64 73 29 0a 3c 4c 49 3e 32 20 3d 26 |econds).<LI>2 =&| 000083b0 67 74 3b 20 44 69 72 73 61 76 65 4d 6f 64 73 20 |gt; DirsaveMods | 000083c0 28 6e 72 29 0a 3c 4c 49 3e 33 20 3d 26 67 74 3b |(nr).<LI>3 =>| 000083d0 20 4d 69 73 63 20 66 6c 61 67 73 3a 0a 3c 42 52 | Misc flags:.<BR| 000083e0 3e 26 6e 62 73 70 3b 26 6e 62 73 70 3b 26 6e 62 |> &nb| 000083f0 73 70 3b 26 6e 62 73 70 3b 42 69 74 20 30 20 73 |sp; Bit 0 s| 00008400 65 74 20 3d 26 67 74 3b 20 44 69 72 55 70 63 61 |et => DirUpca| 00008410 6c 6c 20 68 61 70 70 65 6e 73 0a 3c 2f 55 4c 3e |ll happens.</UL>| 00008420 0a 0a 0a 3c 44 54 3e 3c 43 4f 44 45 3e 3c 41 20 |...<DT><CODE><A | 00008430 4e 41 4d 45 3d 22 63 61 6c 6c 5f 73 65 74 76 61 |NAME="call_setva| 00008440 72 22 3e 72 61 46 53 5f 53 65 74 56 61 72 3c 2f |r">raFS_SetVar</| 00008450 41 3e 3c 2f 43 4f 44 45 3e 0a 0a 3c 44 44 3e 3c |A></CODE>..<DD><| 00008460 42 3e 4f 6e 20 65 6e 74 72 79 3a 3c 2f 42 3e 0a |B>On entry:</B>.| 00008470 3c 42 52 3e 52 30 20 3d 20 6e 75 6d 62 65 72 20 |<BR>R0 = number | 00008480 6f 66 20 76 61 72 69 61 62 6c 65 20 74 6f 20 73 |of variable to s| 00008490 65 74 20 76 61 6c 75 65 20 6f 66 0a 3c 42 52 3e |et value of.<BR>| 000084a0 52 31 20 3d 20 6e 65 77 20 76 61 6c 75 65 0a 3c |R1 = new value.<| 000084b0 50 3e 3c 42 3e 4f 6e 20 65 78 69 74 3a 3c 2f 42 |P><B>On exit:</B| 000084c0 3e 0a 3c 42 52 3e 52 30 2c 20 52 31 20 63 6f 72 |>.<BR>R0, R1 cor| 000084d0 72 75 70 74 65 64 0a 3c 50 3e 52 30 20 6f 6e 20 |rupted.<P>R0 on | 000084e0 65 6e 74 72 79 20 63 6f 6e 74 61 69 6e 73 20 74 |entry contains t| 000084f0 68 65 20 73 61 6d 65 20 76 61 6c 75 65 73 20 61 |he same values a| 00008500 73 20 66 6f 72 20 72 61 46 53 5f 52 65 61 64 56 |s for raFS_ReadV| 00008510 61 72 0a 0a 0a 3c 2f 44 4c 3e 0a 0a 0a 0a 3c 50 |ar...</DL>....<P| 00008520 20 41 4c 49 47 4e 3d 22 72 69 67 68 74 22 3e 3c | ALIGN="right"><| 00008530 49 3e 3c 41 20 48 52 45 46 3d 22 23 74 6f 70 22 |I><A HREF="#top"| 00008540 3e 42 61 63 6b 20 74 6f 20 74 68 65 20 74 6f 70 |>Back to the top| 00008550 20 6f 66 20 74 68 65 20 70 61 67 65 3c 2f 41 3e | of the page</A>| 00008560 3c 2f 49 3e 3c 50 3e 3c 48 52 0a 57 49 44 54 48 |</I><P><HR.WIDTH| 00008570 3d 22 34 31 25 22 3e 0a 0a 0a 0a 3c 50 3e 3c 48 |="41%">....<P><H| 00008580 32 3e 3c 41 20 4e 41 4d 45 3d 22 66 6f 72 6d 61 |2><A NAME="forma| 00008590 74 22 3e 46 69 6c 65 20 66 6f 72 6d 61 74 73 3c |t">File formats<| 000085a0 2f 41 3e 3c 2f 48 32 3e 0a 0a 54 68 69 73 20 73 |/A></H2>..This s| 000085b0 65 63 74 69 6f 6e 20 6f 75 74 6c 69 6e 65 73 20 |ection outlines | 000085c0 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 61 20 |the format of a | 000085d0 72 61 46 53 20 64 69 73 63 20 66 6f 72 20 74 68 |raFS disc for th| 000085e0 65 20 63 75 72 69 6f 75 73 20 61 6e 64 20 66 6f |e curious and fo| 000085f0 72 20 74 68 6f 73 65 0a 77 68 6f 20 63 61 6e 27 |r those.who can'| 00008600 74 20 77 61 69 74 20 66 6f 72 20 6d 65 20 74 6f |t wait for me to| 00008610 20 69 6d 70 6c 65 6d 65 6e 74 20 3c 4b 42 44 3e | implement <KBD>| 00008620 56 65 72 69 66 79 3c 2f 4b 42 44 3e 20 3a 2d 28 |Verify</KBD> :-(| 00008630 0a 0a 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 |..In the followi| 00008640 6e 67 20 64 65 73 63 72 69 70 74 69 6f 6e 73 2c |ng descriptions,| 00008650 20 61 6e 20 49 44 20 77 6f 72 64 20 69 73 20 6f | an ID word is o| 00008660 66 20 74 68 65 20 66 6f 72 6d 20 26 61 6d 70 3b |f the form &| 00008670 30 30 7a 7a 79 79 78 78 20 77 68 65 72 65 0a 78 |00zzyyxx where.x| 00008680 78 20 69 73 20 74 68 65 20 66 69 72 73 74 20 6c |x is the first l| 00008690 65 76 65 6c 20 64 69 72 65 63 74 6f 72 79 2c 20 |evel directory, | 000086a0 79 79 20 74 68 65 20 73 65 63 6f 6e 64 2c 20 61 |yy the second, a| 000086b0 6e 64 20 7a 7a 20 74 68 65 20 6c 65 61 66 20 6e |nd zz the leaf n| 000086c0 61 6d 65 2c 20 65 2e 67 2e 0a 26 61 6d 70 3b 30 |ame, e.g..&0| 000086d0 30 30 31 30 32 30 33 20 69 73 20 74 68 65 20 66 |0010203 is the f| 000086e0 69 6c 65 20 27 42 30 2e 41 32 2e 41 31 27 2e 20 |ile 'B0.A2.A1'. | 000086f0 54 68 65 20 72 6f 6f 74 20 64 69 72 65 63 74 6f |The root directo| 00008700 72 79 20 69 73 20 61 6c 77 61 79 73 0a 27 41 30 |ry is always.'A0| 00008710 2e 41 30 2e 41 30 27 2e 0a 0a 3c 48 33 3e 54 68 |.A0.A0'...<H3>Th| 00008720 65 20 3c 49 3e 21 41 74 74 65 72 65 72 3c 2f 49 |e <I>!Atterer</I| 00008730 3e 20 66 69 6c 65 3c 2f 48 33 3e 0a 0a 3c 50 3e |> file</H3>..<P>| 00008740 3c 50 52 45 3e 53 69 7a 65 20 44 65 73 63 72 69 |<PRE>Size Descri| 00008750 70 74 69 6f 6e 0a 36 34 20 20 20 64 69 73 63 20 |ption.64 disc | 00008760 6e 61 6d 65 2c 20 6e 75 6c 6c 20 74 65 72 6d 69 |name, null termi| 00008770 6e 61 74 65 64 2c 20 70 61 64 64 65 64 20 77 69 |nated, padded wi| 00008780 74 68 20 7a 65 72 6f 65 73 0a 34 20 20 20 20 74 |th zeroes.4 t| 00008790 68 65 72 65 20 69 73 20 67 75 61 72 61 6e 74 65 |here is guarante| 000087a0 65 64 20 6e 6f 20 75 6e 75 73 65 64 20 49 44 20 |ed no unused ID | 000087b0 6c 6f 77 65 72 20 74 68 61 6e 20 74 68 69 73 20 |lower than this | 000087c0 6f 6e 65 0a 34 20 20 20 20 61 74 74 72 69 62 75 |one.4 attribu| 000087d0 74 65 20 66 6c 61 67 73 20 66 6f 72 20 72 6f 6f |te flags for roo| 000087e0 74 20 64 69 72 65 63 74 6f 72 79 20 28 30 20 61 |t directory (0 a| 000087f0 74 20 70 72 65 73 65 6e 74 29 0a 34 20 20 20 20 |t present).4 | 00008800 30 20 28 75 6e 69 6d 70 6c 65 6d 65 6e 74 65 64 |0 (unimplemented| 00008810 29 0a 34 20 20 20 20 6f 20 3d 20 6e 75 6d 62 65 |).4 o = numbe| 00008820 72 20 6f 66 20 62 75 66 66 65 72 20 73 65 74 74 |r of buffer sett| 00008830 69 6e 67 73 20 66 6f 6c 6c 6f 77 69 6e 67 20 28 |ings following (| 00008840 61 6c 77 61 79 73 20 30 20 61 74 20 70 72 65 73 |always 0 at pres| 00008850 65 6e 74 29 0a 3f 3f 2a 6f 20 62 75 66 66 65 72 |ent).??*o buffer| 00008860 20 73 65 74 74 69 6e 67 73 3c 2f 50 52 45 3e 0a | settings</PRE>.| 00008870 0a 3c 48 33 3e 44 69 72 65 63 74 6f 72 79 20 66 |.<H3>Directory f| 00008880 6f 72 6d 61 74 3c 2f 48 33 3e 0a 0a 3c 50 3e 3c |ormat</H3>..<P><| 00008890 50 52 45 3e 53 69 7a 65 20 44 65 73 63 72 69 70 |PRE>Size Descrip| 000088a0 74 69 6f 6e 0a 34 20 20 20 20 6e 20 3d 20 6e 72 |tion.4 n = nr| 000088b0 20 6f 66 20 65 6e 74 72 69 65 73 0a 34 20 20 20 | of entries.4 | 000088c0 20 6d 20 3d 20 30 20 28 75 6e 69 6d 70 6c 65 6d | m = 0 (unimplem| 000088d0 65 6e 74 65 64 29 0a 34 20 20 20 20 49 44 20 6f |ented).4 ID o| 000088e0 66 20 70 61 72 65 6e 74 20 28 6d 61 78 2e 20 37 |f parent (max. 7| 000088f0 36 2e 37 36 2e 37 36 2e 30 29 20 2d 20 77 6f 72 |6.76.76.0) - wor| 00008900 64 20 63 6f 6e 74 61 69 6e 73 20 2d 31 20 66 6f |d contains -1 fo| 00008910 72 20 72 6f 6f 74 0a 34 20 20 20 20 26 38 30 30 |r root.4 &800| 00008920 30 30 30 30 30 20 28 75 6e 69 6d 70 6c 65 6d 65 |00000 (unimpleme| 00008930 6e 74 65 64 29 0a 34 2a 6e 20 20 6f 66 66 73 65 |nted).4*n offse| 00008940 74 20 74 6f 20 73 74 61 72 74 20 6f 66 20 64 69 |t to start of di| 00008950 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 0a |rectory entries.| 00008960 20 20 20 20 20 28 77 6f 72 64 73 20 6d 75 73 74 | (words must| 00008970 20 62 65 20 73 6f 72 74 65 64 20 69 6e 20 61 73 | be sorted in as| 00008980 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2c 20 66 |cending order, f| 00008990 69 6c 65 20 6e 61 6d 65 73 20 69 6e 20 41 53 43 |ile names in ASC| 000089a0 49 49 20 6f 72 64 65 72 2c 0a 20 20 20 20 20 6f |II order,. o| 000089b0 66 66 73 65 74 73 20 61 72 65 20 72 65 6c 61 74 |ffsets are relat| 000089c0 69 76 65 20 74 6f 20 73 74 61 72 74 20 6f 66 20 |ive to start of | 000089d0 74 68 65 73 65 20 6f 66 66 73 65 74 73 29 0a 34 |these offsets).4| 000089e0 2a 6d 20 20 69 66 20 61 6e 79 2c 20 6f 66 66 73 |*m if any, offs| 000089f0 65 74 20 74 6f 2e 2e 2e 20 28 75 6e 69 6d 70 6c |et to... (unimpl| 00008a00 65 6d 65 6e 74 65 64 29 0a 34 20 20 20 20 6f 66 |emented).4 of| 00008a10 66 73 65 74 20 74 6f 20 66 69 72 73 74 20 75 6e |fset to first un| 00008a20 75 73 65 64 20 62 79 74 65 20 61 66 74 65 72 20 |used byte after | 00008a30 64 69 72 20 65 6e 74 72 69 65 73 2f 64 69 72 20 |dir entries/dir | 00008a40 6e 61 6d 65 73 20 28 61 6c 73 6f 20 66 72 6f 6d |names (also from| 00008a50 0a 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 |. beginning | 00008a60 6f 66 20 6f 66 66 73 65 74 73 2c 20 73 6f 20 74 |of offsets, so t| 00008a70 68 61 74 20 69 66 20 74 68 65 72 65 20 61 72 65 |hat if there are| 00008a80 20 6e 6f 20 65 6e 74 72 69 65 73 2c 20 74 68 69 | no entries, thi| 00008a90 73 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 20 |s contains the. | 00008aa0 20 20 20 20 76 61 6c 75 65 20 34 29 3c 2f 50 52 | value 4)</PR| 00008ab0 45 3e 0a 0a 3c 50 3e 54 68 69 73 20 69 73 20 66 |E>..<P>This is f| 00008ac0 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 69 |ollowed by the i| 00008ad0 6e 64 69 76 69 64 75 61 6c 20 65 6e 74 72 69 65 |ndividual entrie| 00008ae0 73 2c 20 69 66 20 61 6e 79 3a 0a 0a 3c 50 3e 3c |s, if any:..<P><| 00008af0 50 52 45 3e 34 20 20 20 20 6c 6f 61 64 20 61 64 |PRE>4 load ad| 00008b00 64 72 65 73 73 0a 34 20 20 20 20 65 78 65 63 20 |dress.4 exec | 00008b10 61 64 64 72 65 73 73 0a 34 20 20 20 20 6c 65 6e |address.4 len| 00008b20 67 74 68 20 28 6f 72 20 46 69 6c 65 53 77 69 74 |gth (or FileSwit| 00008b30 63 68 20 68 61 6e 64 6c 65 20 69 66 20 66 6c 61 |ch handle if fla| 00008b40 67 20 62 69 74 20 31 32 20 73 65 74 29 0a 34 20 |g bit 12 set).4 | 00008b50 20 20 20 61 74 74 72 69 62 75 74 65 73 0a 34 20 | attributes.4 | 00008b60 20 20 20 72 61 46 53 20 61 74 74 72 69 62 75 74 | raFS attribut| 00008b70 65 73 2f 66 6c 61 67 73 3a 0a 20 20 20 20 20 62 |es/flags:. b| 00008b80 69 74 73 20 30 2d 31 3a 20 30 20 28 75 6e 69 6d |its 0-1: 0 (unim| 00008b90 70 6c 65 6d 65 6e 74 65 64 29 0a 20 20 20 20 20 |plemented). | 00008ba0 20 20 20 20 20 32 2d 33 3a 20 30 20 28 75 6e 69 | 2-3: 0 (uni| 00008bb0 6d 70 6c 65 6d 65 6e 74 65 64 29 0a 20 20 20 20 |mplemented). | 00008bc0 20 20 20 20 20 20 34 2d 35 3a 20 30 20 28 75 6e | 4-5: 0 (un| 00008bd0 69 6d 70 6c 65 6d 65 6e 74 65 64 29 0a 20 20 20 |implemented). | 00008be0 20 20 20 20 20 20 20 36 2d 37 3a 20 30 3d 6e 6f | 6-7: 0=no| 00008bf0 72 6d 61 6c 20 66 69 6c 65 2c 20 31 2f 32 20 75 |rmal file, 1/2 u| 00008c00 6e 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 33 3d |nimplemented, 3=| 00008c10 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 |directory. | 00008c20 20 20 20 20 31 32 3a 20 20 69 66 20 73 65 74 2c | 12: if set,| 00008c30 20 66 69 6c 65 20 69 73 20 6f 70 65 6e 20 3d 26 | file is open =&| 00008c40 67 74 3b 20 27 6c 65 6e 67 74 68 27 20 63 6f 6e |gt; 'length' con| 00008c50 74 61 69 6e 73 20 46 69 6c 65 53 77 69 74 63 68 |tains FileSwitch| 00008c60 20 68 61 6e 64 6c 65 0a 34 20 20 20 20 30 20 28 | handle.4 0 (| 00008c70 75 6e 69 6d 70 6c 65 6d 65 6e 74 65 64 29 0a 34 |unimplemented).4| 00008c80 20 20 20 20 49 44 20 6f 66 20 66 69 6c 65 2f 64 | ID of file/d| 00008c90 69 72 65 63 74 6f 72 79 0a 34 2a 3f 20 20 6e 61 |irectory.4*? na| 00008ca0 6d 65 20 6f 66 20 66 69 6c 65 2f 64 69 72 65 63 |me of file/direc| 00008cb0 74 6f 72 79 2c 20 7a 65 72 6f 2d 74 65 72 6d 69 |tory, zero-termi| 00008cc0 6e 61 74 65 64 2c 20 70 61 64 64 65 64 20 77 69 |nated, padded wi| 00008cd0 74 68 20 7a 65 72 6f 65 73 20 74 6f 20 74 68 65 |th zeroes to the| 00008ce0 20 6e 65 78 74 0a 20 20 20 20 20 6d 75 6c 74 69 | next. multi| 00008cf0 70 6c 65 20 6f 66 20 34 2e 0a 34 2a 3f 20 20 28 |ple of 4..4*? (| 00008d00 75 6e 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 61 |unimplemented, a| 00008d10 6c 77 61 79 73 20 6e 75 6c 6c 20 61 74 20 70 72 |lways null at pr| 00008d20 65 73 65 6e 74 29 0a 3c 2f 50 52 45 3e 0a 0a 3c |esent).</PRE>..<| 00008d30 50 3e 49 66 20 61 6e 20 65 6e 74 72 79 20 77 69 |P>If an entry wi| 00008d40 74 68 20 62 69 74 20 31 32 20 73 65 74 20 69 73 |th bit 12 set is| 00008d50 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 75 70 6f | encountered upo| 00008d60 6e 20 6c 6f 61 64 69 6e 67 20 64 69 72 65 63 74 |n loading direct| 00008d70 6f 72 79 20 64 61 74 61 2c 0a 72 61 46 53 20 63 |ory data,.raFS c| 00008d80 68 65 63 6b 73 20 77 68 65 74 68 65 72 20 69 74 |hecks whether it| 00008d90 73 20 6f 77 6e 20 6c 69 73 74 20 6f 66 20 66 69 |s own list of fi| 00008da0 6c 65 73 20 63 6f 6e 74 61 69 6e 73 20 74 68 61 |les contains tha| 00008db0 74 20 66 69 6c 65 20 49 44 20 74 6f 67 65 74 68 |t file ID togeth| 00008dc0 65 72 20 77 69 74 68 0a 74 68 65 20 46 69 6c 65 |er with.the File| 00008dd0 53 77 69 74 63 68 20 68 61 6e 64 6c 65 20 66 6f |Switch handle fo| 00008de0 75 6e 64 20 69 6e 20 74 68 65 20 64 69 72 65 63 |und in the direc| 00008df0 74 6f 72 79 20 65 6e 74 72 79 2e 20 49 66 20 74 |tory entry. If t| 00008e00 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 |here is no such | 00008e10 65 6e 74 72 79 0a 69 6e 20 74 68 65 20 6c 69 73 |entry.in the lis| 00008e20 74 20 6f 66 20 6f 70 65 6e 20 66 69 6c 65 73 2c |t of open files,| 00008e30 20 69 74 20 69 73 20 61 73 73 75 6d 65 64 20 74 | it is assumed t| 00008e40 68 61 74 20 74 68 65 20 6d 61 63 68 69 6e 65 20 |hat the machine | 00008e50 63 72 61 73 68 65 64 20 61 6e 64 20 74 68 65 0a |crashed and the.| 00008e60 6c 65 6e 67 74 68 20 69 73 20 72 65 73 74 6f 72 |length is restor| 00008e70 65 64 2e 0a 0a 3c 50 20 41 4c 49 47 4e 3d 22 72 |ed...<P ALIGN="r| 00008e80 69 67 68 74 22 3e 3c 49 3e 3c 41 20 48 52 45 46 |ight"><I><A HREF| 00008e90 3d 22 23 74 6f 70 22 3e 42 61 63 6b 20 74 6f 20 |="#top">Back to | 00008ea0 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 70 |the top of the p| 00008eb0 61 67 65 3c 2f 41 3e 3c 2f 49 3e 0a 0a 3c 2f 42 |age</A></I>..</B| 00008ec0 4f 44 59 3e 3c 2f 48 54 4d 4c 3e 0a |ODY></HTML>.| 00008ecc