DIRECTORY Rope USING [ROPE]; IFSFile: DEFINITIONS = BEGIN OPEN Rope; FSInstance: TYPE = REF FSObject; FSObject: TYPE; FileHandle: TYPE = REF FileObject; FileObject: TYPE; OpenOptions: TYPE = {old, oldReadOnly, new, oldOrNew}; Buffer: TYPE = LONG POINTER; Position: TYPE = LONG CARDINAL; ByteCount: TYPE = CARDINAL; Completer: TYPE = PROC [arg: CompleterArg, outcome: Problem]; CompleterArg: TYPE = LONG POINTER TO LONG CARDINAL; Problem: TYPE = {ok, io, resources, credentials, illegalIO, other}; AccessFailure: TYPE = {ok, io, notFound, alreadyExists, accessDenied, accessConflict, illegalFileName, other}; FileTime: TYPE = LONG CARDINAL; defaultTime: FileTime = 0; Error: ERROR [reason: Problem]; Login: PROC [server, userName, password, secondaryName, secondaryPassword: ROPE _ NIL] RETURNS [FSInstance]; UnableToLogin: ERROR [reason: Problem]; Logout: PROC [FSInstance]; Open: PROC [instance: FSInstance, name: ROPE, options: OpenOptions _ oldReadOnly] RETURNS [FileHandle]; CantOpen: ERROR [reason: AccessFailure]; Close: PROC [FileHandle]; Abandon: PROC [FileHandle]; Destroy: PROC [FileHandle]; GetLength: PROC [FileHandle] RETURNS [Position]; SetLength: PROC [FileHandle, Position]; StartRead: PROC [FileHandle, Position, ByteCount, Buffer, Completer, CompleterArg]; StartWrite: PROC [FileHandle, Position, ByteCount, Buffer, Completer, CompleterArg]; GetTimes: PROC [FileHandle] RETURNS [read, write, create: FileTime]; SetCreation: PROC [FileHandle, FileTime _ defaultTime]; Initialize: PROC; Finalize: PROC; END. ¤IFSFile.mesa Levin - 14-Sep-81 13:43:20 Russ Atkinson, November 9, 1983 8:50 pm Types -- Procedures and Signals -- Initialization/Finalization Procedures -- Ê´˜šœ ™ Jšœ™J™'—J˜šÏk ˜ Jšœœœ˜J˜—šœ œœœ˜'J˜Jšœ™J˜Jšœ œœ ˜ Jšœ œ˜J˜Jšœ œœ ˜"Jšœ œ˜J˜Jšœ œ%˜6J˜Jšœœœœ˜Jšœ œœœ˜Jšœ œœ˜J˜JšÏn œœœ'˜=Jš œœœœœœœ˜3Jšœ œ6˜Cšœœ˜J˜XJ˜—Jšœ œœœ˜J˜J˜J˜Jšœ™J˜Jšœœ˜J˜šžœ˜ Jšœ?œœ˜JJšœ˜J˜—Jšœœ˜'J˜Jšžœœ˜J˜šžœ˜ Jšœœ%˜FJšœ˜J˜—Jšœ œ˜(J˜Jšžœœ˜J˜Jšžœœ˜J˜Jšžœœ˜J˜Jšž œœœ ˜0J˜Jšž œœ˜'J˜Jšž œœD˜SJ˜Jšž œœD˜TJ˜Jšžœœœ!˜DJ˜Jšž œœ&˜7J˜šœ)™)J˜Jšž œœ˜J˜Jšžœœ˜—J˜Jšœ˜J˜J˜——…— n