--  DirectoryFiles.mesa (last edited by: Keith on: December 24, 1980  9:19 AM)

DIRECTORY
  DirectoryInternal USING [DirectoryDescriptor, PDT, PDTNode],
  File USING [Capability],
  Space USING [Handle],
  Volume USING [ID];
  
DirectoryFiles: DEFINITIONS =

BEGIN

  maxDCache: CARDINAL = 40;  --  size of directory cache
  
  directoryCache: LONG POINTER TO ARRAY [1.. maxDCache] OF DCEntry;
  
  DCEntry: TYPE = RECORD [
    cap: File.Capability,
    refCount: CARDINAL,
    pVT: CARDINAL,
    pDTNode: DirectoryInternal.PDTNode,
    dir: DirectoryInternal.DirectoryDescriptor];
    
    
  maxDVolumes: CARDINAL = 20;
  
  volumeTable: LONG POINTER TO ARRAY [0.. maxDVolumes) OF VTEntry;
  
  VTEntry: TYPE = RECORD [
      volName: StringBody,
      filler: PACKED ARRAY [0.. 40) OF CHARACTER,
      volID: Volume.ID,
      pDT: DirectoryInternal.PDT,
      dtSpace: Space.Handle];
      
  GetDirectoryCache: PROC [cap: File.Capability]
    RETURNS [pDC: CARDINAL];
    
  GetVTEntryFromID: PROC [vol: Volume.ID] RETURNS [pVT: CARDINAL];
  
  PDCFromDD: PROC [pDD: LONG POINTER TO DirectoryInternal.DirectoryDescriptor] RETURNS [pDC: CARDINAL];
  
  DoneWith: PROC [pDD: LONG POINTER TO DirectoryInternal.DirectoryDescriptor];

END.


LOG

Time: August 28, 1980  12:03 PM By: Keith	Action: Created File
Time: December 24, 1980  9:20 AM By: Keith Action: Changed POINTER TO DirectoryDescriptor to LONG POINTER TO DirectoryDescriptor in PDCFromDD.  Changed DirectoryCache and VolumeTable to LONG POINTERS.  Added DoneWith.