================================================================================
Note 2.11                  Updates to the RPC software                  11 of 17
VXCERN::TIMBL "Tim Berners-Lee CERN/DD"              54 lines  17-JAN-1989 15:41
                           -< Version 2.3 Released >-
--------------------------------------------------------------------------------
	A new release (V2.3) of the RPC system from DD/OC is available for VMS.

	On VXCERN, those people who have been using RPC with the line
	@DISK$D1:[RPC]RPC in their login.com file will now be using
	version 2.3 instead of 2.2.
	To get a copy of the software on a DECNET-connected VMS VAX,
	$BACKUP VXCERN::DISK$D1:[RPC.DISTRIBUTION_KIT]RPC_VMS023.A/SAV []
	If you have any problems, please mail TIMBL.  Thanks.

	An updated and improved user manual will be available on CERNDOC
	soon: if you need an advance copy mail me.

	Version 2.3 is back-compatible with V2.0, V2.1 and  V2.2.

				NEW FEATURES

   The compiler has been extended to include the following new features:- 

    o	Stub generation in FORTRAN or PILS, as well as Pascal and C,
		also TurboPascal for the Mac and for the IBM-PC.
    o	Handling of arrays of any type, not just those of simple types
    o	Handling of records (structures).
    o	Handling of linked trees using pointers (except for FORTRAN and PILS)
    o	PRAGMAs

   Pragmas are statements in the RPC definition file which do not alter the
   logical significance of the procedures, but instruct the compiler how to
   treat them:

    o	PRAGMA CALL_STATUS specifies a parameter for the return of any
	RPC errors which if they occur;
    o	PRAGMA TIMEOUT specifies a timeout separately for each procedure
    o	PRAGMA EXTERNAL_MARSHALLING allows you to define how a private
	data type is encoded by writing your own marshalling routine.
	(A powerful hook for hanging on user-specific features).
    o	PRAGMA CONCURRENT specifies concurrent execution of a procedure.

   The VMS run time library has been upgraded to support FORTRAN stubs, and
   now also

    o	The RPC address <package number>@CALLBACK can be used to 
	call back a routine in the client program from a server. For a
	multiclient server, it dynamically selects the current client.

    A few bugs have been fixed:-

    o	DECNET: "Path lost" error could cause multi-client server to exit
    o	The return value from RPC_CALL_STATUS was undefined for local calls
    o	A filename specified with the S- or CCERNCROSS option was ignored. 
    o	The SER- or CLI- filenames would only be generated correctly if they
	were in the current directory.

Tim Berners-Lee
CERN/DD Online group

