HP-UX Reference (11i v1 00/12) - 5 Miscellaneous Topics, 7 Device (Special) Files, 9 General Information, Index (vol 9)

__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man5/!!!intro.5
________________________________________________________________
___ ___
s
stdsyms(5) stdsyms(5)
can be defined, either by using compiler options (-D_AES_SOURCE) or by using
#define directives in the source les before any #include directives. Although the
AES does not specify any namespace pollution rules, the other standards have instituted
such rules. Therefore HP-UX provideds a clean namespace whenever _AES_SOURCE is
defined.
_HPUX_SOURCE
The programmer can define the _HPUX_SOURCE feature test macro to obtain the HP-UX
namespace and complete HP-UX functionality. Note that the HP-UX namespace is
currently a superset of all of the above mentioned namespaces. When using the
compatibility-mode compiler (cc(1) without the -Aa option), the HP-UX namespace is pro-
vided by default. The programmer must request one of the other namespaces as described
above to obtain the appropriate subset of the HP-UX namespace. When using the strict
ANSI-C-mode compiler (cc -Aa), the programmer must specifically request a broader
namespace.
The _HPUX_SOURCE feature test macro can be defined, either by using compiler options
(-D_HPUX_SOURCE) or by using #define directives in the source files before any
#include directives.
The following is a list of miscellaneous feature test macros that provide various additional features.
_ _cplusplus
This symbol is automatically defined by the HP C++ compiler. Defining this macro enables
the C++ function prototypes in system header files.
The default namespace for HP C++ is the ANSI-C namespace. To obtain another
namespace define the appropriate feature test macro.
HP C++ uses the ANSI-C preprocessor by default. To get the compatibility mode preproces-
sor, use the
-Ac option to cc(1). The compatibility mode preprocessor uses the HP-UX
namespace (
_HPUX_SOURCE ).
_POSIX1_1988
This feature test macro should be defined when the POSIX.1-1988 namespace is
required. It should be used in conjunction with the
_POSIX_SOURCE
macro if the
default
POSIX.1-1990 namespace is not desired.
This macro is defined automatically whenever
_AES_SOURCE or _XPG3 is requested.
_XPG2 The _XPG2 macro can be defined when using the compatibility-mode compiler to obtain
XPG2 functionality. This provides XPG2 specified function declarations and macros in the
HP-UX namespace. Note that the values obtained from most of the macros available when
using this option are now available at run-time via the
pathconf(), fpathconf() ,
and sysconf() system calls (see pathconf(2) and sysconf(2)). Use of the _XPG2 macro
is strongly discouraged because it gives access to obsolete functionality. Note that no func-
tion prototypes are provided when using this feature test macro.
_XPG3 The _XPG3 feature test macro is defined automatically if the programmer has requested
the XPG3 namespace (i.e., defined _XOPEN_SOURCE, but not some other conflicting
namespace such as _XPG2 or _XPG4).
_XPG4 The _XPG4 feature test macro is provided so that the programmer can obtain the XPG4
namespace, since it differs slightly from the _XPG3 namespace. In order to obtain the
XPG4 namespace, the programmer must define both the _XOPEN_SOURCE
and _XPG4
feature test macros. The _XOPEN_SOURCE
and _XPG4 feature test macros can be
defined, either by using compiler options (
-D_XOPEN_SOURCE -D_XPG4) or by using
#define directives in the source files before any #include directives.
_SVID2 The _SVID2 macro can be defined when using the compatibility mode compiler to obtain
SVID2 function return types in the HP-UX namespace. The default return types of many
functions have since been changed in the HP-UX operating system to align with the ANSI-
C, POSIX, X/Open, and OSF standards.
_CLASSIC_TYPES
The _CLASSIC_TYPES macro can be defined by the programmer to obtain pre-7.0 style
function return types and structure element types. This macro has been provided only as a
transition aid when migrating from the pre-7.0 version of HP-UX to standards-based HP-
UX. Use of this macro is strongly discouraged as this functionality will be removed in a
HP-UX Release 11i: December 2000 2 Section 5349
___
___