DIRECTORY Rope USING [ROPE], SunRPC USING [Handle], SunRPCAuth USING [Conversation] ; SunYP: CEDAR DEFINITIONS ~ { program: CARD ~ 100004; programVersion: CARD ~ 2; maxRecord: CARDINAL ~ 1024; maxDomain: CARDINAL ~ 64; maxMap: CARDINAL ~ 64; maxPeer: CARDINAL ~ 64; Handle: TYPE ~ SunRPC.Handle; Conversation: TYPE ~ SunRPCAuth.Conversation; Status: TYPE ~ MACHINE DEPENDENT { false(0), true(1), nomore(2), nomap(1001), nodomain(1002), nokey(1003), badop(1004), baddb(1005), yperr(1006), badargs(1007), vers(1008) }; KeyDatum: TYPE ~ REF TEXT; ValDatum: TYPE ~ REF TEXT; DomainName: TYPE ~ Rope.ROPE; MapName: TYPE ~ Rope.ROPE; PeerName: TYPE ~ Rope.ROPE; RequestKey: TYPE ~ RECORD [ domain: DomainName, map: MapName, key: KeyDatum ]; RequestNoKey: TYPE ~ RECORD [ domain: DomainName, map: MapName ]; ResponseVal: TYPE ~ RECORD [ status: Status, val: ValDatum ]; ResponseKeyVal: TYPE ~ RECORD [ status: Status, val: ValDatum, key: KeyDatum ]; EachResponseKeyValProc: TYPE ~ PROC [resp: ResponseKeyVal] RETURNS [continue: BOOL ¬ TRUE]; ResponseMaster: TYPE ~ RECORD [ status: Status, master: PeerName ]; ResponseOrder: TYPE ~ RECORD [ status: Status, ordernum: CARD32 ]; EachMapNameProc: TYPE ~ PROC [map: MapName] RETURNS [continue: BOOL ¬ TRUE]; null: CARD ~ 0; NullProc: TYPE ~ PROC [h: Handle, c: Conversation]; domain: CARD ~ 1; DomainProc: TYPE ~ PROC [h: Handle, c: Conversation, domain: DomainName] RETURNS [serves: BOOL]; domainNonack: CARD ~ 2; DomainNonackProc: TYPE ~ PROC [h: Handle, c: Conversation, domain: DomainName] RETURNS [serves: BOOL]; match: CARD ~ 3; MatchProc: TYPE ~ PROC [h: Handle, c: Conversation, req: RequestKey] RETURNS [resp: ResponseVal]; first: CARD ~ 4; FirstProc: TYPE ~ PROC [h: Handle, c: Conversation, req: RequestNoKey] RETURNS [resp: ResponseKeyVal]; next: CARD ~ 5; NextProc: TYPE ~ PROC [h: Handle, c: Conversation, req: RequestKey] RETURNS [resp: ResponseKeyVal]; all: CARD ~ 8; AllProc: TYPE ~ PROC [h: Handle, c: Conversation, req: RequestNoKey, eachResponseKeyVal: EachResponseKeyValProc]; master: CARD ~ 9; MasterProc: TYPE ~ PROC [h: Handle, c: Conversation, req: RequestNoKey] RETURNS [resp: ResponseMaster]; order: CARD ~ 10; OrderProc: TYPE ~ PROC [h: Handle, c: Conversation, req: RequestNoKey] RETURNS [resp: ResponseOrder]; maplist: CARD ~ 11; MaplistProc: TYPE ~ PROC [h: Handle, c: Conversation, req: DomainName, eachMapName: EachMapNameProc] RETURNS [status: Status]; }... π SunYP.mesa Copyright Σ 1991 by Xerox Corporation. All rights reserved. Demers, September 20, 1987 12:24:04 pm PDT Constants Parameters Types Sun uses negative values; we map negative value x to 1000-x: Procedure constants and types Κε–(cedarcode) style•NewlineDelimiter ™code™ Kšœ Οeœ1™