<> <> <> <> <> <<>> DIRECTORY BasicTime, FS, IO USING [ STREAM ], Pup USING [Address], Rope USING [ ROPE ], RPC USING [ShortROPE], UserCredentials USING [State]; 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; rGeneric: PROC [requestCode: ATOM, requestString: ROPE] RETURNS [resultCode: ATOM, resultString: ROPE]; -- generic call to allow for expansion without RPC interface recompilation <> 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: Pup.Address, pattern: ROPE, wDir: RPC.ShortROPE] RETURNS [fullFName, attachedTo: ROPE, created: BasicTime.GMT, bytes: INT, keep: CARDINAL, continue: BOOLEAN]; rNextEnumerateForInfo: PROC [listenerPupAddress: Pup.Address] RETURNS [fullFName, attachedTo: ROPE, created: BasicTime.GMT, bytes: INT, keep: CARDINAL, continue: BOOLEAN]; rStartEnumerateForNames: PROC [listenerPupAddress: Pup.Address, pattern: ROPE, wDir: RPC.ShortROPE] RETURNS [fullFName: ROPE, continue: BOOLEAN]; rNextEnumerateForNames: PROC [listenerPupAddress: Pup.Address] RETURNS [fullFName: ROPE, continue: BOOLEAN]; rDoneEnumerate: PROC [listenerPupAddress: Pup.Address]; <<>> <<>> rOpen: PROC [listenerPupAddress: Pup.Address, 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: Pup.Address, name: ROPE, setPages: BOOLEAN _ TRUE, pages: INT _ 0, setKeep: BOOLEAN _ FALSE, keep: CARDINAL _ 1, wDir: RPC.ShortROPE] RETURNS [OpenFile]; rOpenOrCreate: PROC [listenerPupAddress: Pup.Address, name: ROPE, keep: CARDINAL _ 1, pages: INT _ 5, wDir: RPC.ShortROPE] RETURNS [OpenFile]; rGetClass: PROC [listenerPupAddress: Pup.Address, file: OpenFile] RETURNS [ATOM]; <<>> rSameFile: PROC [listenerPupAddress: Pup.Address, file1, file2: OpenFile] RETURNS [BOOLEAN]; <<>> rGetName: PROC [listenerPupAddress: Pup.Address, file: OpenFile] RETURNS [fullFName, attachedTo: ROPE]; <<>> rGetInfo: PROC [listenerPupAddress: Pup.Address, file: OpenFile] RETURNS [keep: CARDINAL, pages, bytes: INT, created: BasicTime.GMT, lock: FS.Lock]; rSetPageCount: PROC [listenerPupAddress: Pup.Address, file: OpenFile, pages: INT]; rSetByteCountAndCreatedTime: PROC [listenerPupAddress: Pup.Address, file: OpenFile, bytes: INT _ -1, created: BasicTime.GMT _ BasicTime.nullGMT]; <<>> <<>> rRead: PROC [listenerPupAddress: Pup.Address, file: OpenFile, from, nPages: INT, pageBuffer: RESULTPageBuffer] ; <<>> rWrite: PROC [listenerPupAddress: Pup.Address, file: OpenFile, to: INT, nPages: INT, pageBuffer: VALUEPageBuffer]; rClose: PROC [listenerPupAddress: Pup.Address, file: OpenFile]; <<>> <<>> <<>> <<>> rCopy: PROC [listenerPupAddress: Pup.Address, 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: Pup.Address, name: ROPE, wantedCreatedTime: BasicTime.GMT _ BasicTime.nullGMT, wDir: RPC.ShortROPE _ NIL]; <<>> <<>> rRename: PROC [listenerPupAddress: Pup.Address, from, to: ROPE, setKeep: BOOLEAN _ FALSE, keep: CARDINAL _ 1, wantedCreatedTime: BasicTime.GMT _ BasicTime.nullGMT, wDir: RPC.ShortROPE _ NIL]; rSetKeep: PROC [listenerPupAddress: Pup.Address, name: ROPE, keep: CARDINAL _ 1, wDir: RPC.ShortROPE _ NIL]; <<>> <<>> <> rBoolean: PROC [listenerPupAddress: Pup.Address, key: Rope.ROPE, default: BOOLEAN _ FALSE] RETURNS [value: BOOLEAN]; rNumber: PROC [listenerPupAddress: Pup.Address, key: Rope.ROPE, default: INT _ 0] RETURNS [value: INT]; rToken: PROC [listenerPupAddress: Pup.Address, key: Rope.ROPE, default: Rope.ROPE _ NIL] RETURNS [value: Rope.ROPE]; rListOfTokens: PROC [listenerPupAddress: Pup.Address, key: Rope.ROPE, default: LIST OF Rope.ROPE _ NIL] RETURNS [value: LIST OF Rope.ROPE]; rLine: PROC [listenerPupAddress: Pup.Address, key: Rope.ROPE, default: Rope.ROPE _ NIL] RETURNS [value: Rope.ROPE]; rGetProfileName: PROC [listenerPupAddress: Pup.Address] RETURNS [Rope.ROPE]; <<>> <> rGetState: PROC [listenerPupAddress: Pup.Address] RETURNS [UserCredentials.State]; rGet: PROC [listenerPupAddress: Pup.Address] RETURNS [name, password: Rope.ROPE]; <> <> OpenDebugStream: PROC [listenerPupAddress: Pup.Address, newListenerPupAddress: Pup.Address, name: Rope.ROPE, serverMachine: Rope.ROPE] RETURNS [byteStreamOK: BOOL _ TRUE] ; OpenSourceViewer: PROC [listenerPupAddress: Pup.Address, name: Rope.ROPE, index: INT ] ; <<>> <<>> END.... <> <> <<>> <> <> <> <> <<>> <<>>