stdsyms.5 (2010 09)
s
stdsyms(5) stdsyms(5)
The current default X/Open namespace is that corresponding to XPG4.
Broader namespace can be requested by setting
_XOPEN_SOURCE to a value
as specified by the standard document.
_XOPEN_SOURCE_EXTENDED
As documented in the XPG, the programmer is required to define the
_XOPEN_SOURCE_EXTENDED
feature test macro to obtain
XPG4 v2
namespace and functionality. This feature test macro can be defined either by
using compiler option (
-D_XOPEN_SOURCE_EXTENDED
) or by using
#define directives in the source files before any
#include directives.
_AES_SOURCE As documented in the "OSF AES/OS" standard, the programmer is required to
define the
_AES_SOURCE feature test macro to obtain OSF functionality.
This feature test macro can be defined, either by using compiler options
(-D_AES_SOURCE) or by using #define
directives in the source files before
any
#include directives. Although the AES does not specify any namespace
pollution rules, the other standards have instituted such rules. Therefore
HP-UX provides a clean namespace whenever _AES_SOURCE
is defined.
Use of
_AES_SOURCE is strongly discouraged as this functionality will be
removed in a future release of HP-UX.
_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 compiler with default options (cc) or the com-
piler with compatibility-mode options (
cc command without the -Aa option),
the HP-UX namespace is provided by default (see cc (1)). 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 com-
piler 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 preprocessor, use the
-Ac option of the cc command (see 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.
_XPG3 The _XPG3 feature test macro is provided so that the programmer can obtain
the XPG3 namespace, since it differs slightly from the _XPG4 namespace. In
order to obtain the XPG3 namespace, the programmer must define both the
_XOPEN_SOURCE and _XPG3 feature test macros. The _XOPEN_SOURCE
and _XPG3 feature test macros can be defined, either by using compiler
options (-D_XOPEN_SOURCE -D_XPG3) or by using #define directives in
the source files before any #include directives. Use of this macro is
strongly discouraged as this functionality will be removed in a future release
of HP-UX.
2 Hewlett-Packard Company − 2 − HP-UX 11i Version 3: September 2010