Compaq AAR-88LB-TE Network Router User Manual


 
Running Version 2 Applications
6.2 Recompiling and Relinking
6.2.1 RTR Version 2 Applications Running on RTR Version 3
Linking Version 2 applications
Existing RTR Version 2 applications will run if they have been linked
against RTRSHR. (RTRSHR has been superseded by LIBRTR.EXE. Existing
RTR Version 2 application executables will run without relinking since
RTR$STARTUP.COM defines RTRSHR as a logical name that points to
LIBRTR.EXE.)
However, as RTRSHR.EXE is no longer distributed, change the linker options
file referencing RTRSHR (that is, change SYS$SHARE:RTRSHR/SHARE to
SYS$SHARE:LIBRTR/SHARE). After making this change, you can remove
SYS$SHARE:RTRSHR.EXE from your system.
If you are linking on a system where RTR Version 2 was never installed,
always use SYS$SHARE:LIBRTR/SHARE.
Event status
With RTR Version 2, an application could pass event status as a parameter
when calling $ENQ with the RTR$M_BROADCAST flag set. This broadcast
$ENQ was delivered with the event status stored in the RTR$L_EVT_
STATUS field of the RTR$_EVT data structure, and passed as a parameter to
the broadcast AST.
When running RTR Version 2 applications on RTR Version 3, event status
is not passed from sender to receiver. All User events received by an RTR
Version 2 application have the event status parameter set to 0 as shown in
the following table:
If the sender is: Then:
A Version 2 application RTR Version 3 does not pass event status.
A Version 3 application There is no event status.
Channel number
In some cases, RTR Version 2 returned the error status RTR$_INVALCH if an
operation was attempted using an invalid channel number (for example, 0),
and RTR$_CHNOTALLOC for potentially valid channel numbers that have
not been declared. RTR Version 3 always returns RTR$_CHNOTALLOC.
RTR STOP/ABORT
If an RTR STOP RTR/ABORT command is issued with RTR Version 2, RTR
executes an AST in the context of any applications that have an RTR channel
open. The applications exit with the status RTR$_RTRWASSTO.
In RTR Version 3, there is no difference in behaviour between the commands
STOP RTR and STOP RTR/ABORT. If either of these commands is entered,
RTR is always stopped. Any application with an RTR channel open receives
an error status on any RTR operation in progress on that channel, but
the application is not terminated. The application must handle the error
correctly. (The error status returned in this case is RTR$_NOACP, the same
status that is returned if the RTR ACP fails for any reason.)
Running Version 2 Applications 6–3