[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


PURPOSE

    The FileSystem.resource is where boot disk drivers rendezvous
    to share file system code segments for partitions specified by
    dos type.  Prior to V36, it was created by the first driver
    that needed to use it.  For V36, its creation is ensured by the
    rom boot process.

CONTENTS

    The FileSystem.resource is described in the include file
    resources/filesysres.h.  The nodes on it describe how to
    algorithmically convert the result of MakeDosNode (from the
    expansion.library) to a node appropriate for the dos type.

    FileSysEntry
        fse_Node            on fsr_FileSysEntries list
                            ln_Name is of creator of this entry
        fse_DosType         DosType of this FileSys: e.g. 0x444f5301
                            for the fast file system.
        fse_Version         high word is the version, low word is
                            the revision.
        fse_PatchFlags      bits set for those of the following that
                            need to be substituted into a standard
                            device node for this file system: e.g.
                            $180 for substitute SegList & GlobalVec
        fse_Type            device node type: zero
        fse_Task            standard dos "task" field
        fse_Lock            must be zero
        fse_Handler         for V36, if bit 31 is set, this is not
                            an AmigaDOS partition.
        fse_StackSize       stacksize to use when starting task
        fse_Priority        task priority when starting task
        fse_Startup         startup msg: FileSysStartupMsg for disks
        fse_SegList         segment of code to run to start new task
        fse_GlobalVec       BCPL global vector when starting task

    no more entries need exist than those implied by fse_PatchFlags,
    so entries do not have a fixed size.  For V36, for example, the
    entry for the fast file system (fse_DosType 0x444f5301)
    contains a zero fse_PatchFlags, and thus no entries beyond that.