home *** CD-ROM | disk | FTP | other *** search
- (***************************************************************************
-
- $RCSfile: FileSysRes.mod $
- Description: Interface to FileSystem.resource
-
- Created by: fjc (Frank Copeland)
- $Revision: 3.2 $
- $Author: fjc $
- $Date: 1994/08/08 00:57:14 $
-
- $VER: filesysres.h 36.4 (3.5.90)
- Includes Release 40.15
-
- (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- All Rights Reserved
-
- Oberon-A interface Copyright © 1994, Frank Copeland.
- This file is part of the Oberon-A Interface.
- See Oberon-A.doc for conditions of use and distribution.
-
- ***************************************************************************)
-
- MODULE FileSysRes;
-
- (*
- ** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
- ** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
- ** $V- OvflChk $Z- ZeroVars
- *)
-
- IMPORT E := Exec, D := Dos;
-
-
- (*
- ** FileSystem.resource description
- *)
-
- CONST
-
- name * = "FileSystem.resource";
-
- TYPE
-
- FileSysResourcePtr * = CPOINTER TO FileSysResource;
- FileSysResource * = RECORD (E.Node) (* on resource list *)
- creator * : E.STRPTR; (* name of creator of this resource *)
- fileSysEntries * : E.List; (* list of FileSysEntry structs *)
- END; (* FileSysResource *)
-
- FileSysEntryPtr * = CPOINTER TO FileSysEntry;
- FileSysEntry * = RECORD (E.Node) (* on fsrFileSysEntries list *)
- (* lnName is of creator of this entry *)
- dosType * : E.ULONG; (* DosType of this FileSys *)
- version * : E.ULONG; (* Version of this FileSys *)
- patchFlags * : SET; (* bits set for those of the following that *)
- (* need to be substituted into a standard *)
- (* device node for this file system: e.g. *)
- (* 180H for substitute SegList & GlobalVec *)
- fseType * : E.ULONG; (* device node type: zero *)
- task * : E.TaskPtr; (* standard dos "task" field *)
- lock * : D.FileLockPtr; (* not used for devices: zero *)
- handler * : D.BSTR; (* filename to loadseg (if SegList is null) *)
- stackSize * : E.ULONG; (* stacksize to use when starting task *)
- priority * : LONGINT; (* task priority when starting task *)
- startup * : D.BPTR; (* startup msg: FileSysStartupMsg for disks *)
- segList * : D.BPTR; (* code to run to start new task *)
- globalVec * : D.BPTR; (* BCPL global vector when starting task *)
- (* no more entries need exist than those implied by fsePatchFlags *)
- END; (* FileSysEntry *)
-
-
- (**-- Resource Base variable --------------------------------------------*)
-
- VAR
-
- base * : FileSysResourcePtr;
-
-
- (**-- Resource Base variable --------------------------------------------*)
- (** $L- Address globals through A4 *)
-
-
- (**-----------------------------------*)
- PROCEDURE OpenResource * (mustOpen : BOOLEAN);
-
- BEGIN (* OpenResource *)
- IF base = NIL THEN
- base := E.base.OpenResource (name);
- IF mustOpen & (base = NIL) THEN HALT (100) END;
- END; (* IF *)
- END OpenResource;
-
-
- END FileSysRes.
-