SunRPCBinding.mesa
Copyright Ó 1992 by Xerox Corporation. All rights reserved.
Michael Plass, January 8, 1992 11:13 am PST
~
BEGIN
OPEN Rope;
Error: ERROR [errorCode: ErrorCode, explanation: ROPE, propList: Prop.PropList ¬ NIL];
ErrorCode:
TYPE ~ {
ok, -- no error
someError, -- catch-all
nameLookupFailed, -- could not find the named server
registryNotAvailable, -- could not contact the registry (i.e., PortMapper)
registrationFailed, -- registry did not allow registration to happen
serviceNotAvailable, -- the service is not registered
authenticationProblem, -- details are in explanation and propList
protocolError, -- probably a bug in the SunRPCBinding implemtation or the server
timeout, -- some resource timed out
brokenConnection, -- some resource timed out
notSupported, -- some combination of features is not supported
spare1, spare2, spare3, spare4
};
AtomFromErrorCode:
PROC [ErrorCode]
RETURNS [
ATOM];
Transport: TYPE ~ MACHINE DEPENDENT { UDP, TCP, (255) };
Registry:
TYPE ~
MACHINE
DEPENDENT { PortMapper, LocalRegistry, (255) };
Import:
PROC [hostName:
ROPE, pgm:
INT, version:
INT, instance:
ROPE ¬
NIL, transport: Transport ¬ $UDP, nameServiceFlavor:
ATOM ¬
NIL, registry: Registry ¬ $PortMapper]
RETURNS [SunRPC.Handle];
! Error
Export:
PROC [unboundServer: SunRPC.Server, instance:
ROPE ¬
NIL, transport: Transport ¬ $UDP, concurrency:
CARDINAL ¬ 1, reExport:
BOOL ¬
TRUE, registry: Registry ¬ PortMapper]
RETURNS [SunRPC.Server];
! Error