DIRECTORY BasicTime, FS, IO USING [ STREAM ], PupDefs, Rope USING [ ROPE ], RPC USING [ShortROPE]; ComputeServerCallbacks: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; Error: ERROR [error: FS.ErrorDesc]; OpenFile: TYPE = INT; nullOpenFile: OpenFile = 0; PageBuffer: TYPE = LONG DESCRIPTOR FOR ARRAY OF WORD; RESULTPageBuffer: TYPE = PageBuffer; VALUEPageBuffer: TYPE = PageBuffer; rSetDefaultWDir: PROC [dir: RPC.ShortROPE]; rGetDefaultWDir: PROC RETURNS [RPC.ShortROPE]; rExpandName: PROC[name: ROPE, wDir: RPC.ShortROPE] RETURNS [fullFName: ROPE, cp: FS.ComponentPositions, dirOmitted: BOOLEAN]; rFileInfo: PROC [name: ROPE, wantedCreatedTime: BasicTime.GMT _ BasicTime.nullGMT, remoteCheck: BOOLEAN _ TRUE, wDir: RPC.ShortROPE] RETURNS [fullFName, attachedTo: ROPE, keep: CARDINAL, bytes: INT, created: BasicTime.GMT]; rStartEnumerateForInfo: PROC [listenerPupAddress: PupDefs.PupAddress, pattern: ROPE, wDir: RPC.ShortROPE] RETURNS [fullFName, attachedTo: ROPE, created: BasicTime.GMT, bytes: INT, keep: CARDINAL, continue: BOOLEAN]; rNextEnumerateForInfo: PROC [listenerPupAddress: PupDefs.PupAddress] RETURNS [fullFName, attachedTo: ROPE, created: BasicTime.GMT, bytes: INT, keep: CARDINAL, continue: BOOLEAN]; rStartEnumerateForNames: PROC [listenerPupAddress: PupDefs.PupAddress, pattern: ROPE, wDir: RPC.ShortROPE] RETURNS [fullFName: ROPE, continue: BOOLEAN]; rNextEnumerateForNames: PROC [listenerPupAddress: PupDefs.PupAddress] RETURNS [fullFName: ROPE, continue: BOOLEAN]; rDoneEnumerate: PROC [listenerPupAddress: PupDefs.PupAddress]; rOpen: PROC [listenerPupAddress: PupDefs.PupAddress, name: ROPE, lock: FS.Lock _ $read, wantedCreatedTime: BasicTime.GMT _ BasicTime.nullGMT, remoteCheck: BOOLEAN _ TRUE, wDir: RPC.ShortROPE, forceRemoteOpen: BOOL _ FALSE] RETURNS [globalNameToOpen: ROPE, openFile: OpenFile]; rCreate: PROC [listenerPupAddress: PupDefs.PupAddress, name: ROPE, setPages: BOOLEAN _ TRUE, pages: INT _ 0, setKeep: BOOLEAN _ FALSE, keep: CARDINAL _ 1, wDir: RPC.ShortROPE] RETURNS [OpenFile]; rOpenOrCreate: PROC [listenerPupAddress: PupDefs.PupAddress, name: ROPE, keep: CARDINAL _ 1, pages: INT _ 5, wDir: RPC.ShortROPE] RETURNS [OpenFile]; rGetClass: PROC [listenerPupAddress: PupDefs.PupAddress, file: OpenFile] RETURNS [ATOM]; rSameFile: PROC [listenerPupAddress: PupDefs.PupAddress, file1, file2: OpenFile] RETURNS [BOOLEAN]; rGetName: PROC [listenerPupAddress: PupDefs.PupAddress, file: OpenFile] RETURNS [fullFName, attachedTo: ROPE]; rGetInfo: PROC [listenerPupAddress: PupDefs.PupAddress, file: OpenFile] RETURNS [keep: CARDINAL, pages, bytes: INT, created: BasicTime.GMT, lock: FS.Lock]; rSetPageCount: PROC [listenerPupAddress: PupDefs.PupAddress, file: OpenFile, pages: INT]; rSetByteCountAndCreatedTime: PROC [listenerPupAddress: PupDefs.PupAddress, file: OpenFile, bytes: INT _ -1, created: BasicTime.GMT _ BasicTime.nullGMT]; rRead: PROC [listenerPupAddress: PupDefs.PupAddress, file: OpenFile, from, nPages: INT, pageBuffer: RESULTPageBuffer] ; rWrite: PROC [listenerPupAddress: PupDefs.PupAddress, file: OpenFile, to: INT, nPages: INT, pageBuffer: VALUEPageBuffer]; rClose: PROC [listenerPupAddress: PupDefs.PupAddress, file: OpenFile]; rCopy: PROC [listenerPupAddress: PupDefs.PupAddress, from, to: ROPE, setKeep: BOOLEAN _ FALSE, keep: CARDINAL _ 1, wantedCreatedTime: BasicTime.GMT _ BasicTime.nullGMT, remoteCheck: BOOLEAN _ TRUE, attach: BOOLEAN _ FALSE, wDir: RPC.ShortROPE _ NIL] RETURNS [toFName: ROPE]; rDelete: PROC [listenerPupAddress: PupDefs.PupAddress, name: ROPE, wantedCreatedTime: BasicTime.GMT _ BasicTime.nullGMT, wDir: RPC.ShortROPE _ NIL]; rRename: PROC [listenerPupAddress: PupDefs.PupAddress, from, to: ROPE, setKeep: BOOLEAN _ FALSE, keep: CARDINAL _ 1, wantedCreatedTime: BasicTime.GMT _ BasicTime.nullGMT, wDir: RPC.ShortROPE _ NIL]; rSetKeep: PROC [listenerPupAddress: PupDefs.PupAddress, name: ROPE, keep: CARDINAL _ 1, wDir: RPC.ShortROPE _ NIL]; END.... šComputeServerCallbacks.mesa Compute Server callback interface for the Summoner. This RPC interface is between the Server (client for this interface) and the Client (who is the server for this interface). The Client and Server reverse rolls here because this is a callback interface. Last Edited by: Bob Hagmann, May 4, 1985 10:42:35 pm PDT Copyright c 1984 by Xerox Corporation. All rights reserved. For UserProfile rBoolean: PROC [listenerPupAddress: PupDefs.PupAddress, key: Rope.ROPE, default: BOOLEAN _ FALSE] RETURNS [value: BOOLEAN]; rNumber: PROC [listenerPupAddress: PupDefs.PupAddress, key: Rope.ROPE, default: INT _ 0] RETURNS [value: INT]; rToken: PROC [listenerPupAddress: PupDefs.PupAddress, key: Rope.ROPE, default: Rope.ROPE _ NIL] RETURNS [value: Rope.ROPE]; rListOfTokens: PROC [listenerPupAddress: PupDefs.PupAddress, key: Rope.ROPE, default: LIST OF Rope.ROPE _ NIL] RETURNS [value: LIST OF Rope.ROPE]; rLine: PROC [listenerPupAddress: PupDefs.PupAddress, key: Rope.ROPE, default: Rope.ROPE _ NIL] RETURNS [value: Rope.ROPE]; rGetProfileName: PROC [listenerPupAddress: PupDefs.PupAddress] RETURNS [Rope.ROPE]; For UserCredentials rGetState: PROC [listenerPupAddress: PupDefs.PupAddress] RETURNS [UserCredentials.State]; rGet: PROC [listenerPupAddress: PupDefs.PupAddress] RETURNS [name, password: Rope.ROPE]; Bob Hagmann May 4, 1985 10:42:35 pm PDT changes to: rCopy, DIRECTORY Κϋ˜headšœ™Ibodyšœ€™€L™8Jšœ Οmœ1™žœ žœ˜yJ˜Jš œžœ:˜FJ˜J™J™J™J™Jš œžœ4žœ žœžœžœ#žœ#žœžœ žœžœžœ žœžœ žœ˜’J™J™Jš  œžœ0žœžœžœ žœ˜”J™J™Jš œžœ4žœ žœžœžœ#žœžœ žœ˜ΖJ˜Jš  œžœ0žœžœ žœ žœ˜sJ™™J™—Jš œžœ4žœ žœžœžœ žœ™{Jš  œžœ4žœ žœžœ žœ™nJš œžœ4žœžœžœžœžœ™{Jš  œžœ4žœ žœžœžœžœžœ žœžœžœ™’Jš œžœ4žœžœžœžœžœ™zJš œžœ*žœžœ™S™Jšœ™—Iprocš  œžœ*žœ™YNš œžœ*žœžœ™XJ™J˜Jšžœ˜J˜code™'Ošœ Οr™—O™O™—…—š/