<<>> <> <> <> <<>> DIRECTORY PFSPrefixMap USING [EntryList, TranslationWithHints], PFSNames USING [PATH], Rope USING [ROPE]; <<>> <<>> PFSPrefixMapExtras: CEDAR DEFINITIONS ~ BEGIN <> ROPE: TYPE = Rope.ROPE; PATH: TYPE = PFSNames.PATH; EntryList: TYPE = PFSPrefixMap.EntryList; TranslationWithHints: TYPE = PFSPrefixMap.TranslationWithHints; <> PrefixTableList: TYPE ~ LIST OF PrefixTableEntry; PrefixTableEntry: TYPE ~ RECORD [ prefix: PATH, translation: PATH, fsName: ROPE, suppliedPrefixLen: CARDINAL _ 0 ]; <<>> <> <> TranslateWithPTable: PROC [name: PATH, pTable: PrefixTableList _ NIL] RETURNS [PATH]; <> <<>> TranslateAndGetHintsWithPTable: PROC [name: PATH, pTable: PrefixTableList _ NIL] RETURNS [TranslationWithHints]; <> <<>> InsertIntoPTable: PROC [prefix: PATH, translation: PATH, pTable: PrefixTableList _ NIL] RETURNS[newPTable: PrefixTableList]; <> <<>> InsertIntoNewPTable: PROC [prefix: PATH, translation: PATH] RETURNS[newPTable: PrefixTableList]; <> DeleteFromPTable: PROC [name: PATH, pTable: PrefixTableList _ NIL] RETURNS [existing: PATH, newPTable: PrefixTableList]; <> LookupWithPTable: PROC [prefix: PATH, pTable: PrefixTableList _ NIL] RETURNS [PATH]; <> GetMapFromPTable: PROC [pTable: PrefixTableList _ NIL] RETURNS [EntryList]; <> <<>> SetMapFromPTable: PROC [pTable: PrefixTableList _ NIL]; <> <<>> FromMapToPTable: PROC [map: EntryList _ NIL] RETURNS[PrefixTableList]; <> END.