1510 lines
55 KiB
HTML
1510 lines
55 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
|
|
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
|
|
<title>Conformance</title>
|
|
</head>
|
|
<body bgcolor="white">
|
|
<script type="text/javascript" language="JavaScript" src="../jscript/codes.js">
|
|
</script>
|
|
|
|
<basefont size="3"> <!--header start-->
|
|
<center><font size="2">The Open Group Base Specifications Issue 6<br>
|
|
IEEE Std 1003.1-2001<br>
|
|
Copyright © 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
|
|
|
|
<!--header end-->
|
|
<hr size="2" noshade>
|
|
<h2><a name="tag_02"></a>Conformance</h2>
|
|
|
|
<h3><a name="tag_02_01"></a>Implementation Conformance</h3>
|
|
|
|
<h4><a name="tag_02_01_01"></a>Requirements</h4>
|
|
|
|
<p>A <i>conforming implementation</i> shall meet all of the following criteria:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p>The system shall support all utilities, functions, and facilities defined within IEEE Std 1003.1-2001 that are
|
|
required for POSIX conformance (see <a href="#tag_02_01_03">POSIX Conformance</a> ). These interfaces shall support the functional
|
|
behavior described herein.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system may support one or more options as described under <a href="#tag_02_01_05">Option Groups</a> . When an implementation
|
|
claims that an option is supported, all of its constituent parts shall be provided.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system may support the X/Open System Interface Extension (XSI) as described under <a href="#tag_02_01_04">XSI
|
|
Conformance</a> .</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system may provide additional utilities, functions, or facilities not required by IEEE Std 1003.1-2001.
|
|
Non-standard extensions of the utilities, functions, or facilities specified in IEEE Std 1003.1-2001 should be identified
|
|
as such in the system documentation. Non-standard extensions, when used, may change the behavior of utilities, functions, or
|
|
facilities defined by IEEE Std 1003.1-2001. The conformance document shall define an environment in which an application
|
|
can be run with the behavior specified by IEEE Std 1003.1-2001. In no case shall such an environment require modification
|
|
of a Strictly Conforming POSIX Application (see <a href="#tag_02_02_01">Strictly Conforming POSIX Application</a> ).</p>
|
|
</li>
|
|
</ol>
|
|
|
|
<h4><a name="tag_02_01_02"></a>Documentation</h4>
|
|
|
|
<p>A conformance document with the following information shall be available for an implementation claiming conformance to
|
|
IEEE Std 1003.1-2001. The conformance document shall have the same structure as IEEE Std 1003.1-2001, with the
|
|
information presented in the appropriate sections and subsections. Sections and subsections that consist solely of subordinate
|
|
section titles, with no other information, are not required. The conformance document shall not contain information about extended
|
|
facilities or capabilities outside the scope of IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>The conformance document shall contain a statement that indicates the full name, number, and date of the standard that applies.
|
|
The conformance document may also list international software standards that are available for use by a Conforming POSIX
|
|
Application. Applicable characteristics where documentation is required by one of these standards, or by standards of government
|
|
bodies, may also be included.</p>
|
|
|
|
<p>The conformance document shall describe the limit values found in the headers <a href=
|
|
"limits.h.html"><i><limits.h></i></a> and <a href="unistd.h.html"><i><unistd.h></i></a> , stating values, the
|
|
conditions under which those values may change, and the limits of such variations, if any.</p>
|
|
|
|
<p>The conformance document shall describe the behavior of the implementation for all implementation-defined features defined in
|
|
IEEE Std 1003.1-2001. This requirement shall be met by listing these features and providing either a specific reference
|
|
to the system documentation or providing full syntax and semantics of these features. When the value or behavior in the
|
|
implementation is designed to be variable or customized on each instantiation of the system, the implementation provider shall
|
|
document the nature and permissible ranges of this variation.</p>
|
|
|
|
<p>The conformance document may specify the behavior of the implementation for those features where IEEE Std 1003.1-2001
|
|
states that implementations may vary or where features are identified as undefined or unspecified.</p>
|
|
|
|
<p>The conformance document shall not contain documentation other than that specified in the preceding paragraphs except where such
|
|
documentation is specifically allowed or required by other provisions of IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>The phrases "shall document" or "shall be documented" in IEEE Std 1003.1-2001 mean that documentation of the
|
|
feature shall appear in the conformance document, as described previously, unless there is an explicit reference in the conformance
|
|
document to show where the information can be found in the system documentation.</p>
|
|
|
|
<p>The system documentation should also contain the information found in the conformance document.</p>
|
|
|
|
<h4><a name="tag_02_01_03"></a>POSIX Conformance</h4>
|
|
|
|
<p>A conforming implementation shall meet the following criteria for POSIX conformance.</p>
|
|
|
|
<h5><a name="tag_02_01_03_01"></a>POSIX System Interfaces</h5>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>The system shall support all the mandatory functions and headers defined in IEEE Std 1003.1-2001, and shall set the
|
|
symbolic constant _POSIX_VERSION to the value 200112L.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Although all implementations conforming to IEEE Std 1003.1-2001 support all the features described below, there may be
|
|
system-dependent or file system-dependent configuration procedures that can remove or modify any or all of these features. Such
|
|
configurations should not be made if strict compliance is required.</p>
|
|
|
|
<p>The following symbolic constants shall either be undefined or defined with a value other than -1. If a constant is undefined, an
|
|
application should use the <a href="../functions/sysconf.html"><i>sysconf</i>()</a>, <a href=
|
|
"../functions/pathconf.html"><i>pathconf</i>()</a>, or <a href="../functions/fpathconf.html"><i>fpathconf</i>()</a> functions, or
|
|
the <a href="../utilities/getconf.html"><i>getconf</i></a> utility, to determine which features are present on the system at that
|
|
time or for the particular pathname in question.</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>_POSIX_CHOWN_RESTRICTED</p>
|
|
|
|
<p>The use of <a href="../functions/chown.html"><i>chown</i>()</a> is restricted to a process with appropriate privileges, and to
|
|
changing the group ID of a file only to the effective group ID of the process or to one of its supplementary group IDs.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_NO_TRUNC</p>
|
|
|
|
<p>Pathname components longer than {NAME_MAX} generate an error.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The following symbolic constants shall be defined as follows:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>_POSIX_JOB_CONTROL shall have a value greater than zero.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_SAVED_IDS shall have a value greater than zero.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_VDISABLE shall have a value other than -1.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<basefont size="2">
|
|
|
|
<dl>
|
|
<dt><b>Note:</b></dt>
|
|
|
|
<dd>The symbols above represent historical options that are no longer allowed as options, but are retained here for
|
|
backwards-compatibility of applications.</dd>
|
|
</dl>
|
|
|
|
<basefont size="3"></li>
|
|
|
|
<li>
|
|
<p>The system may support one or more options (see <a href="#tag_02_01_06">Options</a> ) denoted by the following symbolic
|
|
constants:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>_POSIX_ADVISORY_INFO</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_ASYNCHRONOUS_IO</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_BARRIERS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_CLOCK_SELECTION</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_CPUTIME</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_FSYNC</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_IPV6</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_MAPPED_FILES</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_MEMLOCK</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_MEMLOCK_RANGE</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_MEMORY_PROTECTION</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_MESSAGE_PASSING</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_MONOTONIC_CLOCK</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_PRIORITIZED_IO</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_PRIORITY_SCHEDULING</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_RAW_SOCKETS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_REALTIME_SIGNALS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_SEMAPHORES</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_SHARED_MEMORY_OBJECTS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_SPAWN</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_SPIN_LOCKS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_SPORADIC_SERVER</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_SYNCHRONIZED_IO</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_ATTR_STACKADDR</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_CPUTIME</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_ATTR_STACKSIZE</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_PRIO_INHERIT</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_PRIO_PROTECT</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_PRIORITY_SCHEDULING</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_PROCESS_SHARED</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_SAFE_FUNCTIONS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_SPORADIC_SERVER</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREADS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_TIMEOUTS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_TIMERS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_TRACE</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_TRACE_EVENT_FILTER</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_TRACE_INHERIT</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_TRACE_LOG</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_TYPED_MEMORY_OBJECTS</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>If any of the symbolic constants _POSIX_TRACE_EVENT_FILTER, _POSIX_TRACE_LOG, or _POSIX_TRACE_INHERIT is defined to have a value
|
|
other than -1, then the symbolic constant _POSIX_TRACE shall also be defined to have a value other than -1.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
The system may support the XSI extensions (see <a href="#tag_02_01_05_02">XSI Option Groups</a> ) denoted by the following symbolic
|
|
constants:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>_XOPEN_CRYPT</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_XOPEN_LEGACY</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_XOPEN_REALTIME</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_XOPEN_REALTIME_THREADS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_XOPEN_UNIX <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<h5><a name="tag_02_01_03_02"></a>POSIX Shell and Utilities</h5>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>The system shall provide all the mandatory utilities in the Shell and Utilities volume of IEEE Std 1003.1-2001 with
|
|
all the functional behavior described therein.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system shall support the Large File capabilities described in the Shell and Utilities volume of
|
|
IEEE Std 1003.1-2001.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system may support one or more options (see <a href="#tag_02_01_06">Options</a> ) denoted by the following symbolic
|
|
constants. (The literal names below apply to the <a href="../utilities/getconf.html"><i>getconf</i></a> utility.)</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>POSIX2_C_DEV</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_CHAR_TERM</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_FORT_DEV</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_FORT_RUN</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_LOCALEDEF</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_PBS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_PBS_ACCOUNTING</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_PBS_LOCATE</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_PBS_MESSAGE</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_PBS_TRACK</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_SW_DEV</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>POSIX2_UPE</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system may support the XSI extensions (see <a href="#tag_02_01_04">XSI Conformance</a> ).</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>Additional language bindings and development utility options may be provided in other related standards or in a future version
|
|
of IEEE Std 1003.1-2001. In the former case, additional symbolic constants of the same general form as shown in this
|
|
subsection should be defined by the related standard document and made available to the application without requiring
|
|
IEEE Std 1003.1-2001 to be updated.</p>
|
|
|
|
<h4><a name="tag_02_01_04"></a>XSI Conformance</h4>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
This section describes the criteria for implementations conforming to the XSI extension (see <a href=
|
|
"xbd_chap03.html#tag_03_439"><i>XSI</i></a> ). This functionality is dependent on the support of the XSI extension (and the rest of
|
|
this section is not further marked). <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p>
|
|
|
|
<p>IEEE Std 1003.1-2001 describes utilities, functions, and facilities offered to application programs by the X/Open
|
|
System Interface (XSI). An XSI-conforming implementation shall meet the criteria for POSIX conformance and the following
|
|
requirements.</p>
|
|
|
|
<h5><a name="tag_02_01_04_01"></a>XSI System Interfaces</h5>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>The system shall support all the functions and headers defined in IEEE Std 1003.1-2001 as part of the XSI extension
|
|
denoted by the symbolic constant _XOPEN_UNIX and any extensions marked with the XSI extension marking (see <a href=
|
|
"xbd_chap01.html#tag_01_05_01"><i>Codes</i></a> ).</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system shall support the <a href="../functions/mmap.html"><i>mmap</i>()</a>, <a href=
|
|
"../functions/munmap.html"><i>munmap</i>()</a>, and <a href="../functions/msync.html"><i>msync</i>()</a> functions.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system shall support the following options defined within IEEE Std 1003.1-2001 (see <a href=
|
|
"#tag_02_01_06">Options</a> ):</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>_POSIX_FSYNC</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_MAPPED_FILES</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_MEMORY_PROTECTION</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_ATTR_STACKADDR</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_ATTR_STACKSIZE</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_PROCESS_SHARED</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREAD_SAFE_FUNCTIONS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>_POSIX_THREADS</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system may support the following XSI Option Groups (see <a href="#tag_02_01_05_02">XSI Option Groups</a> ) defined within
|
|
IEEE Std 1003.1-2001:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>Encryption</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Realtime</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Advanced Realtime</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Realtime Threads</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Advanced Realtime Threads</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Tracing</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>XSI STREAMS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Legacy</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<h5><a name="tag_02_01_04_02"></a>XSI Shell and Utilities Conformance</h5>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>The system shall support all the utilities defined in the Shell and Utilities volume of IEEE Std 1003.1-2001 as part
|
|
of the XSI extension denoted by the XSI marking in the SYNOPSIS section, and any extensions marked with the XSI extension marking
|
|
(see <a href="xbd_chap01.html#tag_01_05_01"><i>Codes</i></a> ) within the text.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system shall support the User Portability Utilities option.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The system shall support creation of locales (see <a href="xbd_chap07.html#tag_07"><i>Locale</i></a> ).</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The C-language Development utility <a href="../utilities/c99.html"><i>c99</i></a> shall be supported.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The XSI Development Utilities option may be supported. It consists of the following software development utilities:</p>
|
|
|
|
<blockquote>
|
|
<table cellpadding="3">
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><br>
|
|
<a href="../utilities/admin.html"><i>admin</i></a><br>
|
|
<a href="../utilities/cflow.html"><i>cflow</i></a><br>
|
|
<a href="../utilities/ctags.html"><i>ctags</i></a><br>
|
|
<a href="../utilities/cxref.html"><i>cxref</i></a><br>
|
|
</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><br>
|
|
<a href="../utilities/delta.html"><i>delta</i></a><br>
|
|
<a href="../utilities/get.html"><i>get</i></a><br>
|
|
<a href="../utilities/m4.html"><i>m4</i></a><br>
|
|
<a href="../utilities/prs.html"><i>prs</i></a><br>
|
|
</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><br>
|
|
<a href="../utilities/rmdel.html"><i>rmdel</i></a><br>
|
|
<a href="../utilities/sact.html"><i>sact</i></a><br>
|
|
<a href="../utilities/sccs.html"><i>sccs</i></a><br>
|
|
<a href="../utilities/unget.html"><i>unget</i></a><br>
|
|
</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><br>
|
|
<a href="../utilities/val.html"><i>val</i></a><br>
|
|
<a href="../utilities/what.html"><i>what</i></a><br>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</blockquote>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Within the utilities that are provided, functionality marked by the code OF (see <a href=
|
|
"xbd_chap01.html#tag_01_05_01"><i>Codes</i></a> ) need not be provided.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<h4><a name="tag_02_01_05"></a>Option Groups</h4>
|
|
|
|
<p>An Option Group is a group of related functions or options defined within the System Interfaces volume of
|
|
IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>If an implementation supports an Option Group, then the system shall support the functional behavior described herein.</p>
|
|
|
|
<p>If an implementation does not support an Option Group, then the system need not support the functional behavior described
|
|
herein.</p>
|
|
|
|
<h5><a name="tag_02_01_05_01"></a>Subprofiling Considerations</h5>
|
|
|
|
<p>Profiling standards supporting functional requirements less than that required in IEEE Std 1003.1-2001 may subset both
|
|
mandatory and optional functionality required for POSIX Conformance (see <a href="#tag_02_01_03">POSIX Conformance</a> ) or XSI
|
|
Conformance (see <a href="#tag_02_01_04">XSI Conformance</a> ). Such profiles shall organize the subsets into Subprofiling Option
|
|
Groups.</p>
|
|
|
|
<p>The Rationale (Informative) volume of IEEE Std 1003.1-2001, Appendix E, Subprofiling Considerations (Informative)
|
|
describes a representative set of such Subprofiling Option Groups for use by profiles applicable to specialized realtime systems.
|
|
IEEE Std 1003.1-2001 does not require that the presence of Subprofiling Option Groups be testable at compile-time (as
|
|
symbols defined in any header) or at runtime (via <a href="../functions/sysconf.html"><i>sysconf</i>()</a> or <a href=
|
|
"../utilities/getconf.html"><i>getconf</i></a>).</p>
|
|
|
|
<p>A Subprofiling Option Group may provide basic system functionality that other Subprofiling Option Groups and other options
|
|
depend upon.<a href="#tag_foot_1"><sup><small>1</small></sup></a> If a profile of IEEE Std 1003.1-2001 does not require
|
|
an implementation to provide a Subprofiling Option Group that provides features utilized by a required Subprofiling Option Group
|
|
(or option),<a href="#tag_foot_2"><sup><small>2</small></sup></a> the profile shall specify<a href=
|
|
"#tag_foot_3"><sup><small>3</small></sup></a> all of the following:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>Restricted or altered behavior of interfaces defined in IEEE Std 1003.1-2001 that may differ on an implementation of
|
|
the profile</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Additional behaviors that may produce undefined or unspecified results</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Additional implementation-defined behavior that implementations shall be required to document in the profile's conformance
|
|
document</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>if any of the above is a result of the profile not requiring an interface required by IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>The following additional rules shall apply to all profiles of IEEE Std 1003.1-2001:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>Any application that conforms to that profile shall also conform to IEEE Std 1003.1-2001 (that is, a profile shall not
|
|
require restricted, altered, or extended behaviors of an implementation of IEEE Std 1003.1-2001).</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Profiles are permitted to add additional requirements to the limits defined in <a href=
|
|
"../basedefs/limits.h.html"><i><limits.h></i></a> and <a href="../basedefs/stdint.h.html"><i><stdint.h></i></a>,
|
|
subject to the following:</p>
|
|
|
|
<p>For the limits in <a href="../basedefs/limits.h.html"><i><limits.h></i></a> and <a href=
|
|
"../basedefs/stdint.h.html"><i><stdint.h></i></a>:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>If the limit is specified as having a fixed value, it shall not be changed by a profile.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>If a limit is specified as having a minimum or maximum acceptable value, it may be changed by a profile as follows:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>A profile may increase a minimum acceptable value, but shall not make a minimum acceptable value smaller.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>A profile may reduce a maximum acceptable value, but shall not make a maximum acceptable value larger.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>
|
|
<p>A profile shall not change a limit specified as having a minimum or maximum value into a limit specified as having a fixed
|
|
value.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>A profile shall not create new limits.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Any implementation that conforms to IEEE Std 1003.1-2001 (including all options and extended limits required by the
|
|
profile) shall also conform to that profile.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<h5><a name="tag_02_01_05_02"></a>XSI Option Groups</h5>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
This section describes Option Groups to support the definition of XSI conformance within the System Interfaces volume of
|
|
IEEE Std 1003.1-2001. This functionality is dependent on the support of the XSI extension (and the rest of this section
|
|
is not further marked). <img src="../images/opt-end.gif" alt="[Option End]" border="0"></p>
|
|
|
|
<p>The following Option Groups are defined.</p>
|
|
|
|
<h5><a name="tag_02_01_05_03"></a>Encryption</h5>
|
|
|
|
<p>The Encryption Option Group is denoted by the symbolic constant _XOPEN_CRYPT. It includes the following functions:</p>
|
|
|
|
<blockquote><a href="../functions/crypt.html"><i>crypt</i>()</a>, <a href="../functions/encrypt.html"><i>encrypt</i>()</a>, <a
|
|
href="../functions/setkey.html"><i>setkey</i>()</a></blockquote>
|
|
|
|
<p>These functions are marked CRYPT.</p>
|
|
|
|
<p>Due to export restrictions on the decoding algorithm in some countries, implementations may be restricted in making these
|
|
functions available. All the functions in the Encryption Option Group may therefore return [ENOSYS] or, alternatively, <a href=
|
|
"../functions/encrypt.html"><i>encrypt</i>()</a> shall return [ENOSYS] for the decryption operation.</p>
|
|
|
|
<p>An implementation that claims conformance to this Option Group shall set _XOPEN_CRYPT to a value other than -1.</p>
|
|
|
|
<h5><a name="tag_02_01_05_04"></a>Realtime</h5>
|
|
|
|
<p>The Realtime Option Group is denoted by the symbolic constant _XOPEN_REALTIME.</p>
|
|
|
|
<p>This Option Group includes a set of realtime functions drawn from options within IEEE Std 1003.1-2001 (see <a href=
|
|
"#tag_02_01_06">Options</a> ).</p>
|
|
|
|
<p>Where entire functions are included in the Option Group, the NAME section is marked with REALTIME. Where additional semantics
|
|
have been added to existing pages, the new material is identified by use of the appropriate margin legend for the underlying option
|
|
defined within IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>An implementation that claims conformance to this Option Group shall set _XOPEN_REALTIME to a value other than -1.</p>
|
|
|
|
<p>This Option Group consists of the set of the following options from within IEEE Std 1003.1-2001 (see <a href=
|
|
"#tag_02_01_06">Options</a> ):</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_ASYNCHRONOUS_IO
|
|
|
|
_POSIX_FSYNC
|
|
|
|
_POSIX_MAPPED_FILES
|
|
|
|
_POSIX_MEMLOCK
|
|
|
|
_POSIX_MEMLOCK_RANGE
|
|
|
|
_POSIX_MEMORY_PROTECTION
|
|
|
|
_POSIX_MESSAGE_PASSING
|
|
|
|
_POSIX_PRIORITIZED_IO
|
|
|
|
_POSIX_PRIORITY_SCHEDULING
|
|
|
|
_POSIX_REALTIME_SIGNALS
|
|
|
|
_POSIX_SEMAPHORES
|
|
|
|
_POSIX_SHARED_MEMORY_OBJECTS
|
|
|
|
_POSIX_SYNCHRONIZED_IO
|
|
|
|
_POSIX_TIMERS
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>If the symbolic constant _XOPEN_REALTIME is defined to have a value other than -1, then the following symbolic constants shall
|
|
be defined by the implementation to have the value 200112L:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_ASYNCHRONOUS_IO
|
|
|
|
_POSIX_MEMLOCK
|
|
|
|
_POSIX_MEMLOCK_RANGE
|
|
|
|
_POSIX_MESSAGE_PASSING
|
|
|
|
_POSIX_PRIORITY_SCHEDULING
|
|
|
|
_POSIX_REALTIME_SIGNALS
|
|
|
|
_POSIX_SEMAPHORES
|
|
|
|
_POSIX_SHARED_MEMORY_OBJECTS
|
|
|
|
_POSIX_SYNCHRONIZED_IO
|
|
|
|
_POSIX_TIMERS
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>The functionality associated with _POSIX_MAPPED_FILES, _POSIX_MEMORY_PROTECTION, and _POSIX_FSYNC is always supported on
|
|
XSI-conformant systems.</p>
|
|
|
|
<p>Support of _POSIX_PRIORITIZED_IO on XSI-conformant systems is optional. If this functionality is supported, then
|
|
_POSIX_PRIORITIZED_IO shall be set to a value other than -1. Otherwise, it shall be undefined.</p>
|
|
|
|
<p>If _POSIX_PRIORITIZED_IO is supported, then asynchronous I/O operations performed by <a href=
|
|
"../functions/aio_read.html"><i>aio_read</i>()</a>, <a href="../functions/aio_write.html"><i>aio_write</i>()</a>, and <a href=
|
|
"../functions/lio_listio.html"><i>lio_listio</i>()</a> shall be submitted at a priority equal to the scheduling priority of the
|
|
process minus <i>aiocbp</i>-><i>aio_reqprio</i>. The implementation shall also document for which files I/O prioritization is
|
|
supported.</p>
|
|
|
|
<h5><a name="tag_02_01_05_05"></a>Advanced Realtime</h5>
|
|
|
|
<p>An implementation that claims conformance to this Option Group shall also support the Realtime Option Group.</p>
|
|
|
|
<p>Where entire functions are included in the Option Group, the NAME section is marked with ADVANCED REALTIME. Where additional
|
|
semantics have been added to existing pages, the new material is identified by use of the appropriate margin legend for the
|
|
underlying option defined within IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>This Option Group consists of the set of the following options from within IEEE Std 1003.1-2001 (see <a href=
|
|
"#tag_02_01_06">Options</a> ):</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_ADVISORY_INFO
|
|
|
|
_POSIX_CLOCK_SELECTION
|
|
|
|
_POSIX_CPUTIME
|
|
|
|
_POSIX_MONOTONIC_CLOCK
|
|
|
|
_POSIX_SPAWN
|
|
|
|
_POSIX_SPORADIC_SERVER
|
|
|
|
_POSIX_TIMEOUTS
|
|
|
|
_POSIX_TYPED_MEMORY_OBJECTS
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>If the implementation supports the Advanced Realtime Option Group, then the following symbolic constants shall be defined by the
|
|
implementation to have the value 200112L:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_ADVISORY_INFO
|
|
|
|
_POSIX_CLOCK_SELECTION
|
|
|
|
_POSIX_CPUTIME
|
|
|
|
_POSIX_MONOTONIC_CLOCK
|
|
|
|
_POSIX_SPAWN
|
|
|
|
_POSIX_SPORADIC_SERVER
|
|
|
|
_POSIX_TIMEOUTS
|
|
|
|
_POSIX_TYPED_MEMORY_OBJECTS
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>If the symbolic constant _POSIX_SPORADIC_SERVER is defined, then the symbolic constant _POSIX_PRIORITY_SCHEDULING shall also be
|
|
defined by the implementation to have the value 200112L.</p>
|
|
|
|
<p>If the symbolic constant _POSIX_CPUTIME is defined, then the symbolic constant _POSIX_TIMERS shall also be defined by the
|
|
implementation to have the value 200112L.</p>
|
|
|
|
<p>If the symbolic constant _POSIX_MONOTONIC_CLOCK is defined, then the symbolic constant _POSIX_TIMERS shall also be defined by
|
|
the implementation to have the value 200112L.</p>
|
|
|
|
<p>If the symbolic constant _POSIX_CLOCK_SELECTION is defined, then the symbolic constant _POSIX_TIMERS shall also be defined by
|
|
the implementation to have the value 200112L.</p>
|
|
|
|
<h5><a name="tag_02_01_05_06"></a>Realtime Threads</h5>
|
|
|
|
<p>The Realtime Threads Option Group is denoted by the symbolic constant _XOPEN_REALTIME_THREADS.</p>
|
|
|
|
<p>This Option Group consists of the set of the following options from within IEEE Std 1003.1-2001 (see <a href=
|
|
"#tag_02_01_06">Options</a> ):</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_THREAD_PRIO_INHERIT
|
|
|
|
_POSIX_THREAD_PRIO_PROTECT
|
|
|
|
_POSIX_THREAD_PRIORITY_SCHEDULING
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>Where applicable, whole pages are marked REALTIME THREADS, together with the appropriate option margin legend for the SYNOPSIS
|
|
section (see <a href="xbd_chap01.html#tag_01_05_01"><i>Codes</i></a> ).</p>
|
|
|
|
<p>An implementation that claims conformance to this Option Group shall set _XOPEN_REALTIME_THREADS to a value other than -1.</p>
|
|
|
|
<p>If the symbol _XOPEN_REALTIME_THREADS is defined to have a value other than -1, then the following options shall also be defined
|
|
by the implementation to have the value 200112L:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_THREAD_PRIO_INHERIT
|
|
|
|
_POSIX_THREAD_PRIO_PROTECT
|
|
|
|
_POSIX_THREAD_PRIORITY_SCHEDULING
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<h5><a name="tag_02_01_05_07"></a>Advanced Realtime Threads</h5>
|
|
|
|
<p>An implementation that claims conformance to this Option Group shall also support the Realtime Threads Option Group.</p>
|
|
|
|
<p>Where entire functions are included in the Option Group, the NAME section is marked with ADVANCED REALTIME THREADS. Where
|
|
additional semantics have been added to existing pages, the new material is identified by use of the appropriate margin legend for
|
|
the underlying option defined within IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>This Option Group consists of the set of the following options from within IEEE Std 1003.1-2001 (see <a href=
|
|
"#tag_02_01_06">Options</a> ):</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_BARRIERS
|
|
|
|
_POSIX_SPIN_LOCKS
|
|
|
|
_POSIX_THREAD_CPUTIME
|
|
|
|
_POSIX_THREAD_SPORADIC_SERVER
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>If the symbolic constant _POSIX_THREAD_SPORADIC_SERVER is defined to have the value 200112L, then the symbolic constant
|
|
_POSIX_THREAD_PRIORITY_SCHEDULING shall also be defined by the implementation to have the value 200112L.</p>
|
|
|
|
<p>If the symbolic constant _POSIX_THREAD_CPUTIME is defined to have the value 200112L, then the symbolic constant _POSIX_TIMERS
|
|
shall also be defined by the implementation to have the value 200112L.</p>
|
|
|
|
<p>If the symbolic constant _POSIX_BARRIERS is defined to have the value 200112L, then the symbolic constants _POSIX_THREADS and
|
|
_POSIX_THREAD_SAFE_FUNCTIONS shall also be defined by the implementation to have the value 200112L.</p>
|
|
|
|
<p>If the symbolic constant _POSIX_SPIN_LOCKS is defined to have the value 200112L, then the symbolic constants _POSIX_THREADS and
|
|
_POSIX_THREAD_SAFE_FUNCTIONS shall also be defined by the implementation to have the value 200112L.</p>
|
|
|
|
<p>If the implementation supports the Advanced Realtime Threads Option Group, then the following symbolic constants shall be
|
|
defined by the implementation to have the value 200112L:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_BARRIERS
|
|
|
|
_POSIX_SPIN_LOCKS
|
|
|
|
_POSIX_THREAD_CPUTIME
|
|
|
|
_POSIX_THREAD_SPORADIC_SERVER
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<h5><a name="tag_02_01_05_08"></a>Tracing</h5>
|
|
|
|
<p>This Option Group includes a set of tracing functions drawn from options within IEEE Std 1003.1-2001 (see <a href=
|
|
"#tag_02_01_06">Options</a> ).</p>
|
|
|
|
<p>Where entire functions are included in the Option Group, the NAME section is marked with TRACING. Where additional semantics
|
|
have been added to existing pages, the new material is identified by use of the appropriate margin legend for the underlying option
|
|
defined within IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>This Option Group consists of the set of the following options from within IEEE Std 1003.1-2001 (see <a href=
|
|
"#tag_02_01_06">Options</a> ):</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_TRACE
|
|
|
|
_POSIX_TRACE_EVENT_FILTER
|
|
|
|
_POSIX_TRACE_LOG
|
|
|
|
_POSIX_TRACE_INHERIT
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<p>If the implementation supports the Tracing Option Group, then the following symbolic constants shall be defined by the
|
|
implementation to have the value 200112L:</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
_POSIX_TRACE
|
|
|
|
_POSIX_TRACE_EVENT_FILTER
|
|
|
|
_POSIX_TRACE_LOG
|
|
|
|
_POSIX_TRACE_INHERIT
|
|
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<h5><a name="tag_02_01_05_09"></a>XSI STREAMS</h5>
|
|
|
|
<p>The XSI STREAMS Option Group is denoted by the symbolic constant _XOPEN_STREAMS.</p>
|
|
|
|
<p>This Option Group includes functionality related to STREAMS, a uniform mechanism for implementing networking services and other
|
|
character-based I/O as described in the System Interfaces volume of IEEE Std 1003.1-2001, <a href=
|
|
"../functions/xsh_chap02_06.html">Section 2.6, STREAMS</a>.</p>
|
|
|
|
<p>It includes the following functions:</p>
|
|
|
|
<blockquote><a href="../functions/fattach.html"><i>fattach</i>()</a>, <a href="../functions/fdetach.html"><i>fdetach</i>()</a>, <a
|
|
href="../functions/getmsg.html"><i>getmsg</i>()</a>, <a href="../functions/getpmsg.html"><i>getpmsg</i>()</a>, <a href=
|
|
"../functions/ioctl.html"><i>ioctl</i>()</a>, <a href="../functions/isastream.html"><i>isastream</i>()</a>, <a href=
|
|
"../functions/putmsg.html"><i>putmsg</i>()</a>, <a href="../functions/putpmsg.html"><i>putpmsg</i>()</a></blockquote>
|
|
|
|
<p>and the <a href="../basedefs/stropts.h.html"><i><stropts.h></i></a> header.</p>
|
|
|
|
<p>Where applicable, whole pages are marked STREAMS, together with the appropriate option margin legend for the SYNOPSIS section
|
|
(see <a href="xbd_chap01.html#tag_01_05_01"><i>Codes</i></a> ). Where additional semantics have been added to existing pages, the
|
|
new material is identified by use of the appropriate margin legend for the underlying option defined within
|
|
IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>An implementation that claims conformance to this Option Group shall set _XOPEN_STREAMS to a value other than -1.</p>
|
|
|
|
<h5><a name="tag_02_01_05_10"></a>Legacy</h5>
|
|
|
|
<p>The Legacy Option Group is denoted by the symbolic constant _XOPEN_LEGACY.</p>
|
|
|
|
<p>The Legacy Option Group includes the functions and headers which were mandatory in previous versions of
|
|
IEEE Std 1003.1-2001 but are optional in this version.</p>
|
|
|
|
<p>These functions and headers are retained in IEEE Std 1003.1-2001 because of their widespread use. Application writers
|
|
should not rely on the existence of these functions or headers in new applications, but should follow the migration path detailed
|
|
in the APPLICATION USAGE sections of the relevant pages.</p>
|
|
|
|
<p>Various factors may have contributed to the decision to mark a function or header LEGACY. In all cases, the specific reasons for
|
|
the withdrawal of a function or header are documented on the relevant pages.</p>
|
|
|
|
<p>Once a function or header is marked LEGACY, no modifications are made to the specifications of such functions or headers other
|
|
than to the APPLICATION USAGE sections of the relevant pages.</p>
|
|
|
|
<p>The functions and headers which form this Option Group are as follows:</p>
|
|
|
|
<blockquote><a href="../functions/bcmp.html"><i>bcmp</i>()</a>, <a href="../functions/bcopy.html"><i>bcopy</i>()</a>, <a href=
|
|
"../functions/bzero.html"><i>bzero</i>()</a>, <a href="../functions/ecvt.html"><i>ecvt</i>()</a>, <a href=
|
|
"../functions/fcvt.html"><i>fcvt</i>()</a>, <a href="../functions/ftime.html"><i>ftime</i>()</a>, <a href=
|
|
"../functions/gcvt.html"><i>gcvt</i>()</a>, <a href="../functions/getwd.html"><i>getwd</i>()</a>, <a href=
|
|
"../functions/index.html"><i>index</i>()</a>, <a href="../functions/mktemp.html"><i>mktemp</i>()</a>, <a href=
|
|
"../functions/rindex.html"><i>rindex</i>()</a>, <a href="../functions/utimes.html"><i>utimes</i>()</a>, <a href=
|
|
"../functions/wcswcs.html"><i>wcswcs</i>()</a></blockquote>
|
|
|
|
<p>An implementation that claims conformance to this Option Group shall set _XOPEN_LEGACY to a value other than -1.</p>
|
|
|
|
<h4><a name="tag_02_01_06"></a>Options</h4>
|
|
|
|
<p>The symbolic constants defined in <a href="../basedefs/unistd.h.html"><i><unistd.h></i></a>, <a href=
|
|
"unistd.h.html"><i>Constants for Options and Option Groups</i></a> reflect implementation options for
|
|
IEEE Std 1003.1-2001. These symbols can be used by the application to determine which optional facilities are present on
|
|
the implementation. The <a href="../functions/sysconf.html"><i>sysconf</i>()</a> function defined in the System Interfaces volume
|
|
of IEEE Std 1003.1-2001 or the <a href="../utilities/getconf.html"><i>getconf</i></a> utility defined in the Shell and
|
|
Utilities volume of IEEE Std 1003.1-2001 can be used to retrieve the value of each symbol on each specific implementation
|
|
to determine whether the option is supported.</p>
|
|
|
|
<p>Where an option is not supported, the associated utilities, functions, or facilities need not be present.</p>
|
|
|
|
<p>Margin codes are defined for each option (see <a href="xbd_chap01.html#tag_01_05_01"><i>Codes</i></a> ).</p>
|
|
|
|
<h5><a name="tag_02_01_06_01"></a>System Interfaces</h5>
|
|
|
|
<p>Refer to <a href="../basedefs/unistd.h.html"><i><unistd.h></i></a>, <a href="unistd.h.html"><i>Constants for Options and
|
|
Option Groups</i></a> for the list of options.</p>
|
|
|
|
<h5><a name="tag_02_01_06_02"></a>Shell and Utilities</h5>
|
|
|
|
<p>Each of these symbols shall be considered valid names by the implementation. Refer to <a href=
|
|
"../basedefs/unistd.h.html"><i><unistd.h></i></a>, <a href="unistd.h.html"><i>Constants for Options and Option Groups</i></a>
|
|
.</p>
|
|
|
|
<p>The literal names shown below apply only to the <a href="../utilities/getconf.html"><i>getconf</i></a> utility.</p>
|
|
|
|
<dl compact>
|
|
<dt>POSIX2_C_DEV</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('CD')">CD</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The system supports the C-Language Development Utilities option. <img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
|
|
<p>The utilities in the C-Language Development Utilities option are used for the development of C-language applications, including
|
|
compilation or translation of C source code and complex program generators for simple lexical tasks and processing of context-free
|
|
grammars.</p>
|
|
|
|
<p>The utilities listed below may be provided by a conforming system; however, any system claiming conformance to the C-Language
|
|
Development Utilities option shall provide all of the utilities listed.</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<a href="../utilities/c99.html"><i>c99</i></a>
|
|
<a href="../utilities/lex.html"><i>lex</i></a>
|
|
<a href="../utilities/yacc.html"><i>yacc</i></a>
|
|
</pre>
|
|
</blockquote>
|
|
</dd>
|
|
|
|
<dt>POSIX2_CHAR_TERM</dt>
|
|
|
|
<dd><br>
|
|
The system supports the Terminal Characteristics option. This value need not be present on a system not supporting the User
|
|
Portability Utilities option.
|
|
|
|
<p>Where applicable, the dependency is noted within the description of the utility.</p>
|
|
|
|
<p>This option applies only to systems supporting the User Portability Utilities option. If supported, then the system supports at
|
|
least one terminal type capable of all operations described in IEEE Std 1003.1-2001; see <a href=
|
|
"xbd_chap10.html#tag_10_02"><i>Output Devices and Terminal Types</i></a> .</p>
|
|
</dd>
|
|
|
|
<dt>POSIX2_FORT_DEV</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('FD')">FD</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The system supports the FORTRAN Development Utilities option. <img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
|
|
<p>The <a href="../utilities/fort77.html"><i>fort77</i></a> FORTRAN compiler is the only utility in the FORTRAN Development
|
|
Utilities option. This is used for the development of FORTRAN language applications, including compilation or translation of
|
|
FORTRAN source code.</p>
|
|
|
|
<p>The <a href="../utilities/fort77.html"><i>fort77</i></a> utility may be provided by a conforming system; however, any system
|
|
claiming conformance to the FORTRAN Development Utilities option shall provide the <a href=
|
|
"../utilities/fort77.html"><i>fort77</i></a> utility.</p>
|
|
</dd>
|
|
|
|
<dt>POSIX2_FORT_RUN</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('FR')">FR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The system supports the FORTRAN Runtime Utilities option. <img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
|
|
<p>The <a href="../utilities/asa.html"><i>asa</i></a> utility is the only utility in the FORTRAN Runtime Utilities option.</p>
|
|
|
|
<p>The <a href="../utilities/asa.html"><i>asa</i></a> utility may be provided by a conforming system; however, any system claiming
|
|
conformance to the FORTRAN Runtime Utilities option shall provide the <a href="../utilities/asa.html"><i>asa</i></a> utility.</p>
|
|
</dd>
|
|
|
|
<dt>POSIX2_LOCALEDEF</dt>
|
|
|
|
<dd><br>
|
|
The system supports the Locale Creation Utilities option.
|
|
|
|
<p>If supported, the system supports the creation of locales as described in the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> utility.</p>
|
|
|
|
<p>The <a href="../utilities/localedef.html"><i>localedef</i></a> utility may be provided by a conforming system; however, any
|
|
system claiming conformance to the Locale Creation Utilities option shall provide the <a href=
|
|
"../utilities/localedef.html"><i>localedef</i></a> utility.</p>
|
|
</dd>
|
|
|
|
<dt>POSIX2_PBS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('BE')">BE</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The system supports the Batch Environment Services and Utilities option (see the Shell and Utilities volume of
|
|
IEEE Std 1003.1-2001, <a href="../utilities/xcu_chap03.html">Chapter 3, Batch Environment Services</a>). <img src=
|
|
"../images/opt-end.gif" alt="[Option End]" border="0"> <basefont size="2">
|
|
|
|
<dl>
|
|
<dt><b>Note:</b></dt>
|
|
|
|
<dd>The Batch Environment Services and Utilities option is a combination of mandatory and optional batch services and utilities.
|
|
The POSIX_PBS symbolic constant implies the system supports all the mandatory batch services and utilities.</dd>
|
|
</dl>
|
|
|
|
<basefont size="3"></dd>
|
|
|
|
<dt>POSIX2_PBS_ACCOUNTING</dt>
|
|
|
|
<dd><br>
|
|
The system supports the Batch Accounting option.</dd>
|
|
|
|
<dt>POSIX2_PBS_CHECKPOINT</dt>
|
|
|
|
<dd><br>
|
|
The system supports the Batch Checkpoint/Restart option.</dd>
|
|
|
|
<dt>POSIX2_PBS_LOCATE</dt>
|
|
|
|
<dd><br>
|
|
The system supports the Locate Batch Job Request option.</dd>
|
|
|
|
<dt>POSIX2_PBS_MESSAGE</dt>
|
|
|
|
<dd><br>
|
|
The system supports the Batch Job Message Request option.</dd>
|
|
|
|
<dt>POSIX2_PBS_TRACK</dt>
|
|
|
|
<dd><br>
|
|
The system supports the Track Batch Job Request option.</dd>
|
|
|
|
<dt>POSIX2_SW_DEV</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('SD')">SD</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The system supports the Software Development Utilities option. <img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
|
|
<p>The utilities in the Software Development Utilities option are used for the development of applications, including compilation
|
|
or translation of source code, the creation and maintenance of library archives, and the maintenance of groups of inter-dependent
|
|
programs.</p>
|
|
|
|
<p>The utilities listed below may be provided by the conforming system; however, any system claiming conformance to the Software
|
|
Development Utilities option shall provide all of the utilities listed here.</p>
|
|
|
|
<blockquote>
|
|
<pre>
|
|
<a href="../utilities/ar.html"><i>ar</i></a>
|
|
<a href="../utilities/make.html"><i>make</i></a>
|
|
<a href="../utilities/nm.html"><i>nm</i></a>
|
|
<a href="../utilities/strip.html"><i>strip</i></a>
|
|
</pre>
|
|
</blockquote>
|
|
</dd>
|
|
|
|
<dt>POSIX2_UPE</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('UP')">UP</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The system supports the User Portability Utilities option. <img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
|
|
<p>The utilities in the User Portability Utilities option shall be implemented on all systems that claim conformance to this
|
|
option. Certain utilities are noted as having features that cannot be implemented on all terminal types; if the POSIX2_CHAR_TERM
|
|
option is supported, the system shall support all such features on at least one terminal type; see <a href=
|
|
"xbd_chap10.html#tag_10_02"><i>Output Devices and Terminal Types</i></a> .</p>
|
|
|
|
<p>Some of the utilities are required only on systems that also support the Software Development Utilities option, or the
|
|
character-at-a-time terminal option (see <a href="xbd_chap10.html#tag_10_02"><i>Output Devices and Terminal Types</i></a> ); such
|
|
utilities have this noted in their DESCRIPTION sections. All of the other utilities listed are required only on systems that claim
|
|
conformance to the User Portability Utilities option.</p>
|
|
|
|
<blockquote>
|
|
<table cellpadding="3">
|
|
<tr valign="top">
|
|
<td align="left">
|
|
<p class="tent"><br>
|
|
<a href="../utilities/alias.html"><i>alias</i></a><br>
|
|
<a href="../utilities/at.html"><i>at</i></a><br>
|
|
<a href="../utilities/batch.html"><i>batch</i></a><br>
|
|
<a href="../utilities/bg.html"><i>bg</i></a><br>
|
|
<a href="../utilities/crontab.html"><i>crontab</i></a><br>
|
|
<a href="../utilities/split.html"><i>split</i></a><br>
|
|
<a href="../utilities/ctags.html"><i>ctags</i></a><br>
|
|
<a href="../utilities/df.html"><i>df</i></a><br>
|
|
<a href="../utilities/du.html"><i>du</i></a><br>
|
|
<a href="../utilities/ex.html"><i>ex</i></a><br>
|
|
</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><br>
|
|
<a href="../utilities/expand.html"><i>expand</i></a><br>
|
|
<a href="../utilities/fc.html"><i>fc</i></a><br>
|
|
<a href="../utilities/fg.html"><i>fg</i></a><br>
|
|
<a href="../utilities/file.html"><i>file</i></a><br>
|
|
<a href="../utilities/jobs.html"><i>jobs</i></a><br>
|
|
<a href="../utilities/man.html"><i>man</i></a><br>
|
|
<a href="../utilities/mesg.html"><i>mesg</i></a><br>
|
|
<a href="../utilities/more.html"><i>more</i></a><br>
|
|
<a href="../utilities/newgrp.html"><i>newgrp</i></a><br>
|
|
<a href="../utilities/nice.html"><i>nice</i></a><br>
|
|
</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><br>
|
|
<a href="../utilities/nm.html"><i>nm</i></a><br>
|
|
<a href="../utilities/patch.html"><i>patch</i></a><br>
|
|
<a href="../utilities/ps.html"><i>ps</i></a><br>
|
|
<a href="../utilities/renice.html"><i>renice</i></a><br>
|
|
<a href="../utilities/split.html"><i>split</i></a><br>
|
|
<a href="../utilities/strings.html"><i>strings</i></a><br>
|
|
<a href="../utilities/tabs.html"><i>tabs</i></a><br>
|
|
<a href="../utilities/talk.html"><i>talk</i></a><br>
|
|
<a href="../utilities/time.html"><i>time</i></a><br>
|
|
<a href="../utilities/tput.html"><i>tput</i></a><br>
|
|
</p>
|
|
</td>
|
|
<td align="left">
|
|
<p class="tent"><br>
|
|
<a href="../utilities/unalias.html"><i>unalias</i></a><br>
|
|
<a href="../utilities/unexpand.html"><i>unexpand</i></a><br>
|
|
<a href="../utilities/uudecode.html"><i>uudecode</i></a><br>
|
|
<a href="../utilities/uuencode.html"><i>uuencode</i></a><br>
|
|
<a href="../utilities/vi.html"><i>vi</i></a><br>
|
|
<a href="../utilities/who.html"><i>who</i></a><br>
|
|
<a href="../utilities/write.html"><i>write</i></a><br>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</blockquote>
|
|
</dd>
|
|
</dl>
|
|
|
|
<h3><a name="tag_02_02"></a>Application Conformance</h3>
|
|
|
|
<p>All applications claiming conformance to IEEE Std 1003.1-2001 shall use only language-dependent services for the C
|
|
programming language described in <a href="#tag_02_03">Language-Dependent Services for the C Programming Language</a> , shall use
|
|
only the utilities and facilities defined in the Shell and Utilities volume of IEEE Std 1003.1-2001, and shall fall
|
|
within one of the following categories.</p>
|
|
|
|
<h4><a name="tag_02_02_01"></a>Strictly Conforming POSIX Application</h4>
|
|
|
|
<p>A Strictly Conforming POSIX Application is an application that requires only the facilities described in
|
|
IEEE Std 1003.1-2001. Such an application:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p>Shall accept any implementation behavior that results from actions it takes in areas described in IEEE Std 1003.1-2001
|
|
as <i>implementation-defined</i> or <i>unspecified</i>, or where IEEE Std 1003.1-2001 indicates that implementations may
|
|
vary</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Shall not perform any actions that are described as producing <i>undefined</i> results</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>For symbolic constants, shall accept any value in the range permitted by IEEE Std 1003.1-2001, but shall not rely on
|
|
any value in the range being greater than the minimums listed or being less than the maximums listed in
|
|
IEEE Std 1003.1-2001</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Shall not use facilities designated as <i>obsolescent</i></p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Is required to tolerate and permitted to adapt to the presence or absence of optional facilities whose availability is indicated
|
|
by <a href="#tag_02_01_03">POSIX Conformance</a></p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>For the C programming language, shall not produce any output dependent on any behavior described in the ISO/IEC 9899:1999
|
|
standard as <i>unspecified</i>, <i>undefined</i>, or <i>implementation-defined</i>, unless the System Interfaces volume of
|
|
IEEE Std 1003.1-2001 specifies the behavior</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>For the C programming language, shall not exceed any minimum implementation limit defined in the ISO/IEC 9899:1999
|
|
standard, unless the System Interfaces volume of IEEE Std 1003.1-2001 specifies a higher minimum implementation limit</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>For the C programming language, shall define _POSIX_C_SOURCE to be 200112L before any header is included</p>
|
|
</li>
|
|
</ol>
|
|
|
|
<p>Within IEEE Std 1003.1-2001, any restrictions placed upon a Conforming POSIX Application shall restrict a Strictly
|
|
Conforming POSIX Application.</p>
|
|
|
|
<h4><a name="tag_02_02_02"></a>Conforming POSIX Application</h4>
|
|
|
|
<h5><a name="tag_02_02_02_01"></a>ISO/IEC Conforming POSIX Application</h5>
|
|
|
|
<p>An ISO/IEC Conforming POSIX Application is an application that uses only the facilities described in
|
|
IEEE Std 1003.1-2001 and approved Conforming Language bindings for any ISO or IEC standard. Such an application shall
|
|
include a statement of conformance that documents all options and limit dependencies, and all other ISO or IEC standards used.</p>
|
|
|
|
<h5><a name="tag_02_02_02_02"></a><National Body> Conforming POSIX Application</h5>
|
|
|
|
<p>A <National Body> Conforming POSIX Application differs from an ISO/IEC Conforming POSIX Application in that it also may
|
|
use specific standards of a single ISO/IEC member body referred to here as <<i>National Body</i>>. Such an application shall
|
|
include a statement of conformance that documents all options and limit dependencies, and all other <National Body> standards
|
|
used.</p>
|
|
|
|
<h4><a name="tag_02_02_03"></a>Conforming POSIX Application Using Extensions</h4>
|
|
|
|
<p>A Conforming POSIX Application Using Extensions is an application that differs from a Conforming POSIX Application only in that
|
|
it uses non-standard facilities that are consistent with IEEE Std 1003.1-2001. Such an application shall fully document
|
|
its requirements for these extended facilities, in addition to the documentation required of a Conforming POSIX Application. A
|
|
Conforming POSIX Application Using Extensions shall be either an ISO/IEC Conforming POSIX Application Using Extensions or a
|
|
<National Body> Conforming POSIX Application Using Extensions (see <a href="#tag_02_02_02_01">ISO/IEC Conforming POSIX
|
|
Application</a> and <a href="#tag_02_02_02_02"><National Body> Conforming POSIX Application</a> ).</p>
|
|
|
|
<h4><a name="tag_02_02_04"></a>Strictly Conforming XSI Application</h4>
|
|
|
|
<p>A Strictly Conforming XSI Application is an application that requires only the facilities described in
|
|
IEEE Std 1003.1-2001. Such an application:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p>Shall accept any implementation behavior that results from actions it takes in areas described in IEEE Std 1003.1-2001
|
|
as <i>implementation-defined</i> or <i>unspecified</i>, or where IEEE Std 1003.1-2001 indicates that implementations may
|
|
vary</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Shall not perform any actions that are described as producing <i>undefined</i> results</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>For symbolic constants, shall accept any value in the range permitted by IEEE Std 1003.1-2001, but shall not rely on
|
|
any value in the range being greater than the minimums listed or being less than the maximums listed in
|
|
IEEE Std 1003.1-2001</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Shall not use facilities designated as <i>obsolescent</i></p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Is required to tolerate and permitted to adapt to the presence or absence of optional facilities whose availability is indicated
|
|
by <a href="#tag_02_01_04">XSI Conformance</a></p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>For the C programming language, shall not produce any output dependent on any behavior described in the ISO C standard as
|
|
<i>unspecified</i>, <i>undefined</i>, or <i>implementation-defined</i>, unless the System Interfaces volume of
|
|
IEEE Std 1003.1-2001 specifies the behavior</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>For the C programming language, shall not exceed any minimum implementation limit defined in the ISO C standard, unless the
|
|
System Interfaces volume of IEEE Std 1003.1-2001 specifies a higher minimum implementation limit</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>For the C programming language, shall define _XOPEN_SOURCE to be 600 before any header is included</p>
|
|
</li>
|
|
</ol>
|
|
|
|
<p>Within IEEE Std 1003.1-2001, any restrictions placed upon a Conforming POSIX Application shall restrict a Strictly
|
|
Conforming XSI Application.</p>
|
|
|
|
<h4><a name="tag_02_02_05"></a>Conforming XSI Application Using Extensions</h4>
|
|
|
|
<p>A Conforming XSI Application Using Extensions is an application that differs from a Strictly Conforming XSI Application only in
|
|
that it uses non-standard facilities that are consistent with IEEE Std 1003.1-2001. Such an application shall fully
|
|
document its requirements for these extended facilities, in addition to the documentation required of a Strictly Conforming XSI
|
|
Application.</p>
|
|
|
|
<h3><a name="tag_02_03"></a>Language-Dependent Services for the C Programming Language</h3>
|
|
|
|
<p>Implementors seeking to claim conformance using the ISO C standard shall claim POSIX conformance as described in <a href=
|
|
"#tag_02_01_03">POSIX Conformance</a> .</p>
|
|
|
|
<h3><a name="tag_02_04"></a>Other Language-Related Specifications</h3>
|
|
|
|
<p>IEEE Std 1003.1-2001 is currently specified in terms of the shell command language and ISO C. Bindings to other
|
|
programming languages are being developed.</p>
|
|
|
|
<p>If conformance to IEEE Std 1003.1-2001 is claimed for implementation of any programming language, the implementation
|
|
of that language shall support the use of external symbols distinct to at least 31 bytes in length in the source program text.
|
|
(That is, identifiers that differ at or before the thirty-first byte shall be distinct.) If a national or international standard
|
|
governing a language defines a maximum length that is less than this value, the language-defined maximum shall be supported.
|
|
External symbols that differ only by case shall be distinct when the character set in use distinguishes uppercase and lowercase
|
|
characters and the language permits (or requires) uppercase and lowercase characters to be distinct in external symbols.</p>
|
|
|
|
<hr size="2" noshade>
|
|
<center><font size="2"><!--footer start-->
|
|
UNIX ® is a registered Trademark of The Open Group.<br>
|
|
POSIX ® is a registered Trademark of The IEEE.<br>
|
|
[ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href=
|
|
"../utilities/contents.html">XCU</a> | <a href="../functions/contents.html">XSH</a> | <a href="../xrat/contents.html">XRAT</a>
|
|
]</font></center>
|
|
|
|
<!--footer end-->
|
|
<hr size="2" noshade>
|
|
<hr>
|
|
<h4><a name="tag_02_04_01"></a>Footnotes</h4>
|
|
|
|
<dl compact>
|
|
<dt><a name="tag_foot_1">1.</a></dt>
|
|
|
|
<dd>As an example, the File System profiling option group provides underlying support for pathname resolution and file creation
|
|
which are needed by any interface in IEEE Std 1003.1-2001 that parses a <i>path</i> argument. If a profile requires
|
|
support for the Device Input and Output profiling option group but does not require support for the File System profiling option
|
|
group, the profile must specify how pathname resolution is to behave in that profile, how the O_CREAT flag to <a href=
|
|
"../functions/open.html"><i>open</i>()</a> is to be handled (and the use of the character <tt>'a'</tt> in the <i>mode</i> argument
|
|
of <a href="../functions/fopen.html"><i>fopen</i>()</a> when a filename argument names a file that does not exist), and specify
|
|
lots of other details.</dd>
|
|
|
|
<dt><a name="tag_foot_2">2.</a></dt>
|
|
|
|
<dd>As an example, IEEE Std 1003.1-2001 requires that implementations claiming to support the Range Memory Locking option
|
|
also support the Process Memory Locking option. A profile could require that the Range Memory Locking option had to be supplied
|
|
without requiring that the Process Memory Locking option be supplied as long as the profile specifies everything an application
|
|
writer or system implementor would have to know to build an application or implementation conforming to the profile.</dd>
|
|
|
|
<dt><a name="tag_foot_3">3.</a></dt>
|
|
|
|
<dd>Note that the profile could just specify that any use of the features not specified by the profile would produce undefined or
|
|
unspecified results.</dd>
|
|
</dl>
|
|
</body>
|
|
</html>
|
|
|