Guardian Procedure Calls Reference Manual

Multiplicity of EXTDECS*
Historically, multiple versions of the external declarations file were provided for compiling your
program to run on previous versions of the operating system as well as on the current version.
EXTDECS0 is the current version, EXTDECS1 and EXTDECS are progressively older. This practice
continues on G-series, but on H- and J- series the three EXTDECS* files are identical. For further
information, see the Guardian Programmer’s Guide.
Specifying C Header Files
To support portability from the UNIX environment, the name of a C header file in an #include
directive can contain a period (.) before the final “h. The C and C++ compilers hosted on Guardian
accept both of these as equivalent:
#include <stdio.h>
#include <stdioh>
C header files in the Guardian file system are stored with no internal periods in their names. By
default, header files are found in the same subvolume as the compiler. For example, if the C
compiler on your system is $SYSTEM.SYSTEM.C, then your system should have the header file
$SYSTEM.SYSTEM.STDIOH.
You can specify one or more subvolumes to search for header files specified with unqualified
names. You can also create native Guardian object files using HP-supplied cross-compilers for
NonStop, on a PC or in OSS. For details, see the C Programmer's Guide.
32-bit Integers in CEXTDECS
In H-series and J-series systems, CEXTDECS (through the included file TNSINTH) defines 32-bit
values as the typedef __int32_t, which for TNS and native TNS/R compiles is defined as long
and for native TNS/E compiles is defined as int.
Header Files for Guardian Procedure 33