DIRECTORY IO, Imager USING [Context], IP, IPConstants, IPParams, IPNetTab, IPChipRose, Rope, SymTab, RTStructure; IPPortTab: CEDAR DEFINITIONS IMPORTS IPParams = BEGIN Ref: TYPE = REF Rep; Rep: TYPE = RECORD[ports: SymTab.Ref]; Port: TYPE = REF PortRep; PortRep: TYPE = IP.PortRep; --name, pinPorts, length EachPortAction: TYPE = PROC[port: Port] RETURNS [quit: BOOL _ FALSE]; Create: PROC[chipRose: IPChipRose.Ref, netTab: IPNetTab.Ref] RETURNS [Ref]; CreateFromStructure: PROC[structure: RTStructure.Structure, netTab: IPNetTab.Ref] RETURNS [Ref]; FetchPort: PROC[portTab: Ref, name: Rope.ROPE] RETURNS [Port]; Ports: PROC[portTab: Ref, action: EachPortAction]; DescribeSelf: PROC[portTab: Ref, stream: IO.STREAM]; ReconstructSelf: PROC[stream: IO.STREAM, netTab: IPNetTab.Ref] RETURNS [Ref]; PaintPort: PROC [port: Port, context: Imager.Context, xOffset, yOffset: REAL _ 0.0, scaleFactor: REAL _ 1.0, stipple: CARDINAL _ IPConstants.White, size: NAT _ IPParams.DefaultPortSize, showPortName: BOOL _ TRUE]; PortActive: PROC[port: Port] RETURNS [BOOL] = INLINE {RETURN [port.position # NIL]};--PortActive END. -- File: IPPortTab.mesa Last Edited by: CSChow, February 2, 1985 2:17:42 am PST Bryan Preas September 9, 1986 2:39:08 pm PDT Preas, August 1, 1986 11:51:21 pm PDT -- Intro: This is the table of (I/O) port abstraction. Havent actually used it. --Operation on individual port Κ ˜Icode•StartOfExpansion[]™™7K™,K™%—K™šΟk ˜ Kšœ˜Kšœœ ˜Kšœ˜Kšœ ˜ Kšœ ˜ Kšœ ˜ Kšœ ˜ K˜Kšœ˜Kšœ ˜ —K™šœ œ ˜KšœP™PKšœ ˜K˜Kšœœœ˜Kšœœœ˜&K˜Kšœœœ ˜Kšœ œœ Οc˜5K˜Kš Οnœœœ œœœ˜EK˜KšŸœœ1œ˜KK˜KšŸœœ9œ˜`K˜KšŸ œœœœ˜>K˜KšŸœœ'˜2K˜K˜šŸ œœœœ˜4K˜—Kš Ÿœœ œœœ˜MK˜K˜K™K˜KšŸ œœ9œœœœ+œœ˜ΥK˜KšŸ œœ œœœœœž ˜`K˜Kšœ˜——…—j‘