RamFS


Contents


Introduction

RamFS is the RAM Filing System. It is a module that, together with FileSwitch and FileCore, provides a RAM-based filing system.

Most of the facilities that you will use with RamFS are in fact provided by FileCore and FileSwitch, and you should read the chapters on those modules (on FileSwitch and FileCore respectively) in conjunction with this one.


Overview

RamFS is a module that provides the hardware-dependent part of a RAM-based filing system. It uses FileCore, and so conforms to the standards for a module that does so; see the chapter entitled FileCore for details.

It provides:

  • a * Command to select itself (*RamFS)
  • SWIs that give access to corresponding FileCore SWIs
  • the entry points and low-level routines that FileCore needs to access the RAM-based filing system.

Except for the low-level entry points and routines (which are for the use of FileCore only) all of these are described below.


SWI calls


RamFS_DiscOp
(SWI &40780)

Calls FileCore_DiscOp
On entry

See FileCore_DiscOp

On exit

See FileCore_DiscOp

Interrupts
Interrupts are undefined
Fast interrupts are enabled
Processor mode
Processor is in SVC mode
Re-entrancy
Not defined
Use

This SWI calls FileCore_DiscOp, after first setting R8 to point to the FileCore instantiation private word for RamFS.

This call is functionally identical to FileCore_DiscOp.

Related SWIs
FileCore_DiscOp

RamFS_Drives
(SWI &40782)

Calls FileCore_Drives
On entry

See FileCore_Drives

On exit

See FileCore_Drives

Interrupts
Interrupts are undefined
Fast interrupts are enabled
Processor mode
Processor is in SVC mode
Re-entrancy
Not defined
Use

This SWI calls FileCore_Drives, after first setting R8 to point to the FileCore instantiation private word for RamFS.

This call is functionally identical to FileCore_Drives.

Related SWIs
FileCore_Drives

RamFS_FreeSpace
(SWI &40783)

Calls FileCore_FreeSpace
On entry

See FileCore_FreeSpace

On exit

See FileCore_FreeSpace

Interrupts
Interrupts are undefined
Fast interrupts are enabled
Processor mode
Processor is in SVC mode
Re-entrancy
Not defined
Use

This SWI calls FileCore_FreeSpace, after first setting R8 to point to the FileCore instantiation private word for RamFS.

This call is functionally identical to FileCore_FreeSpace.

Related SWIs
FileCore_FreeSpace

RamFS_DescribeDisc
(SWI &40785)

Calls FileCore_DescribeDisc
On entry

See FileCore_DescribeDisc

On exit

See FileCore_DescribeDisc (FileCore_FreeSpace)

Interrupts
Interrupts are undefined
Fast interrupts are enabled
Processor mode
Processor is in SVC mode
Re-entrancy
Not defined
Use

This SWI calls FileCore_DescribeDisc (FileCore_FreeSpace), after first setting R8 to point to the FileCore instantiation private word for RamFS.

This call is functionally identical to FileCore_DescribeDisc.

Related SWIs
FileCore_DescribeDisc, FileCore_FreeSpace

* Commands


*Configure RamFsSize

Sets the configured amount of memory reserved for the RAM filing system
Syntax
*Configure RamFsSize <m>K|<n>
Parameters
<m>-K - number of kilobytes of memory reserved
<n>-number of pages of memory reserved; n <= 127
Use

*Configure RamFsSize sets the configured amount of memory reserved for the RAM Filing System to use (when the RAMFS module is present) after the next hard reset. The default value is 0, which disables the RAM filing system.

Example

*Configure RamFSSize 128K

Related SWIs
OS_ChangeDynamicArea, OS_ReadRAMFsLimits

*Ram

Selects the RAM Filing System as the current filing system
Syntax
*Ram
Parameters
None
Use

*Ram selects the RAM Filing System as the filing system for subsequent operations. Remember that it is not necessary to switch filing systems if you use the full pathnames of objects. For example, you can refer to NetFS objects (on a file server, say) when RamFS is the current filing system.

Memory must have previously been reserved for the RAM filing system; the simplest ways to do so are to use the command *Configure RamFSSize, or to use the Task Manager from the desktop.

Example

*Ram

Related * commands
*ADFS, *Configure RamFSSize, *Net, *ResourceFS

Document information

Maintainer(s): RISCOS Ltd <developer@riscos.com>
History:
RevisionDateAuthorChanges
1ROLInitial version
Disclaimer:

Copyright © Pace Micro Technolgy plc, 2002.
Portions copyright © RISCOS Ltd, 2002.
Published by RISCOS Limited.
No part of this publication may be reproduced or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, or stored in any retrieval system of any nature, without the written permission of the copyright holder and the publisher, application for which shall be made to the publisher.