Showing changes from revision #2 to #3:
Added | Removed | Changed
The FileSwitch module can handle recursive calls made to different streams, via the same or different entry points.FileSwitch module can handle recursive calls made to different streams, via the same or different entry points.
For example, two different file are to be accessed using; file 1 is an output file on a disc that is no longer valid, and file 2 is a spool file.
If the filing systems are different then both calls will work as expected. If, however, they are the same, then it is the responsibility of the filing system to decide whether it can handle it. Filing systems that use the FileCore module do not.FileCore module do not.
Filing systems must not be called from interrupt code. An error may/or may not be given.
As a system may use different filing systems, applications must be written to handle situations where a filing system may not support a command that other filing system do support. In this instance, an error will be returned, and it is the responsibility of the application to handle it.
In addition to true filing system used to store information, other device-orientated systems are assigned like a filing system. These are called System Devices. They can be used anywhere that require a file name as an input, or destination for output, using a method called redirection. TheSystem Devices?SystemDevices . They can be used anywhere that require a file name as an input, or destination for output, using a method called redirection. The SystemDevices module is responsible for providing these devices.
System Devices suitable for input | |
---|---|
kbd: |
The keyboard, reading a line at a time using OS_ReadLine |
rawkbd: |
The keyboard, reading a character at a time using OS_ReadC |
null: |
The ‘null device’, which effectively gives no input |
System Devices suitable for Output | |
---|---|
vdu: |
The screen, using GSRead format passed to OS_WriteC |
rawvdu: |
The screen, via the VDU drivers and OS_WriteC |
printer: |
The currently configured printer |
netprint: |
The currently configured printer, provided by the |
null: |
The ‘null device’, which effectively gives no output |
Note: An error is given if the specified system device is not present. e.g the SystemDevices module is not present.SystemDevices module is not present.
More information is available in the System Devices?SystemDevices section.
Other filing systems may store extra information not detailed here, with each file. To find out more, you should consult the documentation provided with the filing system.