Files
oldlinux-files/Ref-docs/POSIX/susv3/basedefs/xbd_chap01.html
2024-02-19 00:21:47 -05:00

938 lines
53 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>Introduction</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 &copy; 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
<!--header end-->
<hr size="2" noshade>
<h2><a name="tag_01"></a>Introduction</h2>
<h3><a name="tag_01_01"></a>Scope</h3>
<p>IEEE&nbsp;Std&nbsp;1003.1-2001 defines a standard operating system interface and environment, including a command interpreter
(or &quot;shell&quot;), and common utility programs to support applications portability at the source code level. It is intended to be used
by both applications developers and system implementors.</p>
<p>IEEE&nbsp;Std&nbsp;1003.1-2001 comprises four major components (each in an associated volume):</p>
<ol>
<li>
<p>General terms, concepts, and interfaces common to all volumes of IEEE&nbsp;Std&nbsp;1003.1-2001, including utility conventions
and C-language header definitions, are included in the Base Definitions volume of IEEE&nbsp;Std&nbsp;1003.1-2001.</p>
</li>
<li>
<p>Definitions for system service functions and subroutines, language-specific system services for the C programming language,
function issues, including portability, error handling, and error recovery, are included in the System Interfaces volume of
IEEE&nbsp;Std&nbsp;1003.1-2001.</p>
</li>
<li>
<p>Definitions for a standard source code-level interface to command interpretation services (a &quot;shell&quot;) and common utility
programs for application programs are included in the Shell and Utilities volume of IEEE&nbsp;Std&nbsp;1003.1-2001.</p>
</li>
<li>
<p>Extended rationale that did not fit well into the rest of the document structure, containing historical information concerning
the contents of IEEE&nbsp;Std&nbsp;1003.1-2001 and why features were included or discarded by the standard developers, is included
in the Rationale (Informative) volume of IEEE&nbsp;Std&nbsp;1003.1-2001.</p>
</li>
</ol>
<p>The following areas are outside of the scope of IEEE&nbsp;Std&nbsp;1003.1-2001:</p>
<ul>
<li>
<p>Graphics interfaces</p>
</li>
<li>
<p>Database management system interfaces</p>
</li>
<li>
<p>Record I/O considerations</p>
</li>
<li>
<p>Object or binary code portability</p>
</li>
<li>
<p>System configuration and resource availability</p>
</li>
</ul>
<p>IEEE&nbsp;Std&nbsp;1003.1-2001 describes the external characteristics and facilities that are of importance to applications
developers, rather than the internal construction techniques employed to achieve these capabilities. Special emphasis is placed on
those functions and facilities that are needed in a wide variety of commercial applications.</p>
<p>The facilities provided in IEEE&nbsp;Std&nbsp;1003.1-2001 are drawn from the following base documents:</p>
<ul>
<li>
<p>IEEE Std 1003.1-1996 (POSIX-1) (incorporating IEEE Stds 1003.1-1990, 1003.1b-1993, 1003.1c-1995, and 1003.1i-1995)</p>
</li>
<li>
<p>The following amendments to the POSIX.1-1990 standard:</p>
<ul>
<li>
<p>IEEE&nbsp;P1003.1a draft standard (Additional System Services)</p>
</li>
<li>
<p>IEEE&nbsp;Std&nbsp;1003.1d-1999 (Additional Realtime Extensions)</p>
</li>
<li>
<p>IEEE&nbsp;Std&nbsp;1003.1g-2000 (Protocol-Independent Interfaces (PII))</p>
</li>
<li>
<p>IEEE&nbsp;Std&nbsp;1003.1j-2000 (Advanced Realtime Extensions)</p>
</li>
<li>
<p>IEEE&nbsp;Std&nbsp;1003.1q-2000 (Tracing)</p>
</li>
</ul>
</li>
<li>
<p>IEEE Std 1003.2-1992 (POSIX-2) (includes IEEE Std 1003.2a-1992)</p>
</li>
<li>
<p>The following amendments to the ISO&nbsp;POSIX-2:1993 standard:</p>
<ul>
<li>
<p>IEEE&nbsp;P1003.2b draft standard (Additional Utilities)</p>
</li>
<li>
<p>IEEE&nbsp;Std&nbsp;1003.2d-1994 (Batch Environment)</p>
</li>
</ul>
</li>
<li>
<p>Open Group Technical Standard, February 1997, System Interface Definitions, Issue 5 (XBD5) (ISBN:&nbsp;1-85912-186-1, C605)</p>
</li>
<li>
<p>Open Group Technical Standard, February 1997, Commands and Utilities, Issue 5 (XCU5) (ISBN:&nbsp;1-85912-191-8, C604)</p>
</li>
<li>
<p>Open Group Technical Standard, February 1997, System Interfaces and Headers, Issue 5 (XSH5) (in 2 Volumes)
(ISBN:&nbsp;1-85912-181-0, C606) <basefont size="2"></p>
<dl>
<dt><b>Note:</b></dt>
<dd>XBD5, XCU5, and XSH5 are collectively referred to as the <i>Base Specifications</i>.</dd>
</dl>
<basefont size="3"></li>
<li>
<p>Open Group Technical Standard, January 2000, Networking Services, Issue 5.2 (XNS5.2) (ISBN:&nbsp;1-85912-241-8, C808)</p>
</li>
<li>
<p>ISO/IEC 9899:1999, Programming Languages - C.</p>
</li>
</ul>
<p>IEEE&nbsp;Std&nbsp;1003.1-2001 uses the Base Specifications as its organizational basis and adds the following additional
functionality to them, drawn from the base documents above:</p>
<ul>
<li>
<p>Normative text from the ISO&nbsp;POSIX-1:1996 standard and the ISO&nbsp;POSIX-2:1993 standard not included in the Base
Specifications</p>
</li>
<li>
<p>The amendments to the POSIX.1-1990 standard and the ISO&nbsp;POSIX-2:1993 standard listed above, except for parts of
IEEE&nbsp;Std&nbsp;1003.1g-2000</p>
</li>
<li>
<p>Portability Considerations</p>
</li>
<li>
<p>Additional rationale and notes</p>
</li>
</ul>
<p>The following features, marked legacy or obsolescent in the base documents, are not carried forward into
IEEE&nbsp;Std&nbsp;1003.1-2001. Other features from the base documents marked legacy or obsolescent are carried forward unless
otherwise noted.</p>
<p>From XSH5, the following legacy interfaces, headers, and external variables are not carried forward:</p>
<blockquote><i>advance</i>(), <i>brk</i>(), <i>chroot</i>(), <i>compile</i>(), <i>cuserid</i>(), <i>gamma</i>(),
<i>getdtablesize</i>(), <i>getpagesize</i>(), <i>getpass</i>(), <i>getw</i>(), <i>putw</i>(), <i>re_comp</i>(), <i>re_exec</i>(),
<i>regcmp</i>(), <i>sbrk</i>(), <i>sigstack</i>(), <i>step</i>(), <i>wait3</i>(), <i>&lt;re_comp.h&gt;</i>,
<i>&lt;regexp.h&gt;</i>, <i>&lt;varargs.h&gt;</i>, <i>loc1</i>, <i>__loc1</i>, <i>loc2</i>, <i>locs</i></blockquote>
<p>From XCU5, the following legacy utilities are not carried forward:</p>
<blockquote><i>calendar</i>, <i>cancel</i>, <i>cc</i>, <i>col</i>, <i>cpio</i>, <i>cu</i>, <i>dircmp</i>, <i>dis</i>, <i>egrep</i>,
<i>fgrep</i>, <i>line</i>, <i>lint</i>, <i>lpstat</i>, <i>mail</i>, <i>pack</i>, <i>pcat</i>, <i>pg</i>, <i>spell</i>, <i>sum</i>,
<i>tar</i>, <i>unpack</i>, <i>uulog</i>, <i>uuname</i>, <i>uupick</i>, <i>uuto</i></blockquote>
<p>In addition, legacy features within non-legacy reference pages (for example, headers) are not carried forward.</p>
<p>From the ISO&nbsp;POSIX-1:1996 standard, the following obsolescent features are not carried forward:</p>
<blockquote>Page 112, CLK_TCK<br>
Page 197 <a href="../functions/tcgetattr.html"><i>tcgetattr</i>()</a> rate returned option</blockquote>
<p>From the ISO&nbsp;POSIX-2:1993 standard, obsolescent features within the following pages are not carried forward:</p>
<blockquote>Page 75, zero-length prefix within <i>PATH</i><br>
Page 156, 159 <a href="../utilities/set.html"><i>set</i></a><br>
Page 178, <a href="../utilities/awk.html"><i>awk</i></a>, use of no argument and no parentheses with length<br>
Page 259, <a href="../utilities/ed.html"><i>ed</i></a><br>
Page 272, <a href="../utilities/env.html"><i>env</i></a><br>
Page 282, <a href="../utilities/find.html"><i>find</i></a> <b>-perm</b>[ <b>-</b>] <i>onum</i><br>
Page 295-296, <i>egrep</i><br>
Page 299-300, <a href="../utilities/head.html"><i>head</i></a><br>
Page 305-306, <a href="../utilities/join.html"><i>join</i></a><br>
Page 309-310, <a href="../utilities/kill.html"><i>kill</i></a><br>
Page 431-433, 435-436, <a href="../utilities/sort.html"><i>sort</i></a><br>
Page 444-445, <a href="../utilities/tail.html"><i>tail</i></a><br>
Page 453, 455-456, <a href="../utilities/touch.html"><i>touch</i></a><br>
Page 464-465, <a href="../utilities/tty.html"><i>tty</i></a><br>
Page 472, <a href="../utilities/uniq.html"><i>uniq</i></a><br>
Page 515-516, <a href="../utilities/ex.html"><i>ex</i></a><br>
Page 542-543, <a href="../utilities/expand.html"><i>expand</i></a><br>
Page 563-565, <a href="../utilities/more.html"><i>more</i></a><br>
Page 574-576, <a href="../utilities/newgrp.html"><i>newgrp</i></a><br>
Page 578, <a href="../utilities/nice.html"><i>nice</i></a><br>
Page 594-596, <a href="../utilities/renice.html"><i>renice</i></a><br>
Page 597-598, <a href="../utilities/split.html"><i>split</i></a><br>
Page 600-601, <a href="../utilities/strings.html"><i>strings</i></a><br>
Page 624-625, <a href="../utilities/vi.html"><i>vi</i></a><br>
Page 693, <a href="../utilities/lex.html"><i>lex</i></a></blockquote>
<p>The <i>c89</i> utility (which specified a compiler for the C Language specified by the ISO/IEC&nbsp;9899:1990 standard) has been
replaced by a <a href="../utilities/c99.html"><i>c99</i></a> utility (which specifies a compiler for the C Language specified by
the ISO/IEC&nbsp;9899:1999 standard).</p>
<p>From XSH5, text marked OH (Optional Header) has been reviewed on a case-by-case basis and removed where appropriate. The XCU5
text marked OF (Output Format Incompletely Specified) and UN (Possibly Unsupportable Feature) has been reviewed on a case-by-case
basis and removed where appropriate.</p>
<p>For the networking interfaces, the base document is the XNS, Issue 5.2 specification. The following parts of the XNS, Issue 5.2
specification are out of scope and not included in IEEE&nbsp;Std&nbsp;1003.1-2001:</p>
<ul>
<li>
<p>Part 3 (XTI)</p>
</li>
<li>
<p>Part 4 (Appendixes)</p>
</li>
</ul>
<p>Since there is much duplication between the XNS, Issue 5.2 specification and IEEE&nbsp;Std&nbsp;1003.1g-2000, material only from
the following sections of IEEE&nbsp;Std&nbsp;1003.1g-2000 has been included:</p>
<ul>
<li>
<p>General terms related to sockets (Section 2.2.2)</p>
</li>
<li>
<p>Socket concepts (Sections 5.1 through 5.3, inclusive)</p>
</li>
<li>
<p>The <a href="../functions/pselect.html"><i>pselect</i>()</a> function (Sections 6.2.2.1 and 6.2.3)</p>
</li>
<li>
<p>The <a href="../functions/sockatmark.html"><i>sockatmark</i>()</a> function (Section 5.4.13)</p>
</li>
<li>
<p>The <a href="../basedefs/sys/select.h.html"><i>&lt;sys/select.h&gt;</i></a> header (Section 6.2)</p>
</li>
</ul>
<p>Emphasis is placed on standardizing existing practice for existing users, with changes and additions limited to correcting
deficiencies in the following areas:</p>
<ul>
<li>
<p>Issues raised by IEEE or ISO/IEC Interpretations against IEEE Std 1003.1 and IEEE Std 1003.2</p>
</li>
<li>
<p>Issues raised in corrigenda for the Base Specifications and working group resolutions from The Open Group</p>
</li>
<li>
<p>Corrigenda and resolutions passed by The Open Group for the XNS, Issue 5.2 specification</p>
</li>
<li>
<p>Changes to make the text self-consistent with the additional material merged</p>
</li>
<li>
<p>A reorganization of the options in order to facilitate profiling, both for smaller profiles such as IEEE Std 1003.13, and larger
profiles such as the Single UNIX Specification</p>
</li>
<li>
<p>Alignment with the ISO/IEC&nbsp;9899:1999 standard</p>
</li>
</ul>
<h3><a name="tag_01_02"></a>Conformance</h3>
<p>Conformance requirements for IEEE&nbsp;Std&nbsp;1003.1-2001 are defined in <a href=
"xbd_chap02.html#tag_02"><i>Conformance</i></a> .</p>
<h3><a name="tag_01_03"></a>Normative References</h3>
<p>The following standards contain provisions which, through references in IEEE&nbsp;Std&nbsp;1003.1-2001, constitute provisions of
IEEE&nbsp;Std&nbsp;1003.1-2001. At the time of publication, the editions indicated were valid. All standards are subject to
revision, and parties to agreements based on IEEE&nbsp;Std&nbsp;1003.1-2001 are encouraged to investigate the possibility of
applying the most recent editions of the standards listed below. Members of IEC and ISO maintain registers of currently valid
International Standards.</p>
<dl compact>
<dt>ANS&nbsp;X3.9-1978</dt>
<dd>
(Reaffirmed 1989) American National Standard for Information Systems: Standard X3.9-1978, Programming Language FORTRAN.<a href=
"#tag_foot_1"><sup><small>1</small></sup></a></dd>
<dt>ISO/IEC&nbsp;646:1991</dt>
<dd>
ISO/IEC 646:1991, Information Processing - ISO 7-Bit Coded Character Set for Information Interchange.<a href=
"#tag_foot_2"><sup><small>2</small></sup></a></dd>
<dt>ISO&nbsp;4217:1995</dt>
<dd>
ISO 4217:1995, Codes for the Representation of Currencies and Funds.</dd>
<dt>ISO&nbsp;8601:2000</dt>
<dd>
ISO 8601:2000, Data Elements and Interchange Formats - Information Interchange - Representation of Dates and Times.</dd>
<dt>ISO C (1999)</dt>
<dd>
ISO/IEC 9899:1999, Programming Languages - C, including Technical Corrigendum No. 1.</dd>
<dt>ISO/IEC&nbsp;10646-1:2000</dt>
<dd>
ISO/IEC 10646-1:2000, Information Technology - Universal Multiple-Octet Coded Character Set (UCS) - Part 1: Architecture and Basic
Multilingual Plane.</dd>
</dl>
<h3><a name="tag_01_04"></a>Terminology</h3>
<p>For the purposes of IEEE&nbsp;Std&nbsp;1003.1-2001, the following terminology definitions apply:</p>
<h4><a name="tag_01_04_01"></a>can</h4>
<p>Describes a permissible optional feature or behavior available to the user or application. The feature or behavior is mandatory
for an implementation that conforms to IEEE&nbsp;Std&nbsp;1003.1-2001. An application can rely on the existence of the feature or
behavior.</p>
<h4><a name="tag_01_04_02"></a>implementation-defined</h4>
<p>Describes a value or behavior that is not defined by IEEE&nbsp;Std&nbsp;1003.1-2001 but is selected by an implementor. The value
or behavior may vary among implementations that conform to IEEE&nbsp;Std&nbsp;1003.1-2001. An application should not rely on the
existence of the value or behavior. An application that relies on such a value or behavior cannot be assured to be portable across
conforming implementations.</p>
<p>The implementor shall document such a value or behavior so that it can be used correctly by an application.</p>
<h4><a name="tag_01_04_03"></a>legacy</h4>
<p>Describes a feature or behavior that is being retained for compatibility with older applications, but which has limitations
which make it inappropriate for developing portable applications. New applications should use alternative means of obtaining
equivalent functionality.</p>
<h4><a name="tag_01_04_04"></a>may</h4>
<p>Describes a feature or behavior that is optional for an implementation that conforms to IEEE&nbsp;Std&nbsp;1003.1-2001. An
application should not rely on the existence of the feature or behavior. An application that relies on such a feature or behavior
cannot be assured to be portable across conforming implementations.</p>
<p>To avoid ambiguity, the opposite of <i>may</i> is expressed as <i>need not</i>, instead of <i>may not</i>.</p>
<h4><a name="tag_01_04_05"></a>shall</h4>
<p>For an implementation that conforms to IEEE&nbsp;Std&nbsp;1003.1-2001, describes a feature or behavior that is mandatory. An
application can rely on the existence of the feature or behavior.</p>
<p>For an application or user, describes a behavior that is mandatory.</p>
<h4><a name="tag_01_04_06"></a>should</h4>
<p>For an implementation that conforms to IEEE&nbsp;Std&nbsp;1003.1-2001, describes a feature or behavior that is recommended but
not mandatory. An application should not rely on the existence of the feature or behavior. An application that relies on such a
feature or behavior cannot be assured to be portable across conforming implementations.</p>
<p>For an application, describes a feature or behavior that is recommended programming practice for optimum portability.</p>
<h4><a name="tag_01_04_07"></a>undefined</h4>
<p>Describes the nature of a value or behavior not defined by IEEE&nbsp;Std&nbsp;1003.1-2001 which results from use of an invalid
program construct or invalid data input.</p>
<p>The value or behavior may vary among implementations that conform to IEEE&nbsp;Std&nbsp;1003.1-2001. An application should not
rely on the existence or validity of the value or behavior. An application that relies on any particular value or behavior cannot
be assured to be portable across conforming implementations.</p>
<h4><a name="tag_01_04_08"></a>unspecified</h4>
<p>Describes the nature of a value or behavior not specified by IEEE&nbsp;Std&nbsp;1003.1-2001 which results from use of a valid
program construct or valid data input.</p>
<p>The value or behavior may vary among implementations that conform to IEEE&nbsp;Std&nbsp;1003.1-2001. An application should not
rely on the existence or validity of the value or behavior. An application that relies on any particular value or behavior cannot
be assured to be portable across conforming implementations.</p>
<h3><a name="tag_01_05"></a>Portability</h3>
<p>Some of the utilities in the Shell and Utilities volume of IEEE&nbsp;Std&nbsp;1003.1-2001 and functions in the System Interfaces
volume of IEEE&nbsp;Std&nbsp;1003.1-2001 describe functionality that might not be fully portable to systems meeting the
requirements for POSIX conformance (see the Base Definitions volume of IEEE&nbsp;Std&nbsp;1003.1-2001, <a href=
"../basedefs/xbd_chap02.html#tag_02">Chapter 2, Conformance</a>).</p>
<p>Where optional, enhanced, or reduced functionality is specified, the text is shaded and a code in the margin identifies the
nature of the option, extension, or warning (see <a href="#tag_01_05_01">Codes</a> ). For maximum portability, an application
should avoid such functionality.</p>
<p>Unless the primary task of a utility is to produce textual material on its standard output, application developers should not
rely on the format or content of any such material that may be produced. Where the primary task <i>is</i> to provide such material,
but the output format is incompletely specified, the description is marked with the OF margin code and shading. Application
developers are warned not to expect that the output of such an interface on one system is any guide to its behavior on another
system.</p>
<h4><a name="tag_01_05_01"></a>Codes</h4>
<p>The codes and their meanings are as follows. See also <a href="#tag_01_05_02">Margin Code Notation</a> .</p>
<p><sup>[<a href="javascript:open_code('ADV')">ADV</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Advisory Information <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the ADV margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the ADV margin legend.</p>
<p><sup>[<a href="javascript:open_code('AIO')">AIO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Asynchronous Input and Output <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the AIO margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the AIO margin legend.</p>
<p><sup>[<a href="javascript:open_code('BAR')">BAR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Barriers <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the BAR margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the BAR margin legend.</p>
<p><sup>[<a href="javascript:open_code('BE')">BE</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Batch Environment Services and Utilities <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional.</p>
<p>Where applicable, utilities are marked with the BE margin legend in the SYNOPSIS section. Where additional semantics apply to a
utility, the material is identified by use of the BE margin legend.</p>
<p><sup>[<a href="javascript:open_code('CD')">CD</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
C-Language Development Utilities <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional.</p>
<p>Where applicable, utilities are marked with the CD margin legend in the SYNOPSIS section. Where additional semantics apply to a
utility, the material is identified by use of the CD margin legend.</p>
<p><sup>[<a href="javascript:open_code('CPT')">CPT</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Process CPU-Time Clocks <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the CPT margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the CPT margin legend.</p>
<p><sup>[<a href="javascript:open_code('CS')">CS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Clock Selection <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the CS margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the CS margin legend.</p>
<p><sup>[<a href="javascript:open_code('CX')">CX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Extension to the ISO&nbsp;C standard <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is an extension to the ISO&nbsp;C standard. Application writers may make use of an extension as it is
supported on all IEEE&nbsp;Std&nbsp;1003.1-2001-conforming systems.</p>
<p>With each function or header from the ISO&nbsp;C standard, a statement to the effect that &quot;any conflict is unintentional&quot; is
included. That is intended to refer to a direct conflict. IEEE&nbsp;Std&nbsp;1003.1-2001 acts in part as a profile of the
ISO&nbsp;C standard, and it may choose to further constrain behaviors allowed to vary by the ISO&nbsp;C standard. Such limitations
are not considered conflicts.</p>
<p>Where additional semantics apply to a function or header, the material is identified by use of the CX margin legend.</p>
<p><sup>[<a href="javascript:open_code('FD')">FD</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
FORTRAN Development Utilities <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional.</p>
<p>Where applicable, utilities are marked with the FD margin legend in the SYNOPSIS section. Where additional semantics apply to a
utility, the material is identified by use of the FD margin legend.</p>
<p><sup>[<a href="javascript:open_code('FR')">FR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
FORTRAN Runtime Utilities <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional.</p>
<p>Where applicable, utilities are marked with the FR margin legend in the SYNOPSIS section. Where additional semantics apply to a
utility, the material is identified by use of the FR margin legend.</p>
<p><sup>[<a href="javascript:open_code('FSC')">FSC</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
File Synchronization <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the FSC margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the FSC margin legend.</p>
<p><sup>[<a href="javascript:open_code('IP6')">IP6</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
IPV6 <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the IP6 margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the IP6 margin legend.</p>
<p><sup>[<a href="javascript:open_code('MC1')">MC1</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Advisory Information and either Memory Mapped Files or Shared Memory Objects <img src="../images/opt-end.gif" alt="[Option End]"
border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>This is a shorthand notation for combinations of multiple option codes.</p>
<p>Where applicable, functions are marked with the MC1 margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the MC1 margin legend.</p>
<p>Refer to <a href="#tag_01_05_02">Margin Code Notation</a> .</p>
<p><sup>[<a href="javascript:open_code('MC2')">MC2</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Memory Mapped Files, Shared Memory Objects, or Memory Protection <img src="../images/opt-end.gif" alt="[Option End]" border=
"0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>This is a shorthand notation for combinations of multiple option codes.</p>
<p>Where applicable, functions are marked with the MC2 margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the MC2 margin legend.</p>
<p>Refer to <a href="#tag_01_05_02">Margin Code Notation</a> .</p>
<p><sup>[<a href="javascript:open_code('MF')">MF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Memory Mapped Files <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the MF margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the MF margin legend.</p>
<p><sup>[<a href="javascript:open_code('ML')">ML</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Process Memory Locking <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the ML margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the ML margin legend.</p>
<p><sup>[<a href="javascript:open_code('MR')">MR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Range Memory Locking <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the MLR margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the MLR margin legend.</p>
<p><sup>[<a href="javascript:open_code('MON')">MON</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Monotonic Clock <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the MON margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the MON margin legend.</p>
<p><sup>[<a href="javascript:open_code('MPR')">MPR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Memory Protection <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the MPR margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the MPR margin legend.</p>
<p><sup>[<a href="javascript:open_code('MSG')">MSG</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Message Passing <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the MSG margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the MSG margin legend.</p>
<p><sup>[<a href="javascript:open_code('MX')">MX</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> IEC
60559 Floating-Point Option <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the MX margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the MX margin legend.</p>
<p><sup>[<a href="javascript:open_code('OB')">OB</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Obsolescent <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described may be withdrawn in a future version of this volume of IEEE&nbsp;Std&nbsp;1003.1-2001. Strictly
Conforming POSIX Applications and Strictly Conforming XSI Applications shall not use obsolescent features.</p>
<p>Where applicable, the material is identified by use of the OB margin legend.</p>
<p><sup>[<a href="javascript:open_code('OF')">OF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Output Format Incompletely Specified <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is an XSI extension. The format of the output produced by the utility is not fully specified. It is
therefore not possible to post-process this output in a consistent fashion. Typical problems include unknown length of strings and
unspecified field delimiters.</p>
<p>Where applicable, the material is identified by use of the OF margin legend.</p>
<p><sup>[<a href="javascript:open_code('OH')">OH</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Optional Header <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
In the SYNOPSIS section of some interfaces in the System Interfaces volume of IEEE&nbsp;Std&nbsp;1003.1-2001 an included header is
marked as in the following example:</p>
<pre>
<tt><sup>[<a href="javascript:open_code('OH')">OH</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
#include &lt;sys/types.h&gt;
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
#include &lt;grp.h&gt;
struct group *getgrnam(const char *name);
</tt>
</pre>
<p>The OH margin legend indicates that the marked header is not required on XSI-conformant systems.</p>
<p><sup>[<a href="javascript:open_code('PIO')">PIO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Prioritized Input and Output <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the PIO margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the PIO margin legend.</p>
<p><sup>[<a href="javascript:open_code('PS')">PS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Process Scheduling <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the PS margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the PS margin legend.</p>
<p><sup>[<a href="javascript:open_code('RS')">RS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> Raw
Sockets <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the RS margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the RS margin legend.</p>
<p><sup>[<a href="javascript:open_code('RTS')">RTS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Realtime Signals Extension <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the RTS margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the RTS margin legend.</p>
<p><sup>[<a href="javascript:open_code('SD')">SD</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Software Development Utilities <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional.</p>
<p>Where applicable, utilities are marked with the SD margin legend in the SYNOPSIS section. Where additional semantics apply to a
utility, the material is identified by use of the SD margin legend.</p>
<p><sup>[<a href="javascript:open_code('SEM')">SEM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Semaphores <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the SEM margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the SEM margin legend.</p>
<p><sup>[<a href="javascript:open_code('SHM')">SHM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Shared Memory Objects <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the SHM margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the SHM margin legend.</p>
<p><sup>[<a href="javascript:open_code('SIO')">SIO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Synchronized Input and Output <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the SIO margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the SIO margin legend.</p>
<p><sup>[<a href="javascript:open_code('SPI')">SPI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Spin Locks <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the SPI margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the SPI margin legend.</p>
<p><sup>[<a href="javascript:open_code('SPN')">SPN</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Spawn <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the SPN margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the SPN margin legend.</p>
<p><sup>[<a href="javascript:open_code('SS')">SS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Process Sporadic Server <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the SS margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the SS margin legend.</p>
<p><sup>[<a href="javascript:open_code('TCT')">TCT</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread CPU-Time Clocks <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TCT margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TCT margin legend.</p>
<p><sup>[<a href="javascript:open_code('TEF')">TEF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Trace Event Filter <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TEF margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TEF margin legend.</p>
<p><sup>[<a href="javascript:open_code('THR')">THR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Threads <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the THR margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the THR margin legend.</p>
<p><sup>[<a href="javascript:open_code('TMO')">TMO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Timeouts <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TMO margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TMO margin legend.</p>
<p><sup>[<a href="javascript:open_code('TMR')">TMR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Timers <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TMR margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TMR margin legend.</p>
<p><sup>[<a href="javascript:open_code('TPI')">TPI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread Priority Inheritance <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TPI margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TPI margin legend.</p>
<p><sup>[<a href="javascript:open_code('TPP')">TPP</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread Priority Protection <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TPP margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TPP margin legend.</p>
<p><sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread Execution Scheduling <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TPS margin legend for the SYNOPSIS section. Where additional semantics apply to
a function, the material is identified by use of the TPS margin legend.</p>
<p><sup>[<a href="javascript:open_code('TRC')">TRC</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Trace <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TRC margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TRC margin legend.</p>
<p><sup>[<a href="javascript:open_code('TRI')">TRI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Trace Inherit <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TRI margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TRI margin legend.</p>
<p><sup>[<a href="javascript:open_code('TRL')">TRL</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Trace Log <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TRL margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TRL margin legend.</p>
<p><sup>[<a href="javascript:open_code('TSA')">TSA</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread Stack Address Attribute <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TSA margin legend for the SYNOPSIS section. Where additional semantics apply to
a function, the material is identified by use of the TSA margin legend.</p>
<p><sup>[<a href="javascript:open_code('TSF')">TSF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread-Safe Functions <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TSF margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TSF margin legend.</p>
<p><sup>[<a href="javascript:open_code('TSH')">TSH</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread Process-Shared Synchronization <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TSH margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TSH margin legend.</p>
<p><sup>[<a href="javascript:open_code('TSP')">TSP</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread Sporadic Server <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TSP margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TSP margin legend.</p>
<p><sup>[<a href="javascript:open_code('TSS')">TSS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Thread Stack Address Size <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TSS margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TSS margin legend.</p>
<p><sup>[<a href="javascript:open_code('TYM')">TYM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Typed Memory Objects <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the TYM margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the TYM margin legend.</p>
<p><sup>[<a href="javascript:open_code('UP')">UP</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
User Portability Utilities <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional.</p>
<p>Where applicable, utilities are marked with the UP margin legend in the SYNOPSIS section. Where additional semantics apply to a
utility, the material is identified by use of the UP margin legend.</p>
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
Extension <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is an XSI extension. Functionality marked XSI is also an extension to the ISO&nbsp;C standard.
Application writers may confidently make use of an extension on all systems supporting the X/Open System Interfaces Extension.</p>
<p>If an entire SYNOPSIS section is shaded and marked XSI, all the functionality described in that reference page is an extension.
See <a href="xbd_chap02.html#tag_02_01_04"><i>XSI Conformance</i></a> .</p>
<p><sup>[<a href="javascript:open_code('XSR')">XSR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
XSI STREAMS <img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
The functionality described is optional. The functionality described is also an extension to the ISO&nbsp;C standard.</p>
<p>Where applicable, functions are marked with the XSR margin legend in the SYNOPSIS section. Where additional semantics apply to a
function, the material is identified by use of the XSR margin legend.</p>
<h4><a name="tag_01_05_02"></a>Margin Code Notation</h4>
<p>Some of the functionality described in IEEE&nbsp;Std&nbsp;1003.1-2001 depends on support of more than one option, or
independently may depend on several options. The following notation for margin codes is used to denote the following cases.</p>
<h5><a name="tag_01_05_02_01"></a>A Feature Dependent on One or Two Options</h5>
<p>In this case, margin codes have a &lt;space&gt; separator; for example:</p>
<p><sup>[<a href="javascript:open_code('MF')">MF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
This feature requires support for only the Memory Mapped Files option. <img src="../images/opt-end.gif" alt="[Option End]" border=
"0"></p>
<p><sup>[<a href="javascript:open_code('MF SHM')">MF SHM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
"0"> This feature requires support for both the Memory Mapped Files and the Shared Memory Objects options; that is, an application
which uses this feature is portable only between implementations that provide both options. <img src="../images/opt-end.gif" alt=
"[Option End]" border="0"></p>
<h5><a name="tag_01_05_02_02"></a>A Feature Dependent on Either of the Options Denoted</h5>
<p>In this case, margin codes have a <tt>'|'</tt> separator to denote the logical OR; for example:</p>
<p><sup>[<a href="javascript:open_code('MF')">MF|SHM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
This feature is dependent on support for either the Memory Mapped Files option or the Shared Memory Objects option; that is, an
application which uses this feature is portable between implementations that provide any (or all) of the options. <img src=
"../images/opt-end.gif" alt="[Option End]" border="0"></p>
<h5><a name="tag_01_05_02_03"></a>A Feature Dependent on More than Two Options</h5>
<p>The following shorthand notations are used:</p>
<p><sup>[<a href="javascript:open_code('MC1')">MC1</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
The MC1 margin code is shorthand for ADV (MF|SHM). Features which are shaded with this margin code require support of the Advisory
Information option and either the Memory Mapped Files or Shared Memory Objects option. <img src="../images/opt-end.gif" alt=
"[Option End]" border="0"></p>
<p><sup>[<a href="javascript:open_code('MC2')">MC2</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
The MC2 margin code is shorthand for MF|SHM|MPR. Features which are shaded with this margin code require support of either the
Memory Mapped Files, Shared Memory Objects, or Memory Protection options. <img src="../images/opt-end.gif" alt="[Option End]"
border="0"></p>
<h5><a name="tag_01_05_02_04"></a>Large Sections Dependent on an Option</h5>
<p>Where large sections of text are dependent on support for an option, a lead-in text block is provided and shaded accordingly;
for example:</p>
<p><sup>[<a href="javascript:open_code('TRC')">TRC</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
This section describes extensions to support tracing of user applications. This functionality is dependent on support of the Trace
option (and the rest of this section is not further marked for this option). <img src="../images/opt-end.gif" alt="[Option End]"
border="0"></p>
<hr size="2" noshade>
<center><font size="2"><!--footer start-->
UNIX &reg; is a registered Trademark of The Open Group.<br>
POSIX &reg; 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_01_05_03"></a>Footnotes</h4>
<dl compact>
<dt><a name="tag_foot_1">1.</a></dt>
<dd>ANSI documents can be obtained from the Sales Department, American National Standards Institute, 1430 Broadway, New York, NY
10018, U.S.A.</dd>
<dt><a name="tag_foot_2">2.</a></dt>
<dd>ISO/IEC documents can be obtained from the ISO office: 1 Rue de Varemb&eacute;, Case Postale 56, CH-1211, Gen&egrave;ve 20,
Switzerland/Suisse</dd>
</dl>
</body>
</html>