DIRECTORY BTree, BTreeVM, FS, Log USING [ WhereToReport ], Rope USING [ ROPE ], RefTab USING [ Ref ] ; ThNet: CEDAR DEFINITIONS = { PD: TYPE = RECORD [ debug: BOOLEAN, -- Diagnostic and progress display encryptionRequested: BOOLEAN, -- Encrypt RPC encryptVoice: BOOLEAN, -- Separate decision; false for debugging only, please! defaultLarkReports: BOOLEAN_FALSE -- If TRUE and debug, Lark events reported SOMEwhere. ]; pd: REF PD; WPState: TYPE = REF WPStateRecord; WPStateRecord: TYPE = RECORD [ wpTree: BTree.Tree, wpVM: BTreeVM.Handle, keyRecord: REF, wpFeepTree: BTree.Tree, wpFeepVM: BTreeVM.Handle, feepKeyRecord: REF, wpDataVMFile: FS.OpenFile, wpDataVM: BTreeVM.Handle, wpDataVMLen: INT_0, wpDataVMValid: BOOL_TRUE, wpOpen: BOOL_FALSE ]; ROPE: TYPE=Rope.ROPE; WPListing: TYPE = RefTab.Ref; -- a table of keys and values. Attrs: TYPE = MACHINE DEPENDENT { name(1), rName(2), officeNumber(3), officeDDDNumber(4), outsideNumber(5), officeAddress(6), officeLocation(7), organization(8), homeAddress(9), frequency(10), mailSystem(11), primaryKey(12), (15) }; WhitePagesLookup: PROC[ wpState: WPState, name: ROPE, feep: BOOL_FALSE ] RETURNS [ listing: WPListing ]; WhitePagesEntry: PROC[ wpState: WPState, name: ROPE_NIL, key: ATOM_$officeNumber, feep: BOOL_FALSE, listing: WPListing_NIL ] RETURNS [fullRName: ROPE, entry: ROPE, newListing: WPListing]; WhitePagesEnter: PROC[wpState: WPState, listing: WPListing]; WhitePagesPrint: PUBLIC SAFE PROC[wpState: WPState, listing: WPListing]; InitWhitePagesDatabase: PUBLIC SAFE PROC[ fileName: ROPE, accessOptions: FS.AccessOptions _ $read, howToComplain: Log.WhereToReport_$System] RETURNS[wpState: WPState_NIL]; HowToDial: PROC[phoneNumber: ROPE, ownExtension: ROPE_NIL] RETURNS [whatToDial: ROPE, isLocalExtension: BOOLEAN]; FeepName: PROC[rName: ROPE] RETURNS [feepName: ROPE]; }. ThNet.mesa Last modified by D. Swinehart, January 13, 1984 4:36 pm Ephemeral and Persistent data base services for Thrush Thrush-wide system control parameters. Otherwise, only reported if LarkControl window up for this Lark and debug=TRUE Types WhitePages These functions provide access to Swinehart's cobby old BTree-based "White Pages" database. This one is assumed to be keyed and sorted by RName. They are at present only called by the RName diddling code; see same for usage. name must be in form rr.xxxxxxx Returns first listing for which name is a substring, case unimportant, of the listing Put in something new, or replace something old. Include an enumerator here, if anybody ends up wanting it outside the implementation. Telephone number interpretation ʘJšœ ™ Jšœ7™7J˜Jšœ6™6J˜šÏk ˜ J˜J˜J˜Jšœœ˜Jšœœœ˜Jšœœ˜J˜J˜—Jšœœ˜J˜Jšœ&™&J˜šœœœ˜JšœœÏc"˜2Jšœœž˜,Jšœœž7˜Nšœœœž5˜WJšœJ™N—J˜—šœœœ˜ J˜—™J˜Jšœ œœ˜"šœœœ˜J˜J˜Jšœ œ˜J˜J˜J˜Jšœœ˜J˜Jšœœ ˜J˜Jšœ œ˜Jšœœœ˜J˜Jšœœ˜J˜J˜—Jšœœœ˜Jšœ œž˜J˜J˜—J˜—™ J™JšœQ™QJšœ?™?JšœO™OJ˜š Ïnœœœœœœ˜hJšœ™J™U—J™šŸœœ˜Jšœœœœ˜:Jšœœœ˜(Jšœœ œ œ˜@—J˜šŸœœ'˜