DIRECTORY BTree, BTreeSimple, 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. autoGVUpdate: BOOLEAN_FALSE, ringsInvalid: BOOL_TRUE, -- set to cause recreation of standard ring tunes tonesVolume: CARDINAL _ 2, defaultRingVolume: CARDINAL _ 2, subduedVolumeInterval: CARDINAL_1, feepVolume: CARDINAL _ 0 ]; pd: REF PD; WPState: TYPE = REF WPStateRecord; WPStateRecord: TYPE = RECORD [ wpTree: BTreeSimple.Tree, wpFile: FS.OpenFile, wpFeepTree: BTreeSimple.Tree, wpFeepFile: FS.OpenFile, 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]; }. RThNet.mesa Last modified by D. Swinehart, July 23, 1984 1:33:30 pm PDT 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 Default values for ringing -- too device-dependent, but life is hard. 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 Êf˜Jšœ ™ Jšœ;™;J˜Jšœ6™6J˜šÏk ˜ J˜J˜ J˜J˜Jšœœ˜Jšœœœ˜Jšœœ˜J˜J˜—Jšœœ˜J˜Jšœ&™&J˜šœœœ˜JšœœÏc"˜2Jšœœž˜,Jšœœž7˜Nšœœœž5˜XJšœJ™N—Jšœœ˜J™EJšœœœž1˜JJšœ œ˜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™JšœQ™QJšœ?™?JšœO™OJ˜š Ïnœœœœœœ˜hJšœ™J™U—J™šŸœœ˜Jšœœœœ˜:Jšœœœ˜(Jšœœ œ œ˜@—J˜šŸœœ'˜