(FILECREATED " 6-Dec-85 16:26:09" {ERIS}<LISPUSERS>KOTO>RPC-EXAMPLESERVER.;1 17367  

      changes to:  (FNS HideRPC-EXAMPLEServerMovds ExportRPC-EXAMPLE UnexportRPC-EXAMPLE 
			RPC-EXAMPLEServerDispatch CatchFake CatchNooneFailed CatchSimpleFailed 
			SimpleServerStub ComplexServerStub ArgTestAServerStub ArgTestBServerStub 
			UnmarshalRPC-EXAMPLERec5#0#96 UnmarshalRPC-EXAMPLERec6#0#48 
			UnmarshalRPC-EXAMPLERec2#0#128 UnmarshalRPC-EXAMPLERec1#0#80 
			UnmarshalRPC-EXAMPLERec4#0#48 UnmarshalRPC-EXAMPLERec3#1#15 
			UnmarshalRPC-EXAMPLERec3#0#16 HideRPC-ExampleServerMovds ExportRPC-Example 
			UnexportRPC-Example RPC-ExampleServerDispatch UnmarshalRPC-ExampleRec5#0#96 
			UnmarshalRPC-ExampleRec6#0#48 UnmarshalRPC-ExampleRec2#0#128 
			UnmarshalRPC-ExampleRec1#0#80 UnmarshalRPC-ExampleRec4#0#48 
			UnmarshalRPC-ExampleRec3#1#15 UnmarshalRPC-ExampleRec3#0#16))


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT RPC-EXAMPLESERVERCOMS)

(RPAQQ RPC-EXAMPLESERVERCOMS [(* Created by Lupine " 6-Dec-85 16:24:32")
	(FNS HideRPC-ExampleServerMovds ExportRPC-Example UnexportRPC-Example 
	     RPC-ExampleServerDispatch CatchFake CatchNooneFailed CatchSimpleFailed SimpleServerStub 
	     ComplexServerStub ArgTestAServerStub ArgTestBServerStub UnmarshalRPC-ExampleRec5#0#96 
	     UnmarshalRPC-ExampleRec6#0#48 UnmarshalRPC-ExampleRec2#0#128 
	     UnmarshalRPC-ExampleRec1#0#80 UnmarshalRPC-ExampleRec4#0#48 
	     UnmarshalRPC-ExampleRec3#1#15 UnmarshalRPC-ExampleRec3#0#16)
	(VARS (RPC-ExampleServerInterface))
	(GLOBALVARS RPC-ExampleServerInterface)
	(DECLARE: DONTCOPY EVAL@COMPILE EVAL@LOAD (FILES (LOADCOMP)
							 RPC-EXAMPLE SIGNAL))
	(DECLARE: EVAL@LOAD DONTEVAL@COMPILE DOCOPY (FILES (SYSLOAD)
							   RPC))
	(P (COND ((EQ (QUOTE Y)
		      (ASKUSER 15 (QUOTE N)
			       "Hide server fns (must have been already loaded)? "))
		  (HideRPC-ExampleServerMovds])



(* Created by Lupine " 6-Dec-85 16:24:32")

(DEFINEQ

(HideRPC-ExampleServerMovds
  [LAMBDA NIL                                                (* Lupine generated utility)
    (for p in (QUOTE ((ArgTestB Hidden.ArgTestB . ArgTestBServerStub)
			     (ArgTestA Hidden.ArgTestA . ArgTestAServerStub)
			     (Complex Hidden.Complex . ComplexServerStub)
			     (Simple Hidden.Simple . SimpleServerStub)))
       do (PUTD (CADR p)
		    (GETD (CAR p)))
	    (PUTD (CAR p))
	    (CHANGENAME (CDDR p)
			  (CAR p)
			  (CADR p])

(ExportRPC-Example
  [LAMBDA (type instance version user password)              (* Lupine generated interface)
    (if RPC-ExampleServerInterface then (ERROR "Already exported" (QUOTE RPC-Example)))
    (SETQ RPC-ExampleServerInterface (ExportInterface user password (OR type 
							      "RPC-Example 6-Dec-85 16:24:271540")
							  instance version (FUNCTION 
							    RPC-ExampleServerDispatch])

(UnexportRPC-Example
  [LAMBDA NIL                                                (* Lupine generated interface)
    [UnexportInterface (OR RPC-ExampleServerInterface (ERROR "not exported" (QUOTE 
										      RPC-Example]
    (SETQ RPC-ExampleServerInterface NIL])

(RPC-ExampleServerDispatch
  [LAMBDA (l..pup request l..conv)                           (* Lupine generated dispatcher)
    (enable
         SimpleFailed => (sresume (CatchSimpleFailed arg l..conv))
         NooneFailed => (sresume (CatchNooneFailed arg l..conv))
         Fake => (sresume (CatchFake arg l..conv))
       (SELECTQ request
		  (4 (SimpleServerStub l..pup l..conv))
		  (5 (ComplexServerStub l..pup l..conv))
		  (6 (ArgTestAServerStub l..pup l..conv))
		  (7 (ArgTestBServerStub l..pup l..conv))
		  (SHOULDNT)))])

(CatchFake
  [LAMBDA (arg l..conv)                                      (* Lupine generated signal catcher)
    (DECLARE (USEDFREE l..cPup))
    (\StartSignal l..cPup)
    (\AddPupWord l..cPup 6)
    (SETQ l..cPup (\Call l..cPup NIL l..conv))
    (create FakeResult
	      fr1 ← (\UnmarshalAtom l..cPup l..conv)
	      fr2 ← (LET ((l..datum (UnmarshalRPC-ExampleRec1#0#80 l..cPup l..conv)))
		         (replace (Rec1 f4) of l..datum with (\UnmarshalString l..cPup 
										       l..conv))
		         (replace (Rec1 f5) of l..datum with (\UnmarshalAtom l..cPup l..conv))
		     l..datum])

(CatchNooneFailed
  [LAMBDA (arg l..conv)                                      (* Lupine generated signal catcher)
    (DECLARE (USEDFREE l..cPup))
    (\StartSignal l..cPup)
    (\AddPupWord l..cPup 5)
    (\AddPupSmallp l..cPup (fetch (NooneArgs n2) of arg)
		     l..conv)
    (\MarshalString l..cPup (fetch (NooneArgs n1) of arg)
		      l..conv)
    (SETQ l..cPup (\Call l..cPup NIL l..conv))
    (\GetArgBool l..cPup l..conv])

(CatchSimpleFailed
  [LAMBDA (arg l..conv)                                      (* Lupine generated signal catcher)
    (DECLARE (USEDFREE l..cPup))
    (\StartSignal l..cPup)
    (\AddPupWord l..cPup 4)
    (\AddPupEnum l..cPup (QUOTE (badNum badString))
		   arg l..conv)
    (SETQ l..cPup (\Call l..cPup NIL l..conv))
    NIL])

(SimpleServerStub
  [LAMBDA (l..cPup l..conv)                                  (* Lupine generated stub)
    (DECLARE (SPECVARS l..cPup l..conv))
    (PROG (l..result l..arg1 l..arg2)
	    (SETQ l..arg1 (\GetArgDblWord l..cPup l..conv))
	    (SETQ l..arg2 (\UnmarshalString l..cPup l..conv))
	    (SETQ l..result (Simple l..arg1 l..arg2))
	    (\StartReturn l..cPup)
	    (\AddPupBoolean l..cPup l..result l..conv)
	    (RETURN l..cPup])

(ComplexServerStub
  [LAMBDA (l..cPup l..conv)                                  (* Lupine generated stub)
    (DECLARE (SPECVARS l..cPup l..conv))
    (PROG (l..result l..arg1 l..arg2 l..arg3 l..arg4 l..arg5 l..arg6 l..arg7 l..arg8 l..arg9 
		       l..arg10 l..arg11 l..arg12 l..arg13 l..arg14)
	    (SETQ l..arg1 (\GetArgBool l..cPup l..conv))
	    (SETQ l..arg2 (\GetArgBool l..cPup l..conv))
	    (SETQ l..arg3 (UnmarshalRPC-ExampleRec3#0#16 l..cPup l..conv))
	    (SETQ l..arg4 (UnmarshalRPC-ExampleRec4#0#48 l..cPup l..conv))
	    (SETQ l..arg8 (UnmarshalRPC-ExampleRec3#0#16 l..cPup l..conv))
	    (SETQ l..arg5 (\UnmarshalStream l..cPup (QUOTE ({NODIRCORE}))
						l..conv))
	    (SETQ l..arg6 (if (\GetArgBool l..cPup l..conv) then NIL else (
				    UnmarshalRPC-ExampleRec3#0#16 l..cPup l..conv)))
	    (SETQ l..arg7 (if (\GetArgBool l..cPup l..conv) then NIL else (
				    UnmarshalRPC-ExampleRec3#0#16 l..cPup l..conv)))
	    (SETQ l..arg9 (\UnmarshalString l..cPup l..conv))
	    (SETQ l..arg10 (LET ((l..datum (UnmarshalRPC-ExampleRec1#0#80 l..cPup l..conv)))
			          (replace (Rec1 f4) of l..datum with (\UnmarshalString
									      l..cPup l..conv))
			          (replace (Rec1 f5) of l..datum with (\UnmarshalAtom l..cPup 
											  l..conv))
			      l..datum))
	    (SETQ l..arg11 (LET ((l..datum (UnmarshalRPC-ExampleRec2#0#128 l..cPup l..conv)))
			          (LET ((l..datum (fetch (Rec2 g3) of l..datum)))
				       (replace (Rec1 f4) of l..datum with (\UnmarshalString
										   l..cPup l..conv))
				       (replace (Rec1 f5) of l..datum with (\UnmarshalAtom
										   l..cPup l..conv)))
			          (replace (Rec2 g4) of l..datum with (\UnmarshalAtom l..cPup 
											  l..conv))
			      l..datum))
	    (SETQ l..arg12 (LET ((l..datum (UnmarshalRPC-ExampleRec5#0#96 l..cPup l..conv)))
			          [if l..datum then (replace (Rec5 k1a) of l..datum
							 with (\UnmarshalString l..cPup l..conv))
					(for l..p on (fetch (Rec5 k2) of l..datum)
					   do (RPLACA l..p (LET ((l..datum (
								    UnmarshalRPC-ExampleRec6#0#48
										 l..cPup l..conv)))
								    (replace (Rec6 m2)
								       of l..datum
								       with (\UnmarshalString
										l..cPup l..conv))
								l..datum]
			      l..datum))
	    [SETQ l..arg13 (PROGN (SETQ l..cPup (\CheckPupExhausted l..cPup 2))
				      (for l..i from 1 to (\GetArgDblWord l..cPup l..conv)
					 collect (\GetArgSmallp l..cPup l..conv]
	    [SETQ l..arg14 (PROGN (SETQ l..cPup (\CheckPupExhausted l..cPup 2))
				      (for l..i from 1 to (\GetArgDblWord l..cPup l..conv)
					 collect (PROGN (SETQ l..cPup (\CheckPupExhausted
								l..cPup 2))
							    (for l..i from 1
							       to (\GetArgDblWord l..cPup l..conv)
							       collect (LET ((l..datum
										 (
								    UnmarshalRPC-ExampleRec1#0#80
										   l..cPup l..conv)))
									      (replace
										(Rec1 f4)
										 of l..datum
										 with (
										 \UnmarshalString
											  l..cPup 
											  l..conv))
									      (replace
										(Rec1 f5)
										 of l..datum
										 with (
										   \UnmarshalAtom
											  l..cPup 
											  l..conv))
									  l..datum]
	    (SETQ l..result
	      (Complex l..arg1 l..arg2 l..arg3 l..arg4 l..arg5 l..arg6 l..arg7 l..arg8 l..arg9 
			 l..arg10 l..arg11 l..arg12 l..arg13 l..arg14))
	    (\StartReturn l..cPup)
	    (\AddPupBoolean l..cPup (fetch (ComplexResult a) of l..result)
			      l..conv)
	    (\AddPupBoolean l..cPup (fetch (ComplexResult c) of l..result)
			      l..conv)
	    (\MarshalString l..cPup (fetch (ComplexResult b) of l..result)
			      l..conv)
	    (RETURN l..cPup])

(ArgTestAServerStub
  [LAMBDA (l..cPup l..conv)                                  (* Lupine generated stub)
    (DECLARE (SPECVARS l..cPup l..conv))
    (PROG (l..result l..arg1 l..arg2 l..arg3 l..arg4 l..arg5 l..arg6)
	    (SETQ l..arg1 (\GetArgSmallp l..cPup l..conv))
	    (SETQ l..arg2 (\GetArgDblWord l..cPup l..conv))
	    (SETQ l..arg3 (\GetArgBool l..cPup l..conv))
	    (SETQ l..arg4 (\UnmarshalString l..cPup l..conv))
	    (SETQ l..arg5 (\UnmarshalAtom l..cPup l..conv))
	    (SETQ l..arg6 (\UnmarshalStream l..cPup (QUOTE ({DSK}ARGFILE))
						l..conv))
	    (SETQ l..result (ArgTestA l..arg1 l..arg2 l..arg3 l..arg4 l..arg5 l..arg6))
	    (\StartReturn l..cPup)
	    (\AddPupSmallp l..cPup (fetch (ArgTestAResult a1) of l..result)
			     l..conv)
	    (\AddPupDblWord l..cPup (fetch (ArgTestAResult a2) of l..result)
			      l..conv)
	    (\AddPupBoolean l..cPup (fetch (ArgTestAResult a3) of l..result)
			      l..conv)
	    (\MarshalString l..cPup (fetch (ArgTestAResult a4) of l..result)
			      l..conv)
	    (\MarshalAtom l..cPup (fetch (ArgTestAResult a5) of l..result)
			    l..conv)
	    (RETURN l..cPup])

(ArgTestBServerStub
  [LAMBDA (l..cPup l..conv)                                  (* Lupine generated stub)
    (DECLARE (SPECVARS l..cPup l..conv))
    (PROG (l..result l..arg1 l..arg2 l..arg3 l..arg4 l..arg5 l..arg6)
	    (SETQ l..arg2 (\GetArgSmallp l..cPup l..conv))
	    (SETQ l..arg5 (\GetArgDblWord l..cPup l..conv))
	    (SETQ l..arg6 (\GetArgBool l..cPup l..conv))
	    (SETQ l..arg1 (\UnmarshalString l..cPup l..conv))
	    (SETQ l..arg3 (\UnmarshalAtom l..cPup l..conv))
	    (SETQ l..arg4 (\UnmarshalStream l..cPup (QUOTE ({NODIRCORE}))
						l..conv))
	    (SETQ l..result (ArgTestB l..arg1 l..arg2 l..arg3 l..arg4 l..arg5 l..arg6))
	    (\StartReturn l..cPup)
	    (\AddPupSmallp l..cPup (fetch (ArgTestBResult b2) of l..result)
			     l..conv)
	    (\AddPupDblWord l..cPup (fetch (ArgTestBResult b4) of l..result)
			      l..conv)
	    (\AddPupBoolean l..cPup (fetch (ArgTestBResult b5) of l..result)
			      l..conv)
	    (\MarshalString l..cPup (fetch (ArgTestBResult b1) of l..result)
			      l..conv)
	    (\MarshalAtom l..cPup (fetch (ArgTestBResult b3) of l..result)
			    l..conv)
	    (RETURN l..cPup])

(UnmarshalRPC-ExampleRec5#0#96
  [LAMBDA (l..pup l..conv)                                   (* Lupine generated stub)
    (SETQ l..pup (\CheckPupExhausted l..pup 3))
    (if (\GetArgBool l..pup l..conv) then NIL else
	  (LET ((l..size (\GetArgDblWord l..pup l..conv)))
	       (bind [l..result ← (create Rec5
					      k1 ← (PROG1 (\GetArgBool l..pup l..conv)
							    (SETQ l..pup l..cPup))
					      size ← (PROGN (SETQ l..pup (\SkipWordsIn l..pup 2)
								)
							      (PROG1 (\GetArgSmallp l..pup 
											l..conv)
								       (SETQ l..pup l..cPup]
		  first (\SkipWordsIn l..pup (ITIMES 3 l..size)) for l..i from 1
		  to l..size collect NIL
		  finally (replace (Rec5 k2) of l..result with $$VAL)
			    (RETURN l..result])

(UnmarshalRPC-ExampleRec6#0#48
  [LAMBDA (l..pup l..conv)                                   (* Lupine generated stub)
    (create Rec6
	      m1 ← (PROG1 (PROG1 (\GetArgBool l..pup l..conv)
				     (SETQ l..pup l..cPup))
			    (SETQ l..pup (\SkipWordsIn l..pup 2])

(UnmarshalRPC-ExampleRec2#0#128
  [LAMBDA (l..pup l..conv)                                   (* Lupine generated stub)
    (create Rec2
	      g1 ← [PROGN (SETQ l..pup (\CheckPupExhausted l..pup 1))
			    (NOT (ZEROP (FETCHFIELD (QUOTE (NIL 0 (BITS . 0)))
							  (\CurrentPupBase l..pup]
	      g2 ← (PROG1 [NOT (ZEROP (FETCHFIELD (QUOTE (NIL 0 (BITS . 30)))
							  (\CurrentPupBase l..pup]
			    (\IncrDataOffset l..pup 1))
	      g3 ← (PROG1 (PROG1 (UnmarshalRPC-ExampleRec1#0#80 l..pup l..conv)
				     (SETQ l..pup l..cPup))
			    (SETQ l..pup (\SkipWordsIn l..pup 2])

(UnmarshalRPC-ExampleRec1#0#80
  [LAMBDA (l..pup l..conv)                                   (* Lupine generated stub)
    (create Rec1
	      f1 ← [PROGN (SETQ l..pup (\CheckPupExhausted l..pup 1))
			    (NOT (ZEROP (FETCHFIELD (QUOTE (NIL 0 (BITS . 0)))
							  (\CurrentPupBase l..pup]
	      f2 ← [NOT (ZEROP (FETCHFIELD (QUOTE (NIL 0 (BITS . 16)))
						 (\CurrentPupBase l..pup]
	      f3 ← (PROG1 (PROG1 [CAR (NTH (QUOTE (yen twa henery penery flat))
						   (ADD1 (FETCHFIELD (QUOTE
									   (NIL 0 (BITS . 45)))
									 (\CurrentPupBase l..pup]
				     (\IncrDataOffset l..pup 1))
			    (SETQ l..pup (\SkipWordsIn l..pup 4])

(UnmarshalRPC-ExampleRec4#0#48
  [LAMBDA (l..pup l..conv)                                   (* Lupine generated stub)
    (create Rec4
	      j1 ← [PROGN (SETQ l..pup (\CheckPupExhausted l..pup 1))
			    (NOT (ZEROP (FETCHFIELD (QUOTE (NIL 0 (BITS . 0)))
							  (\CurrentPupBase l..pup]
	      j2 ← (PROG1 (UnmarshalRPC-ExampleRec3#1#15 l..pup l..conv)
			    (SETQ l..pup l..cPup))
	      j3 ← (PROG1 (\GetArgDblWord l..pup l..conv)
			    (SETQ l..pup l..cPup])

(UnmarshalRPC-ExampleRec3#1#15
  [LAMBDA (l..pup l..conv)                                   (* Lupine generated stub)
    (create Rec3
	      h1 ← [NOT (ZEROP (FETCHFIELD (QUOTE (NIL 0 (BITS . 27)))
						 (\CurrentPupBase l..pup]
	      h2 ← (PROG1 [CAR (NTH (QUOTE (yen twa henery penery flat))
					  (ADD1 (FETCHFIELD (QUOTE (NIL 0 (BITS . 210)))
								(\CurrentPupBase l..pup]
			    (\IncrDataOffset l..pup 1])

(UnmarshalRPC-ExampleRec3#0#16
  [LAMBDA (l..pup l..conv)                                   (* Lupine generated stub)
    (create Rec3
	      h1 ← [PROGN (SETQ l..pup (\CheckPupExhausted l..pup 1))
			    (NOT (ZEROP (FETCHFIELD (QUOTE (NIL 0 (BITS . 12)))
							  (\CurrentPupBase l..pup]
	      h2 ← (PROG1 [CAR (NTH (QUOTE (yen twa henery penery flat))
					  (ADD1 (FETCHFIELD (QUOTE (NIL 0 (BITS . 210)))
								(\CurrentPupBase l..pup]
			    (\IncrDataOffset l..pup 1])
)

(RPAQQ RPC-ExampleServerInterface NIL)
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS RPC-ExampleServerInterface)
)
(DECLARE: DONTCOPY EVAL@COMPILE EVAL@LOAD 
(FILESLOAD (LOADCOMP)
	   RPC-EXAMPLE SIGNAL)
)
(DECLARE: EVAL@LOAD DONTEVAL@COMPILE DOCOPY 
(FILESLOAD (SYSLOAD)
	   RPC)
)
(COND ((EQ (QUOTE Y)
	   (ASKUSER 15 (QUOTE N)
		    "Hide server fns (must have been already loaded)? "))
       (HideRPC-ExampleServerMovds)))
(PUTPROPS RPC-EXAMPLESERVER COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (1978 16845 (HideRPC-ExampleServerMovds 1988 . 2537) (ExportRPC-Example 2539 . 2977) (
UnexportRPC-Example 2979 . 3275) (RPC-ExampleServerDispatch 3277 . 3885) (CatchFake 3887 . 4553) (
CatchNooneFailed 4555 . 5047) (CatchSimpleFailed 5049 . 5419) (SimpleServerStub 5421 . 5914) (
ComplexServerStub 5916 . 10097) (ArgTestAServerStub 10099 . 11377) (ArgTestBServerStub 11379 . 12656) 
(UnmarshalRPC-ExampleRec5#0#96 12658 . 13521) (UnmarshalRPC-ExampleRec6#0#48 13523 . 13825) (
UnmarshalRPC-ExampleRec2#0#128 13827 . 14503) (UnmarshalRPC-ExampleRec1#0#80 14505 . 15259) (
UnmarshalRPC-ExampleRec4#0#48 15261 . 15795) (UnmarshalRPC-ExampleRec3#1#15 15797 . 16283) (
UnmarshalRPC-ExampleRec3#0#16 16285 . 16843)))))
STOP