DEFINITION MODULE NonvolatileD; (*$ Implementation:=FALSE *)
(* 02-Apr-1994/bp *)

FROM SYSTEM IMPORT ADDRESS, LONGSET;
IMPORT ExecD;

CONST
  nonvolatileName="nonvolatile.library";

  (* Bits fuer LONGSET: *)
  deleteBit =0;
  appnameBit=31;

  (* Fehler von StoreNV(); *)
  badName=1;
  writeProt=2;
  fail=3;
  fatal=4;

TYPE
  StrPtr=ADDRESS;

  NonvolatileBase=ExecD.Library;
  NonvolatileBasePtr=POINTER TO NonvolatileBase;

  NVInfoPtr=POINTER TO NVInfo;
  NVInfo=RECORD
    maxStorage: LONGCARD;
    freeStorage: LONGCARD;
  END;

  NVEntryPtr=POINTER TO NVEntry;
  NVEntry=RECORD
    node: RECORD  (* MinNode mit korrekten Zeigern *)
            succ,
            pred: NVEntryPtr;
          END;
    name: StrPtr;
    size: LONGCARD;
    protection: LONGSET;
  END;

  NVMinListPtr=POINTER TO NVMinList;
  NVMinList=RECORD
    head,
    tail,
    tailPred: NVEntryPtr;
  END;

END NonvolatileD.noimp
