Compatibility

With the release of IDL 5.0, IDL’s Remote Procedure Call functionality has been completely reworked. While RPC code built for older versions of IDL can still be used with IDL 5.0 and later, the new RPC functionality has the following advantages:

RPC code built for versions of IDL prior to version 5.0 can be linked with IDL version 5 and later using a compatibility layer. This layer is contained in the files idl_rpc_obsolete.c and idl_rpc_obsolete.h.

To use the compatibility routines, include the file lib_rpc_obsolete.h in your application and use the following link statement as a template:

% cc -o old_example $(PRE_FLAGS) old_example.o \

idl_rpc_obsolete.o -lidl_rpc $(POST_FLAGS)

where the macros PRE_FLAGS and POST_FLAGS are the same as those described in Linking to the Client Library.

While the compatibility layer covers most of the old IDL RPC functionality, some of the more obscure operations have either been modified or are no longer supported. The features which have changed are as follows:

Value

Description

-2

Illegal variable name (for example, “213xyz”, “#a”, “!DEVICE”)

-3

Variable not transportable (for example, the variable is a structure or associated variable)