User Manual

Preparing Programs
HP NonStop AutoTMF Software User’s Guide429952-014
3-6
Preparing TNS/E Programs
C++ Programs
C++ programs reference both the C++ and C SRLs. However, the C++ and C libraries
have conflicting externals and cannot be linked together in the same library; therefore,
a NonStop AutoTMF user library cannot intercept calls from C++ programs.
If a program references the C++ SRL, the PREPARE command:
Will direct calls to Enscribe, causing GPLIB to be intercepted by the ESCRUNNT
user library.
Will not modify calls made to any SRL (including COBOL, C, or CRE). Thus,
database calls made through SRLs will not be intercepted. If the program uses
COBOL statements to access audited files, error 75 usually results.
When such a program is prepared, ESCORT CI issues a warning:
Programs referencing other SRLs
If you have programs that reference other SRLs, such as the TCP/IP library
ZINETSRL, the PREPARE command will operate as it does for C++; that is, COBOL,
C, and CRE database calls will not be intercepted.
PREPARE can cause all database calls to be intercepted, if you link a prepared copy
of the SRL library code with the program (eliminating the need to use the SRL);
however, you should contact product support for assistance in obtaining linkable
versions of SRLs (Known as “RELs” instead of SRLs).
Preparing TNS/E Programs
In TNS/E programs, the retargeting of system procedure calls is performed in the same
manner as it is for TNS and TNS/R objects.
However, since the NonStop AutoTMF runtime for TNS/E programs is implemented as
a DLL instead of as a user library, the PREPARE command simply sets the NonStop
AutoTMF 1? prepare srvobj.myCplusp;
*Warning* $DATA.SRVOBJ.MYCPLUSP references a set of system SRLs
* 1665 * that may not be compatible with the AutoTMF runtime library.
* *
* * The program will be prepared to intercept only direct calls
* * to Enscribe procedures and not to calls made through the
* * COBOL, C or CRE runtime libraries.
* *
--- $DATA.SRVOBJ.MYCPLUSP preparation complete
--- AutoTMF User Library $DATA.ESCORT.ESCRUNNT