RISCOS.com

www.riscos.com Technical Support:
Programmer's Reference Manual

 

RamFS


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

Interrupt status is 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

Related vectors

None


RamFS_Drives
(SWI &40782)

Calls FileCore_Drives

On entry

See FileCore_Drives

On exit

See FileCore_Drives

Interrupts

Interrupt status is 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

Related vectors

None


RamFS_FreeSpace
(SWI &40783)

Calls FileCore_FreeSpace

On entry

See FileCore_FreeSpace

On exit

See FileCore_FreeSpace

Interrupts

Interrupt status is 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

Related vectors

None


RamFS_DescribeDisc
(SWI &40785)

Calls FileCore_DescribeDisc

On entry

See FileCore_DescribeDisc

On exit

See FileCore_DescribeDisc (FileCore_FreeSpace)

Interrupts

Interrupt status is 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)

Related vectors

None

* Commands


*Configure RamFsSize

Sets the configured amount of memory reserved for the RAM filing system

Syntax

*Configure RamFSSize mK|n

Parameters

mK - 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 commands

None

Related SWIs

OS_ChangeDynamicArea, OS_ReadRAMFsLimits

Related vectors

None


*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

This edition Copyright © 3QD Developments Ltd 2015
Last Edit: Tue,03 Nov 2015