DIRECTORY Booting USING[ Switches ], Disk USING[ Channel, PageCount, PageNumber ], File USING[ RC, Volume, VolumeFile, VolumeID ], IO USING[ STREAM ], PhysicalVolume USING[ Physical ], Rope USING[ ROPE ]; IagoOps: CEDAR DEFINITIONS = BEGIN Rubout: ERROR; GetID: PROC [in, out: IO.STREAM, default: Rope.ROPE, init: Rope.ROPE _ NIL, echo: BOOL _ TRUE] RETURNS [id: Rope.ROPE, c: CHAR]; Command: TYPE = { attach, bootLogical, checkDrive, copy, createLogical, createPhysical, createUserWorld, createVM, delete, describeDrives, describeLV, describeMachine, describePV, eraseLogical, flushCache, format, installBoot, installCredentials, installGerm, installInitial, installMicrocode, listCache, listFileInfo, listNames, login, quit, rename, rollbackLogical, scavenge, setKeep, setPhysicalBoot, setPhysicalGerm, setPhysicalMicrocode, setWDir }; GetCommand: PROC[in, out: IO.STREAM, diskReadable: BOOL] RETURNS[found: IagoOps.Command]; GetArg: PROC[in, out: IO.STREAM, prompt, default: Rope.ROPE, help: PROC] RETURNS[value: Rope.ROPE _ NIL]; Confirm: PROC[in, out: IO.STREAM] RETURNS[BOOL]; ConfirmDestruction: PROC[in, out: IO.STREAM, which: Rope.ROPE] RETURNS[BOOL]; GetNumber: PROC[in, out: IO.STREAM, default: INT, max: INT _ LAST[INT], prompt, help: Rope.ROPE] RETURNS[size: INT _ 0]; GetSize: PROC[in, out: IO.STREAM, default: INT, max: INT _ LAST[INT]] RETURNS[size: INT _ 0]; GetFile: PROC[ in, out: IO.STREAM, prompt: Rope.ROPE _ NIL, extension: Rope.ROPE _ NIL, default: Rope.ROPE _ NIL, wDir: Rope.ROPE _ NIL, check: BOOL _ FALSE, pattern: BOOL _ FALSE] RETURNS[name: Rope.ROPE]; GetSwitches: PROC[in, out: IO.STREAM] RETURNS[switches: Booting.Switches]; clientVolName: Rope.ROPE; GetLogical: PROC[in, out: IO.STREAM, direction: Rope.ROPE _ NIL] RETURNS[v: File.Volume]; GetPhysical: PROC[in, out: IO.STREAM] RETURNS[p: PhysicalVolume.Physical]; GetDrive: PROC[in, out: IO.STREAM] RETURNS[d: Disk.Channel]; FileError: PROC[why: File.RC] RETURNS[Rope.ROPE]; ReservePages: PROC[in, out: IO.STREAM, p: PhysicalVolume.Physical]; CheckAltoRegions: PROC[in, out: IO.STREAM] RETURNS[BOOL]; ReserveAltoRegions: PROC[in, out: IO.STREAM]; NextRun: PROC[d: Disk.Channel, origin: Disk.PageNumber] RETURNS[firstPage: Disk.PageNumber, pageCount: Disk.PageCount-- -1 at end of disk --]; NewID: PROC RETURNS[new: File.VolumeID]; PutID: PROC[out: IO.STREAM, id: File.VolumeID]; InitialMicrocodeFileName: PROC RETURNS[Rope.ROPE]; RemoteRootFileName: PROC[which: File.VolumeFile[checkpoint..bootFile]] RETURNS[Rope.ROPE]; LocalRootFileName: PROC[which: File.VolumeFile] RETURNS[Rope.ROPE]; ext: PUBLIC ARRAY File.VolumeFile[checkpoint..bootFile] OF Rope.ROPE; END. ^Cedar: Iago: internal interface IagoOps.mesa Andrew Birrell December 7, 1983 10:42 am Ê~˜Jšœ ™ Jšœ ™ Jšœ)™)J˜šÏk ˜ Jšœœ ˜Jšœœ#˜-Jšœœœ!˜/Jšœœœ˜Jšœœ ˜!Jšœœœ˜—J˜Jšœ œ œ˜J˜Jš˜J˜J˜J˜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˜J˜J˜J˜ J˜J˜J˜J˜J˜ —J˜Jš ž œœ œœœœ˜YJ˜Jšžœœ œœœœœ œœ˜iJ˜Jš žœœ œœœœ˜0J˜Jšžœœ œœœœœ˜MJ˜Jšž œœ œœ œœœœœœœ˜xJ˜Jšžœœ œœ œœœœœœ˜]J˜šžœœ˜Jšœ œœ˜Jšœ œœ˜Jšœœœ˜Jšœœœ˜Jšœ œœ˜Jšœœœ˜Jšœ œœ˜Jšœ œ˜—J˜Jš ž œœ œœœ˜JJ˜Jšœœ˜J˜Jšž œœ œœœœœ˜YJ˜Jš ž œœ œœœ˜JJ˜Jš žœœ œœœ˜