C/C++ Programmer's Guide (G06.25+)
Mixed-Language Programming for TNS Programs
HP C/C++ Programmer’s Guide for NonStop Systems—429301-008
7-7
Interfacing to TAL
6. Here are some more examples of interface declarations for calling TAL 
procedures:
_tal _variable _cc_status SEGMENT_DEALLOCATE_ (short, short);
_tal _variable _cc_status READ (short, short *, short,
 short *, long);
_tal _extensible _cc_status READX (short, char _far *, 
 short, short *, long);
_tal void c_name = "tal^name" (short *); 
Interfacing to TAL
This subsection provides guidelines for writing programs composed of TAL and HP 
TNS C modules for NonStop systems. This discussion assumes that you have a 
working knowledge of TAL and C and are familiar with the contents of the following 
manuals: 
•
TAL Programmer’s Guide
•
TAL Reference Manual
For information on calling TAL routines from another language, see the manual for 
TNS COBOL, FORTRAN, or D-series Pascal.
Using Identifiers 
TAL and C identifiers differ as follows:
•
TAL and C have independent sets of reserved keywords.
•
TAL identifiers can include circumflexes (^), whereas C identifiers cannot.
•
The C compiler is case-sensitive; the TAL compiler is not case-sensitive.
To declare variable identifiers that satisfy both compilers:
•
Avoid using reserved keywords in either language as identifiers.
•
Specify TAL identifiers without circumflexes.
•
Specify C identifiers in uppercase. 
You can declare TAL-only or C-only routine identifiers and satisfy both compilers by 
using the public name option in:
•
Interface declarations in C
•
EXTERNAL procedure declarations in TAL
In Inspect sessions:
•
Use uppercase for TAL identifiers
•
Use the given case for C identifiers
In Binder sessions, use mode noupshift for lowercase C identifiers.










