Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

comp.sys.hp.hpux FAQ
Section - 6.1.2 What's the deal with _INCLUDE_xxxx_SOURCE?

( Single Page )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Houses ]


Top Document: comp.sys.hp.hpux FAQ
Previous Document: 6.1.1 What threads support is provided?
Next Document: 6.1.3 Where can I find a list of all available system calls?
See reader questions & answers on this topic! - Help others by sharing your knowledge
The ANSI standard clearly states what identifiers it reserves, and says
the rest are available to you, the programmer.  Many "important things"
like "ulong" are *not* specified by ANSI, so ANSI header files are not
allowed by the standard to define them.  Each standard supported by HP-UX
(POSIX1, POSIX2, XPG2, XPG3, XPG4, AES, etc) has its own set of reserved
identifiers and header files, and the convention is to require
"-D_POSIX_SOURCE" (et al) to enabled their respective namespaces.  Since
HP could not predict what future standards would come along and claim
more header files and identifiers, it proved much simpler to make the
namespace as restrictive as possible unless "-D_HP-UX_SOURCE" is
specified.  While this has turned into one the most frequently asked of
FAQs about HP-UX, at least once you learn this, you don't have to deal
with inconsistencies again.  Whereas, had we allowed all non-standard
headers to define all non-standard symbols, you'd find identifiers
randomly "disappearing" from headers over time as they were claimed by
various standards.

Also check the man page for "cc -Ae"; it enables the HP-UX_SOURCE
namespace.

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

CAPTCHA




Top Document: comp.sys.hp.hpux FAQ
Previous Document: 6.1.1 What threads support is provided?
Next Document: 6.1.3 Where can I find a list of all available system calls?

Single Page

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
hpux.faq@gmail.com





Last Update March 27 2014 @ 02:11 PM