1519 lines
69 KiB
HTML
1519 lines
69 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><unistd.h></title>
|
|
</head>
|
|
<body bgcolor="white">
|
|
<script type="text/javascript" language="JavaScript" src="../jscript/codes.js">
|
|
</script>
|
|
|
|
<basefont size="3"> <a name="<unistd.h>"></a> <a name="tag_13_80"></a><!-- <unistd.h> -->
|
|
<!--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>
|
|
<h4><a name="tag_13_80_01"></a>NAME</h4>
|
|
|
|
<blockquote>unistd.h - standard symbolic constants and types</blockquote>
|
|
|
|
<h4><a name="tag_13_80_02"></a>SYNOPSIS</h4>
|
|
|
|
<blockquote class="synopsis">
|
|
<p><tt>#include <unistd.h></tt></p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_80_03"></a>DESCRIPTION</h4>
|
|
|
|
<blockquote>
|
|
<p>The <i><unistd.h></i> header defines miscellaneous symbolic constants and types, and declares miscellaneous functions. The
|
|
actual values of the constants are unspecified except as shown. The contents of this header are shown below.</p>
|
|
|
|
<h5><a name="tag_13_80_03_01"></a>Version Test Macros</h5>
|
|
|
|
<p>The following symbolic constants shall be defined:</p>
|
|
|
|
<dl compact>
|
|
<dt>_POSIX_VERSION</dt>
|
|
|
|
<dd>
|
|
Integer value indicating version of IEEE Std 1003.1 (C-language binding) to which the implementation conforms. For
|
|
implementations conforming to IEEE Std 1003.1-2001, the value shall be 200112L.</dd>
|
|
|
|
<dt>_POSIX2_VERSION</dt>
|
|
|
|
<dd>
|
|
Integer value indicating version of the Shell and Utilities volume of IEEE Std 1003.1 to which the implementation
|
|
conforms. For implementations conforming to IEEE Std 1003.1-2001, the value shall be 200112L.</dd>
|
|
</dl>
|
|
|
|
<p>The following symbolic constant shall be defined only if the implementation supports the XSI option; see <a href=
|
|
"xbd_chap02.html#tag_02_01_04"><i>XSI Conformance</i></a> .</p>
|
|
|
|
<dl compact>
|
|
<dt>_XOPEN_VERSION</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
Integer value indicating version of the X/Open Portability Guide to which the implementation conforms. The value shall be 600. <img
|
|
src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_13_80_03_02"></a>Constants for Options and Option Groups</h5>
|
|
|
|
<p>The following symbolic constants, if defined in <i><unistd.h></i>, shall have a value of -1, 0, or greater, unless
|
|
otherwise specified below. If these are undefined, the <a href="../functions/fpathconf.html"><i>fpathconf</i>()</a>, <a href=
|
|
"../functions/pathconf.html"><i>pathconf</i>()</a>, or <a href="../functions/sysconf.html"><i>sysconf</i>()</a> functions can be
|
|
used to determine whether the option is provided for a particular invocation of the application.</p>
|
|
|
|
<p>If a symbolic constant is defined with the value -1, the option is not supported. Headers, data types, and function interfaces
|
|
required only for the option need not be supplied. An application that attempts to use anything associated only with the option is
|
|
considered to be requiring an extension.</p>
|
|
|
|
<p>If a symbolic constant is defined with a value greater than zero, the option shall always be supported when the application is
|
|
executed. All headers, data types, and functions shall be present and shall operate as specified.</p>
|
|
|
|
<p>If a symbolic constant is defined with the value zero, all headers, data types, and functions shall be present. The application
|
|
can check at runtime to see whether the option is supported by calling <a href=
|
|
"../functions/fpathconf.html"><i>fpathconf</i>()</a>, <a href="../functions/pathconf.html"><i>pathconf</i>()</a>, or <a href=
|
|
"../functions/sysconf.html"><i>sysconf</i>()</a> with the indicated <i>name</i> parameter.</p>
|
|
|
|
<p>Unless explicitly specified otherwise, the behavior of functions associated with an unsupported option is unspecified, and an
|
|
application that uses such functions without first checking <a href="../functions/fpathconf.html"><i>fpathconf</i>()</a>, <a href=
|
|
"../functions/pathconf.html"><i>pathconf</i>()</a>, or <a href="../functions/sysconf.html"><i>sysconf</i>()</a> is considered to be
|
|
requiring an extension.</p>
|
|
|
|
<p>For conformance requirements, refer to <a href="xbd_chap02.html#tag_02"><i>Conformance</i></a> .</p>
|
|
|
|
<dl compact>
|
|
<dt>_POSIX_ADVISORY_INFO</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('ADV')">ADV</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Advisory Information option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_ASYNCHRONOUS_IO</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('AIO')">AIO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Asynchronous Input and Output option. If this symbol has a value other than -1 or 0, it shall have
|
|
the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_BARRIERS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('BAR')">BAR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Barriers option. If this symbol has a value other than -1 or 0, it shall have the value 200112L.
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_CHOWN_RESTRICTED</dt>
|
|
|
|
<dd>
|
|
The use of <a href="../functions/chown.html"><i>chown</i>()</a> and <a href="../functions/fchown.html"><i>fchown</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. This symbol shall always be set to a value other than -1.</dd>
|
|
|
|
<dt>_POSIX_CLOCK_SELECTION</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('CS')">CS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Clock Selection option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_CPUTIME</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('CPT')">CPT</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Process CPU-Time Clocks option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_FSYNC</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('FSC')">FSC</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the File Synchronization option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_JOB_CONTROL</dt>
|
|
|
|
<dd>
|
|
The implementation supports job control. This symbol shall always be set to a value greater than zero.</dd>
|
|
|
|
<dt>_POSIX_MAPPED_FILES</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('MF')">MF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Memory Mapped Files option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_MEMLOCK</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('ML')">ML</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Process Memory Locking option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_MEMLOCK_RANGE</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('MR')">MR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Range Memory Locking option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_MEMORY_PROTECTION</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('MPR')">MPR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Memory Protection option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_MESSAGE_PASSING</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('MSG')">MSG</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Message Passing option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_MONOTONIC_CLOCK</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('MON')">MON</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Monotonic Clock option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_NO_TRUNC</dt>
|
|
|
|
<dd>
|
|
Pathname components longer than {NAME_MAX} generate an error. This symbol shall always be set to a value other than -1.</dd>
|
|
|
|
<dt>_POSIX_PRIORITIZED_IO</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('PIO')">PIO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Prioritized Input and Output option. If this symbol has a value other than -1 or 0, it shall have
|
|
the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_PRIORITY_SCHEDULING</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('PS')">PS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Process Scheduling option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_RAW_SOCKETS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('RS')">RS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Raw Sockets option. If this symbol has a value other than -1 or 0, it shall have the value 200112L.
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_READER_WRITER_LOCKS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('THR')">THR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Read-Write Locks option. This is always set to a value greater than zero if the Threads option is
|
|
supported. If this symbol has a value other than -1 or 0, it shall have the value 200112L. <img src="../images/opt-end.gif" alt=
|
|
"[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_REALTIME_SIGNALS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('RTS')">RTS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Realtime Signals Extension option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_REGEXP</dt>
|
|
|
|
<dd>
|
|
The implementation supports the Regular Expression Handling option. This symbol shall always be set to a value greater than
|
|
zero.</dd>
|
|
|
|
<dt>_POSIX_SAVED_IDS</dt>
|
|
|
|
<dd>
|
|
Each process has a saved set-user-ID and a saved set-group-ID. This symbol shall always be set to a value greater than zero.</dd>
|
|
|
|
<dt>_POSIX_SEMAPHORES</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('SEM')">SEM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Semaphores option. If this symbol has a value other than -1 or 0, it shall have the value 200112L.
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_SHARED_MEMORY_OBJECTS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('SHM')">SHM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Shared Memory Objects option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_SHELL</dt>
|
|
|
|
<dd>
|
|
The implementation supports the POSIX shell. This symbol shall always be set to a value greater than zero.</dd>
|
|
|
|
<dt>_POSIX_SPAWN</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('SPN')">SPN</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Spawn option. If this symbol has a value other than -1 or 0, it shall have the value 200112L. <img
|
|
src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_SPIN_LOCKS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('SPI')">SPI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Spin Locks option. If this symbol has a value other than -1 or 0, it shall have the value 200112L.
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_SPORADIC_SERVER</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('SS')">SS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Process Sporadic Server option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_SYNCHRONIZED_IO</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('SIO')">SIO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Synchronized Input and Output option. If this symbol has a value other than -1 or 0, it shall have
|
|
the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_ATTR_STACKADDR</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TSA')">TSA</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread Stack Address Attribute option. If this symbol has a value other than -1 or 0, it shall have
|
|
the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_ATTR_STACKSIZE</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TSS')">TSS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread Stack Address Size option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_CPUTIME</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TCT')">TCT</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread CPU-Time Clocks option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_PRIO_INHERIT</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TPI')">TPI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread Priority Inheritance option. If this symbol has a value other than -1 or 0, it shall have
|
|
the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_PRIO_PROTECT</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TPP')">TPP</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread Priority Protection option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_PRIORITY_SCHEDULING</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TPS')">TPS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread Execution Scheduling option. If this symbol has a value other than -1 or 0, it shall have
|
|
the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_PROCESS_SHARED</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TSH')">TSH</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread Process-Shared Synchronization option. If this symbol has a value other than -1 or 0, it
|
|
shall have the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_SAFE_FUNCTIONS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TSF')">TSF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread-Safe Functions option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREAD_SPORADIC_SERVER</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TSP')">TSP</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Thread Sporadic Server option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_THREADS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('THR')">THR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Threads option. If this symbol has a value other than -1 or 0, it shall have the value 200112L.
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_TIMEOUTS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TMO')">TMO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Timeouts option. If this symbol has a value other than -1 or 0, it shall have the value 200112L.
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_TIMERS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TMR')">TMR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Timers option. If this symbol has a value other than -1 or 0, it shall have the value 200112L. <img
|
|
src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_TRACE</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TRC')">TRC</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Trace option. If this symbol has a value other than -1 or 0, it shall have the value 200112L. <img
|
|
src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_TRACE_EVENT_FILTER</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TEF')">TEF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Trace Event Filter option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_TRACE_INHERIT</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TRI')">TRI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Trace Inherit option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_TRACE_LOG</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TRL')">TRL</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Trace Log option. If this symbol has a value other than -1 or 0, it shall have the value 200112L.
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_TYPED_MEMORY_OBJECTS</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('TYM')">TYM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the Typed Memory Objects option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX_VDISABLE</dt>
|
|
|
|
<dd>
|
|
This symbol shall be defined to be the value of a character that shall disable terminal special character handling as described in
|
|
<a href="termios.h.html"><i><termios.h></i></a> . This symbol shall always be set to a value other than -1.</dd>
|
|
|
|
<dt>_POSIX2_C_BIND</dt>
|
|
|
|
<dd>
|
|
The implementation supports the C-Language Binding option. This symbol shall always have the value 200112L.</dd>
|
|
|
|
<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 implementation supports the C-Language Development Utilities option. If this symbol has a value other than -1 or 0, it shall
|
|
have the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX2_CHAR_TERM</dt>
|
|
|
|
<dd>
|
|
The implementation supports at least one terminal type.</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 implementation supports the FORTRAN Development Utilities option. If this symbol has a value other than -1 or 0, it shall have
|
|
the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></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 implementation supports the FORTRAN Runtime Utilities option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX2_LOCALEDEF</dt>
|
|
|
|
<dd>
|
|
The implementation supports the creation of locales by the <a href="../utilities/localedef.html"><i>localedef</i></a> utility. If
|
|
this symbol has a value other than -1 or 0, it shall have the value 200112L.</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 implementation supports the Batch Environment Services and Utilities option. If this symbol has a value other than -1 or 0, it
|
|
shall have the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX2_PBS_ACCOUNTING</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 implementation supports the Batch Accounting option. If this symbol has a value other than -1 or 0, it shall have the value
|
|
200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX2_PBS_CHECKPOINT</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 implementation supports the Batch Checkpoint/Restart option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX2_PBS_LOCATE</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 implementation supports the Locate Batch Job Request option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX2_PBS_MESSAGE</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 implementation supports the Batch Job Message Request option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_POSIX2_PBS_TRACK</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 implementation supports the Track Batch Job Request option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></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 implementation supports the Software Development Utilities option. If this symbol has a value other than -1 or 0, it shall have
|
|
the value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></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 implementation supports the User Portability Utilities option. If this symbol has a value other than -1 or 0, it shall have the
|
|
value 200112L. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_V6_ILP32_OFF32</dt>
|
|
|
|
<dd>
|
|
The implementation provides a C-language compilation environment with 32-bit <b>int</b>, <b>long</b>, <b>pointer</b>, and
|
|
<b>off_t</b> types.</dd>
|
|
|
|
<dt>_V6_ILP32_OFFBIG</dt>
|
|
|
|
<dd>
|
|
The implementation provides a C-language compilation environment with 32-bit <b>int</b>, <b>long</b>, and <b>pointer</b> types and
|
|
an <b>off_t</b> type using at least 64 bits.</dd>
|
|
|
|
<dt>_V6_LP64_OFF64</dt>
|
|
|
|
<dd>
|
|
The implementation provides a C-language compilation environment with 32-bit <b>int</b> and 64-bit <b>long</b>, <b>pointer</b>, and
|
|
<b>off_t</b> types.</dd>
|
|
|
|
<dt>_V6_LPBIG_OFFBIG</dt>
|
|
|
|
<dd>
|
|
The implementation provides a C-language compilation environment with an <b>int</b> type using at least 32 bits and <b>long</b>,
|
|
<b>pointer</b>, and <b>off_t</b> types using at least 64 bits.</dd>
|
|
|
|
<dt>_XBS5_ILP32_OFF32 (<b>LEGACY</b>)</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation provides a C-language compilation environment with 32-bit <b>int</b>, <b>long</b>, <b>pointer</b>, and
|
|
<b>off_t</b> types. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_XBS5_ILP32_OFFBIG (<b>LEGACY</b>)</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation provides a C-language compilation environment with 32-bit <b>int</b>, <b>long</b>, and <b>pointer</b> types and
|
|
an <b>off_t</b> type using at least 64 bits. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_XBS5_LP64_OFF64 (<b>LEGACY</b>)</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation provides a C-language compilation environment with 32-bit <b>int</b> and 64-bit <b>long</b>, <b>pointer</b>, and
|
|
<b>off_t</b> types. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_XBS5_LPBIG_OFFBIG (<b>LEGACY</b>)</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation provides a C-language compilation environment with an <b>int</b> type using at least 32 bits and <b>long</b>,
|
|
<b>pointer</b>, and <b>off_t</b> types using at least 64 bits. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_XOPEN_CRYPT</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the X/Open Encryption Option Group.</dd>
|
|
|
|
<dt>_XOPEN_ENH_I18N</dt>
|
|
|
|
<dd>
|
|
The implementation supports the Issue 4, Version 2 Enhanced Internationalization Option Group. This symbol shall always be set to a
|
|
value other than -1.</dd>
|
|
|
|
<dt>_XOPEN_LEGACY</dt>
|
|
|
|
<dd>
|
|
The implementation supports the Legacy Option Group.</dd>
|
|
|
|
<dt>_XOPEN_REALTIME</dt>
|
|
|
|
<dd>
|
|
The implementation supports the X/Open Realtime Option Group.</dd>
|
|
|
|
<dt>_XOPEN_REALTIME_THREADS</dt>
|
|
|
|
<dd>
|
|
The implementation supports the X/Open Realtime Threads Option Group.</dd>
|
|
|
|
<dt>_XOPEN_SHM</dt>
|
|
|
|
<dd>
|
|
The implementation supports the Issue 4, Version 2 Shared Memory Option Group. This symbol shall always be set to a value other
|
|
than -1.</dd>
|
|
|
|
<dt>_XOPEN_STREAMS</dt>
|
|
|
|
<dd>
|
|
The implementation supports the XSI STREAMS Option Group. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
|
|
<dt>_XOPEN_UNIX</dt>
|
|
|
|
<dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border=
|
|
"0"><br>
|
|
The implementation supports the XSI extension. <img src="../images/opt-end.gif" alt="[Option End]" border="0"></dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_13_80_03_03"></a>Execution-Time Symbolic Constants</h5>
|
|
|
|
<p>If any of the following constants are not defined in the <i><unistd.h></i> header, the value shall vary depending on the
|
|
file to which it is applied.</p>
|
|
|
|
<p>If any of the following constants are defined to have value -1 in the <i><unistd.h></i> header, the implementation shall
|
|
not provide the option on any file; if any are defined to have a value other than -1 in the <i><unistd.h></i> header, the
|
|
implementation shall provide the option on all applicable files.</p>
|
|
|
|
<p>All of the following constants, whether defined in <i><unistd.h></i> or not, may be queried with respect to a specific
|
|
file using the <a href="../functions/pathconf.html"><i>pathconf</i>()</a> or <a href=
|
|
"../functions/fpathconf.html"><i>fpathconf</i>()</a> functions:</p>
|
|
|
|
<dl compact>
|
|
<dt>_POSIX_ASYNC_IO</dt>
|
|
|
|
<dd>
|
|
Asynchronous input or output operations may be performed for the associated file.</dd>
|
|
|
|
<dt>_POSIX_PRIO_IO</dt>
|
|
|
|
<dd>
|
|
Prioritized input or output operations may be performed for the associated file.</dd>
|
|
|
|
<dt>_POSIX_SYNC_IO</dt>
|
|
|
|
<dd>
|
|
Synchronized input or output operations may be performed for the associated file.</dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_13_80_03_04"></a>Constants for Functions</h5>
|
|
|
|
<p>The following symbolic constant shall be defined:</p>
|
|
|
|
<dl compact>
|
|
<dt>NULL</dt>
|
|
|
|
<dd>Null pointer</dd>
|
|
</dl>
|
|
|
|
<p>The following symbolic constants shall be defined for the <a href="../functions/access.html"><i>access</i>()</a> function:</p>
|
|
|
|
<dl compact>
|
|
<dt>F_OK</dt>
|
|
|
|
<dd>Test for existence of file.</dd>
|
|
|
|
<dt>R_OK</dt>
|
|
|
|
<dd>Test for read permission.</dd>
|
|
|
|
<dt>W_OK</dt>
|
|
|
|
<dd>Test for write permission.</dd>
|
|
|
|
<dt>X_OK</dt>
|
|
|
|
<dd>Test for execute (search) permission.</dd>
|
|
</dl>
|
|
|
|
<p>The constants F_OK, R_OK, W_OK, and X_OK and the expressions <i>R_OK</i>|<i>W_OK</i>, <i>R_OK</i>|<i>X_OK</i>, and
|
|
<i>R_OK</i>|<i>W_OK</i>|<i>X_OK</i> shall all have distinct values.</p>
|
|
|
|
<p>The following symbolic constants shall be defined for the <a href="../functions/confstr.html"><i>confstr</i>()</a> function:</p>
|
|
|
|
<dl compact>
|
|
<dt>_CS_PATH</dt>
|
|
|
|
<dd>
|
|
This is the value for the <i>PATH</i> environment variable that finds all standard utilities.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_ILP32_OFF32_CFLAGS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_ILP32_OFF32) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
initial options to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a
|
|
programming model with 32-bit <b>int</b>, <b>long</b>, <b>pointer</b>, and <b>off_t</b> types.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_ILP32_OFF32_LDFLAGS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_ILP32_OFF32) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
final options to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a programming
|
|
model with 32-bit <b>int</b>, <b>long</b>, <b>pointer</b>, and <b>off_t</b> types.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_ILP32_OFF32_LIBS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_ILP32_OFF32) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
libraries to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a programming
|
|
model with 32-bit <b>int</b>, <b>long</b>, <b>pointer</b>, and <b>off_t</b> types.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_ILP32_OFFBIG) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
initial options to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a
|
|
programming model with 32-bit <b>int</b>, <b>long</b>, and <b>pointer</b> types, and an <b>off_t</b> type using at least 64
|
|
bits.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_ILP32_OFFBIG) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
final options to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a programming
|
|
model with 32-bit <b>int</b>, <b>long</b>, and <b>pointer</b> types, and an <b>off_t</b> type using at least 64 bits.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_ILP32_OFFBIG_LIBS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_ILP32_OFFBIG) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
libraries to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a programming
|
|
model with 32-bit <b>int</b>, <b>long</b>, and <b>pointer</b> types, and an <b>off_t</b> type using at least 64 bits.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_LP64_OFF64_CFLAGS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_LP64_OFF64) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
initial options to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a
|
|
programming model with 64-bit <b>int</b>, <b>long</b>, <b>pointer</b>, and <b>off_t</b> types.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_LP64_OFF64_LDFLAGS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_LP64_OFF64) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
final options to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a programming
|
|
model with 64-bit <b>int</b>, <b>long</b>, <b>pointer</b>, and <b>off_t</b> types.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_LP64_OFF64_LIBS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_LP64_OFF64) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
libraries to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a programming
|
|
model with 64-bit <b>int</b>, <b>long</b>, <b>pointer</b>, and <b>off_t</b> types.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_LPBIG_OFFBIG) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
initial options to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a
|
|
programming model with an <b>int</b> type using at least 32 bits and <b>long</b>, <b>pointer</b>, and <b>off_t</b> types using at
|
|
least 64 bits.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_LPBIG_OFFBIG) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
final options to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a programming
|
|
model with an <b>int</b> type using at least 32 bits and <b>long</b>, <b>pointer</b>, and <b>off_t</b> types using at least 64
|
|
bits.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_LPBIG_OFFBIG_LIBS</dt>
|
|
|
|
<dd>
|
|
If <i>sysconf</i>(_SC_V6_LPBIG_OFFBIG) returns -1, the meaning of this value is unspecified. Otherwise, this value is the set of
|
|
libraries to be given to the <a href="../utilities/c99.html"><i>c99</i></a> utility to build an application using a programming
|
|
model with an <b>int</b> type using at least 32 bits and <b>long</b>, <b>pointer</b>, and <b>off_t</b> types using at least 64
|
|
bits.</dd>
|
|
|
|
<dt>_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS</dt>
|
|
|
|
<dd>
|
|
This value is a <newline>-separated list of names of programming environments supported by the implementation in which the
|
|
widths of the <b>blksize_t</b>, <b>cc_t</b>, <b>mode_t</b>, <b>nfds_t</b>, <b>pid_t</b>, <b>ptrdiff_t</b>, <b>size_t</b>,
|
|
<b>speed_t</b>, <b>ssize_t</b>, <b>suseconds_t</b>, <b>tcflag_t</b>, <b>useconds_t</b>, <b>wchar_t</b>, and <b>wint_t</b> types are
|
|
no greater than the width of type <b>long</b>.</dd>
|
|
</dl>
|
|
|
|
<p><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
The following symbolic constants are reserved for compatibility with Issue 5:</p>
|
|
|
|
<p><br>
|
|
_CS_XBS5_ILP32_OFF32_CFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_ILP32_OFF32_LDFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_ILP32_OFF32_LIBS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_ILP32_OFF32_LINTFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_ILP32_OFFBIG_CFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_ILP32_OFFBIG_LDFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_ILP32_OFFBIG_LIBS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_LP64_OFF64_CFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_LP64_OFF64_LDFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_LP64_OFF64_LIBS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_LP64_OFF64_LINTFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_LPBIG_OFFBIG_CFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_LPBIG_OFFBIG_LIBS (<b>LEGACY</b>)<br>
|
|
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS (<b>LEGACY</b>)<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
</p>
|
|
|
|
<p>The following symbolic constants shall be defined for the <a href="../functions/lseek.html"><i>lseek</i>()</a> and <a href=
|
|
"../functions/fcntl.html"><i>fcntl</i>()</a> functions and shall have distinct values:</p>
|
|
|
|
<dl compact>
|
|
<dt>SEEK_CUR</dt>
|
|
|
|
<dd>Set file offset to current plus <i>offset</i>.</dd>
|
|
|
|
<dt>SEEK_END</dt>
|
|
|
|
<dd>Set file offset to EOF plus <i>offset</i>.</dd>
|
|
|
|
<dt>SEEK_SET</dt>
|
|
|
|
<dd>Set file offset to <i>offset</i>.</dd>
|
|
</dl>
|
|
|
|
<p>The following symbolic constants shall be defined as possible values for the <i>function</i> argument to the <a href=
|
|
"../functions/lockf.html"><i>lockf</i>()</a> function:</p>
|
|
|
|
<dl compact>
|
|
<dt>F_LOCK</dt>
|
|
|
|
<dd>Lock a section for exclusive use.</dd>
|
|
|
|
<dt>F_TEST</dt>
|
|
|
|
<dd>Test section for locks by other processes.</dd>
|
|
|
|
<dt>F_TLOCK</dt>
|
|
|
|
<dd>Test and lock a section for exclusive use.</dd>
|
|
|
|
<dt>F_ULOCK</dt>
|
|
|
|
<dd>Unlock locked sections.</dd>
|
|
</dl>
|
|
|
|
<p>The following symbolic constants shall be defined for <a href="../functions/pathconf.html"><i>pathconf</i>()</a>:</p>
|
|
|
|
<p><br>
|
|
<sup>[<a href="javascript:open_code('ADV')">ADV</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_PC_ALLOC_SIZE_MIN<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
<sup>[<a href="javascript:open_code('AIO')">AIO</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_PC_ASYNC_IO<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_PC_CHOWN_RESTRICTED<br>
|
|
_PC_FILESIZEBITS<br>
|
|
_PC_LINK_MAX<br>
|
|
_PC_MAX_CANON<br>
|
|
_PC_MAX_INPUT<br>
|
|
_PC_NAME_MAX<br>
|
|
_PC_NO_TRUNC<br>
|
|
_PC_PATH_MAX<br>
|
|
_PC_PIPE_BUF<br>
|
|
_PC_PRIO_IO<br>
|
|
<sup>[<a href="javascript:open_code('ADV')">ADV</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_PC_REC_INCR_XFER_SIZE<br>
|
|
_PC_REC_MAX_XFER_SIZE<br>
|
|
_PC_REC_MIN_XFER_SIZE<br>
|
|
_PC_REC_XFER_ALIGN<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_PC_SYNC_IO<br>
|
|
_PC_VDISABLE<br>
|
|
</p>
|
|
|
|
<p>The following symbolic constants shall be defined for <a href="../functions/sysconf.html"><i>sysconf</i>()</a>:</p>
|
|
|
|
<p><br>
|
|
_SC_2_C_BIND<br>
|
|
_SC_2_C_DEV<br>
|
|
_SC_2_C_VERSION<br>
|
|
_SC_2_CHAR_TERM<br>
|
|
_SC_2_FORT_DEV<br>
|
|
_SC_2_FORT_RUN<br>
|
|
_SC_2_LOCALEDEF<br>
|
|
_SC_2_PBS<br>
|
|
_SC_2_PBS_ACCOUNTING<br>
|
|
_SC_2_PBS_CHECKPOINT<br>
|
|
_SC_2_PBS_LOCATE<br>
|
|
_SC_2_PBS_MESSAGE<br>
|
|
_SC_2_PBS_TRACK<br>
|
|
_SC_2_SW_DEV<br>
|
|
_SC_2_UPE<br>
|
|
_SC_2_VERSION<br>
|
|
_SC_ADVISORY_INFO<br>
|
|
_SC_ARG_MAX<br>
|
|
_SC_AIO_LISTIO_MAX<br>
|
|
_SC_AIO_MAX<br>
|
|
_SC_AIO_PRIO_DELTA_MAX<br>
|
|
_SC_ASYNCHRONOUS_IO<br>
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_ATEXIT_MAX<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
<sup>[<a href="javascript:open_code('BAR')">BAR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_BARRIERS<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_BC_BASE_MAX<br>
|
|
_SC_BC_DIM_MAX<br>
|
|
_SC_BC_SCALE_MAX<br>
|
|
_SC_BC_STRING_MAX<br>
|
|
_SC_CHILD_MAX<br>
|
|
_SC_CLK_TCK<br>
|
|
<sup>[<a href="javascript:open_code('CS')">CS</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_CLOCK_SELECTION<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_COLL_WEIGHTS_MAX<br>
|
|
_SC_CPUTIME<br>
|
|
_SC_DELAYTIMER_MAX<br>
|
|
_SC_EXPR_NEST_MAX<br>
|
|
_SC_FILE_LOCKING<br>
|
|
_SC_FSYNC<br>
|
|
_SC_GETGR_R_SIZE_MAX<br>
|
|
_SC_GETPW_R_SIZE_MAX<br>
|
|
_SC_HOST_NAME_MAX<br>
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_IOV_MAX<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_JOB_CONTROL<br>
|
|
_SC_LINE_MAX<br>
|
|
_SC_LOGIN_NAME_MAX<br>
|
|
_SC_MAPPED_FILES<br>
|
|
_SC_MEMLOCK<br>
|
|
_SC_MEMLOCK_RANGE<br>
|
|
_SC_MEMORY_PROTECTION<br>
|
|
_SC_MESSAGE_PASSING<br>
|
|
<sup>[<a href="javascript:open_code('MON')">MON</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_MONOTONIC_CLOCK<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_MQ_OPEN_MAX<br>
|
|
_SC_MQ_PRIO_MAX<br>
|
|
_SC_NGROUPS_MAX<br>
|
|
_SC_OPEN_MAX<br>
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_PAGE_SIZE<br>
|
|
_SC_PAGESIZE<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_PRIORITIZED_IO<br>
|
|
_SC_PRIORITY_SCHEDULING<br>
|
|
_SC_RE_DUP_MAX<br>
|
|
<sup>[<a href="javascript:open_code('THR')">THR</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_READER_WRITER_LOCKS<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_REALTIME_SIGNALS<br>
|
|
_SC_REGEXP<br>
|
|
_SC_RTSIG_MAX<br>
|
|
_SC_SAVED_IDS<br>
|
|
_SC_SEMAPHORES<br>
|
|
_SC_SEM_NSEMS_MAX<br>
|
|
_SC_SEM_VALUE_MAX<br>
|
|
_SC_SHARED_MEMORY_OBJECTS<br>
|
|
_SC_SHELL<br>
|
|
_SC_SIGQUEUE_MAX<br>
|
|
_SC_SPAWN<br>
|
|
<sup>[<a href="javascript:open_code('SPI')">SPI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_SPIN_LOCKS<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_SPORADIC_SERVER<br>
|
|
_SC_STREAM_MAX<br>
|
|
_SC_SYNCHRONIZED_IO<br>
|
|
_SC_THREAD_ATTR_STACKADDR<br>
|
|
_SC_THREAD_ATTR_STACKSIZE<br>
|
|
_SC_THREAD_CPUTIME<br>
|
|
_SC_THREAD_DESTRUCTOR_ITERATIONS<br>
|
|
_SC_THREAD_KEYS_MAX<br>
|
|
_SC_THREAD_PRIO_INHERIT<br>
|
|
_SC_THREAD_PRIO_PROTECT<br>
|
|
_SC_THREAD_PRIORITY_SCHEDULING<br>
|
|
_SC_THREAD_PROCESS_SHARED<br>
|
|
_SC_THREAD_SAFE_FUNCTIONS<br>
|
|
_SC_THREAD_SPORADIC_SERVER<br>
|
|
_SC_THREAD_STACK_MIN<br>
|
|
_SC_THREAD_THREADS_MAX<br>
|
|
_SC_TIMEOUTS<br>
|
|
_SC_THREADS<br>
|
|
_SC_TIMER_MAX<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
_SC_TIMERS<br>
|
|
<sup>[<a href="javascript:open_code('TRC')">TRC</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_TRACE<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
<sup>[<a href="javascript:open_code('TEF')">TEF</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_TRACE_EVENT_FILTER<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
<sup>[<a href="javascript:open_code('TRI')">TRI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_TRACE_INHERIT<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
<sup>[<a href="javascript:open_code('TRL')">TRL</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_TRACE_LOG<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_TTY_NAME_MAX<br>
|
|
<sup>[<a href="javascript:open_code('TYM')">TYM</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_TYPED_MEMORY_OBJECTS<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
_SC_TZNAME_MAX<br>
|
|
_SC_V6_ILP32_OFF32<br>
|
|
_SC_V6_ILP32_OFFBIG<br>
|
|
_SC_V6_LP64_OFF64<br>
|
|
_SC_V6_LPBIG_OFFBIG<br>
|
|
_SC_VERSION<br>
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"><br>
|
|
_SC_XBS5_ILP32_OFF32 (<b>LEGACY</b>)<br>
|
|
_SC_XBS5_ILP32_OFFBIG (<b>LEGACY</b>)<br>
|
|
_SC_XBS5_LP64_OFF64 (<b>LEGACY</b>)<br>
|
|
_SC_XBS5_LPBIG_OFFBIG (<b>LEGACY</b>)<br>
|
|
_SC_XOPEN_CRYPT<br>
|
|
_SC_XOPEN_ENH_I18N<br>
|
|
_SC_XOPEN_LEGACY<br>
|
|
_SC_XOPEN_REALTIME<br>
|
|
_SC_XOPEN_REALTIME_THREADS<br>
|
|
_SC_XOPEN_SHM<br>
|
|
_SC_XOPEN_STREAMS<br>
|
|
_SC_XOPEN_UNIX<br>
|
|
_SC_XOPEN_VERSION<br>
|
|
_SC_XOPEN_XCU_VERSION<br>
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0"><br>
|
|
</p>
|
|
|
|
<p>The two constants _SC_PAGESIZE and _SC_PAGE_SIZE may be defined to have the same value.</p>
|
|
|
|
<p>The following symbolic constants shall be defined for file streams:</p>
|
|
|
|
<dl compact>
|
|
<dt>STDERR_FILENO</dt>
|
|
|
|
<dd>File number of <i>stderr</i>; 2.</dd>
|
|
|
|
<dt>STDIN_FILENO</dt>
|
|
|
|
<dd>File number of <i>stdin</i>; 0.</dd>
|
|
|
|
<dt>STDOUT_FILENO</dt>
|
|
|
|
<dd>File number of <i>stdout</i>; 1.</dd>
|
|
</dl>
|
|
|
|
<h5><a name="tag_13_80_03_05"></a>Type Definitions</h5>
|
|
|
|
<p>The <b>size_t</b>, <b>ssize_t</b>, <b>uid_t</b>, <b>gid_t</b>, <b>off_t</b>, <b>pid_t</b>, and <b>useconds_t</b> types shall be
|
|
defined as described in <a href="../basedefs/sys/types.h.html"><i><sys/types.h></i></a>.</p>
|
|
|
|
<p>The <b>intptr_t</b> type shall be defined as described in <a href=
|
|
"../basedefs/inttypes.h.html"><i><inttypes.h></i></a>.</p>
|
|
|
|
<h5><a name="tag_13_80_03_06"></a>Declarations</h5>
|
|
|
|
<p>The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.</p>
|
|
|
|
<pre>
|
|
<tt>int access(const char *, int);
|
|
unsigned alarm(unsigned);
|
|
int chdir(const char *);
|
|
int chown(const char *, uid_t, gid_t);
|
|
int close(int);
|
|
size_t confstr(int, char *, size_t);
|
|
<br>
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
char *crypt(const char *, const char *);
|
|
char *ctermid(char *);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int dup(int);
|
|
<br>
|
|
int dup2(int, int);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
void encrypt(char[64], int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int execl(const char *, const char *, ...);
|
|
int execle(const char *, const char *, ...);
|
|
int execlp(const char *, const char *, ...);
|
|
int execv(const char *, char *const []);
|
|
int execve(const char *, char *const [], char *const []);
|
|
int execvp(const char *, char *const []);
|
|
void _exit(int);
|
|
int fchown(int, uid_t, gid_t);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int fchdir(int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
<sup>[<a href="javascript:open_code('SIO')">SIO</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int fdatasync(int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
pid_t fork(void);
|
|
long fpathconf(int, int);
|
|
int fsync(int);
|
|
int ftruncate(int, off_t);
|
|
char *getcwd(char *, size_t);
|
|
gid_t getegid(void);
|
|
uid_t geteuid(void);
|
|
gid_t getgid(void);
|
|
int getgroups(int, gid_t []);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
long gethostid(void);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int gethostname(char *, size_t);
|
|
char *getlogin(void);
|
|
int getlogin_r(char *, size_t);
|
|
int getopt(int, char * const [], const char *);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
pid_t getpgid(pid_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
pid_t getpgrp(void);
|
|
pid_t getpid(void);
|
|
pid_t getppid(void);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
pid_t getsid(pid_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
uid_t getuid(void);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
char *getwd(char *); (</tt><b>LEGACY</b> <tt>)
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int isatty(int);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int lchown(const char *, uid_t, gid_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int link(const char *, const char *);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int lockf(int, int, off_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
off_t lseek(int, off_t, int);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int nice(int);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
long pathconf(const char *, int);
|
|
int pause(void);
|
|
int pipe(int [2]);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
ssize_t pread(int, void *, size_t, off_t);
|
|
ssize_t pwrite(int, const void *, size_t, off_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
ssize_t read(int, void *, size_t);
|
|
ssize_t readlink(const char *restrict, char *restrict, size_t);
|
|
int rmdir(const char *);
|
|
int setegid(gid_t);
|
|
int seteuid(uid_t);
|
|
int setgid(gid_t);
|
|
<br>
|
|
int setpgid(pid_t, pid_t);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
pid_t setpgrp(void);
|
|
int setregid(gid_t, gid_t);
|
|
int setreuid(uid_t, uid_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
pid_t setsid(void);
|
|
int setuid(uid_t);
|
|
unsigned sleep(unsigned);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
void swab(const void *restrict, void *restrict, ssize_t);
|
|
int symlink(const char *, const char *);
|
|
void sync(void);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
long sysconf(int);
|
|
pid_t tcgetpgrp(int);
|
|
int tcsetpgrp(int, pid_t);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int truncate(const char *, off_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
char *ttyname(int);
|
|
int ttyname_r(int, char *, size_t);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
useconds_t ualarm(useconds_t, useconds_t);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
int unlink(const char *);
|
|
<sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup><img src="../images/opt-start.gif" alt="[Option Start]" border="0">
|
|
int usleep(useconds_t);
|
|
pid_t vfork(void);
|
|
<img src="../images/opt-end.gif" alt="[Option End]" border="0">
|
|
ssize_t write(int, const void *, size_t);
|
|
</tt>
|
|
</pre>
|
|
|
|
<p>Implementations may also include the <a href="../functions/pthread_atfork.html"><i>pthread_atfork</i>()</a> prototype as defined
|
|
in <a href="pthread.h.html"><i><pthread.h></i></a> .</p>
|
|
|
|
<p>The following external variables shall be declared:</p>
|
|
|
|
<pre>
|
|
<tt>extern char *optarg;
|
|
extern int optind, opterr, optopt;
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<hr>
|
|
<div class="box"><em>The following sections are informative.</em></div>
|
|
|
|
<h4><a name="tag_13_80_04"></a>APPLICATION USAGE</h4>
|
|
|
|
<blockquote>
|
|
<p>IEEE Std 1003.1-2001 only describes the behavior of systems that claim conformance to it. However, application
|
|
developers who want to write applications that adapt to other versions of IEEE Std 1003.1 (or to systems that do not
|
|
conform to any POSIX standard) may find it useful to code them so as to conditionally compile different code depending on the value
|
|
of _POSIX_VERSION, for example:</p>
|
|
|
|
<pre>
|
|
<tt>#if _POSIX_VERSION >= 200112L
|
|
/* Use the newer function that copes with large files. */
|
|
off_t pos=ftello(fp);
|
|
#else
|
|
/* Either this is an old version of POSIX, or _POSIX_VERSION is
|
|
not even defined, so use the traditional function. */
|
|
long pos=ftell(fp);
|
|
#endif
|
|
</tt>
|
|
</pre>
|
|
|
|
<p>Earlier versions of IEEE Std 1003.1 and of the Single UNIX Specification can be identified by the following
|
|
macros:</p>
|
|
|
|
<dl compact>
|
|
<dt>POSIX.1-1988 standard</dt>
|
|
|
|
<dd>
|
|
_POSIX_VERSION==198808L</dd>
|
|
|
|
<dt>POSIX.1-1990 standard</dt>
|
|
|
|
<dd>
|
|
_POSIX_VERSION==199009L</dd>
|
|
|
|
<dt>ISO POSIX-1:1996 standard</dt>
|
|
|
|
<dd>
|
|
_POSIX_VERSION==199506L</dd>
|
|
|
|
<dt>Single UNIX Specification, Version 1</dt>
|
|
|
|
<dd>
|
|
_XOPEN_UNIX and _XOPEN_VERSION==4</dd>
|
|
|
|
<dt>Single UNIX Specification, Version 2</dt>
|
|
|
|
<dd>
|
|
_XOPEN_UNIX and _XOPEN_VERSION==500</dd>
|
|
</dl>
|
|
|
|
<p>IEEE Std 1003.1-2001 does not make any attempt to define application binary interaction with the underlying operating
|
|
system. However, application developers may find it useful to query _SC_VERSION at runtime via <a href=
|
|
"../functions/sysconf.html"><i>sysconf</i>()</a> to determine whether the current version of the operating system supports the
|
|
necessary functionality as in the following program fragment:</p>
|
|
|
|
<pre>
|
|
<tt>if (sysconf(_SC_VERSION) < 200112L) {
|
|
fprintf(stderr, "POSIX.1-2001 system required, terminating \n");
|
|
exit(1);
|
|
}
|
|
</tt>
|
|
</pre>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_80_05"></a>RATIONALE</h4>
|
|
|
|
<blockquote>
|
|
<p>As IEEE Std 1003.1-2001 evolved, certain options became sufficiently standardized that it was concluded that simply
|
|
requiring one of the option choices was simpler than retaining the option. However, for backwards-compatibility, the option flags
|
|
(with required constant values) are retained.</p>
|
|
|
|
<h5><a name="tag_13_80_05_01"></a>Version Test Macros</h5>
|
|
|
|
<p>The standard developers considered altering the definition of _POSIX_VERSION and removing _SC_VERSION from the specification of
|
|
<a href="../functions/sysconf.html"><i>sysconf</i>()</a> since the utility to an application was deemed by some to be minimal, and
|
|
since the implementation of the functionality is potentially problematic. However, they recognized that support for existing
|
|
application binaries is a concern to manufacturers, application developers, and the users of implementations conforming to
|
|
IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>While the example using _SC_VERSION in the APPLICATION USAGE section does not provide the greatest degree of imaginable utility
|
|
to the application developer or user, it is arguably better than a <b>core</b> file or some other equally obscure result. (It is
|
|
also possible for implementations to encode and recognize application binaries compiled in various POSIX.1-conforming environments,
|
|
and modify the semantics of the underlying system to conform to the expectations of the application.) For the reasons outlined in
|
|
the preceding paragraphs and in the APPLICATION USAGE section, the standard developers elected to retain the _POSIX_VERSION and
|
|
_SC_VERSION functionality.</p>
|
|
|
|
<h5><a name="tag_13_80_05_02"></a>Compile-Time Symbolic Constants for System-Wide Options</h5>
|
|
|
|
<p>IEEE Std 1003.1-2001 now includes support in certain areas for the newly adopted policy governing options and
|
|
stubs.</p>
|
|
|
|
<p>This policy provides flexibility for implementations in how they support options. It also specifies how conforming applications
|
|
can adapt to different implementations that support different sets of options. It allows the following:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p>If an implementation has no interest in supporting an option, it does not have to provide anything associated with that option
|
|
beyond the announcement that it does not support it.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>An implementation can support a partial or incompatible version of an option (as a non-standard extension) as long as it does
|
|
not claim to support the option.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>An application can determine whether the option is supported. A strictly conforming application must check this announcement
|
|
mechanism before first using anything associated with the option.</p>
|
|
</li>
|
|
</ol>
|
|
|
|
<p>There is an important implication of this policy. IEEE Std 1003.1-2001 cannot dictate the behavior of interfaces
|
|
associated with an option when the implementation does not claim to support the option. In particular, it cannot require that a
|
|
function associated with an unsupported option will fail if it does not perform as specified. However, this policy does not prevent
|
|
a standard from requiring certain functions to always be present, but that they shall always fail on some implementations. The <a
|
|
href="../functions/setpgid.html"><i>setpgid</i>()</a> function in the POSIX.1-1990 standard, for example, is considered
|
|
appropriate.</p>
|
|
|
|
<p>The POSIX standards include various options, and the C-language binding support for an option implies that the implementation
|
|
must supply data types and function interfaces. An application must be able to discover whether the implementation supports each
|
|
option.</p>
|
|
|
|
<p>Any application must consider the following three cases for each option:</p>
|
|
|
|
<ol>
|
|
<li>
|
|
<p>Option never supported.</p>
|
|
|
|
<p>The implementation advertises at compile time that the option will never be supported. In this case, it is not necessary for the
|
|
implementation to supply any of the data types or function interfaces that are provided only as part of the option. The
|
|
implementation might provide data types and functions that are similar to those defined by IEEE Std 1003.1-2001, but
|
|
there is no guarantee for any particular behavior.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Option always supported.</p>
|
|
|
|
<p>The implementation advertises at compile time that the option will always be supported. In this case, all data types and
|
|
function interfaces shall be available and shall operate as specified.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>Option might or might not be supported.</p>
|
|
|
|
<p>Some implementations might not provide a mechanism to specify support of options at compile time. In addition, the
|
|
implementation might be unable or unwilling to specify support or non-support at compile time. In either case, any application that
|
|
might use the option at runtime must be able to compile and execute. The implementation must provide, at compile time, all data
|
|
types and function interfaces that are necessary to allow this. In this situation, there must be a mechanism that allows the
|
|
application to query, at runtime, whether the option is supported. If the application attempts to use the option when it is not
|
|
supported, the result is unspecified unless explicitly specified otherwise in IEEE Std 1003.1-2001.</p>
|
|
</li>
|
|
</ol>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_80_06"></a>FUTURE DIRECTIONS</h4>
|
|
|
|
<blockquote>
|
|
<p>None.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_80_07"></a>SEE ALSO</h4>
|
|
|
|
<blockquote>
|
|
<p><a href="inttypes.h.html"><i><inttypes.h></i></a> , <a href="limits.h.html"><i><limits.h></i></a> , <a href=
|
|
"sys/socket.h.html"><i><sys/socket.h></i></a> , <a href="sys/types.h.html"><i><sys/types.h></i></a> , <a href=
|
|
"termios.h.html"><i><termios.h></i></a> , <a href="wctype.h.html"><i><wctype.h></i></a> , the System Interfaces volume
|
|
of IEEE Std 1003.1-2001, <a href="../functions/access.html"><i>access</i>()</a>, <a href=
|
|
"../functions/alarm.html"><i>alarm</i>()</a>, <a href="../functions/chdir.html"><i>chdir</i>()</a>, <a href=
|
|
"../functions/chown.html"><i>chown</i>()</a>, <a href="../functions/close.html"><i>close</i>()</a>, <a href=
|
|
"../functions/crypt.html"><i>crypt</i>()</a>, <a href="../functions/ctermid.html"><i>ctermid</i>()</a>, <a href=
|
|
"../functions/dup.html"><i>dup</i>()</a>, <a href="../functions/encrypt.html"><i>encrypt</i>()</a>, <i>environ</i>, <i>exec</i>, <a
|
|
href="../functions/exit.html"><i>exit</i>()</a>, <a href="../functions/fchdir.html"><i>fchdir</i>()</a>, <a href=
|
|
"../functions/fchown.html"><i>fchown</i>()</a>, <a href="../functions/fcntl.html"><i>fcntl</i>()</a>, <a href=
|
|
"../functions/fork.html"><i>fork</i>()</a>, <a href="../functions/fpathconf.html"><i>fpathconf</i>()</a>, <a href=
|
|
"../functions/fsync.html"><i>fsync</i>()</a>, <a href="../functions/ftruncate.html"><i>ftruncate</i>()</a>, <a href=
|
|
"../functions/getcwd.html"><i>getcwd</i>()</a>, <a href="../functions/getegid.html"><i>getegid</i>()</a>, <a href=
|
|
"../functions/geteuid.html"><i>geteuid</i>()</a>, <a href="../functions/getgid.html"><i>getgid</i>()</a>, <a href=
|
|
"../functions/getgroups.html"><i>getgroups</i>()</a>, <a href="../functions/gethostid.html"><i>gethostid</i>()</a>, <a href=
|
|
"../functions/gethostname.html"><i>gethostname</i>()</a>, <a href="../functions/getlogin.html"><i>getlogin</i>()</a>, <a href=
|
|
"../functions/getpgid.html"><i>getpgid</i>()</a>, <a href="../functions/getpgrp.html"><i>getpgrp</i>()</a>, <a href=
|
|
"../functions/getpid.html"><i>getpid</i>()</a>, <a href="../functions/getppid.html"><i>getppid</i>()</a>, <a href=
|
|
"../functions/getsid.html"><i>getsid</i>()</a>, <a href="../functions/getuid.html"><i>getuid</i>()</a>, <a href=
|
|
"../functions/isatty.html"><i>isatty</i>()</a>, <a href="../functions/lchown.html"><i>lchown</i>()</a>, <a href=
|
|
"../functions/link.html"><i>link</i>()</a>, <a href="../functions/lockf.html"><i>lockf</i>()</a>, <a href=
|
|
"../functions/lseek.html"><i>lseek</i>()</a>, <a href="../functions/nice.html"><i>nice</i>()</a>, <a href=
|
|
"../functions/pathconf.html"><i>pathconf</i>()</a>, <a href="../functions/pause.html"><i>pause</i>()</a>, <a href=
|
|
"../functions/pipe.html"><i>pipe</i>()</a>, <a href="../functions/read.html"><i>read</i>()</a>, <a href=
|
|
"../functions/readlink.html"><i>readlink</i>()</a>, <a href="../functions/rmdir.html"><i>rmdir</i>()</a>, <a href=
|
|
"../functions/setgid.html"><i>setgid</i>()</a>, <a href="../functions/setpgid.html"><i>setpgid</i>()</a>, <a href=
|
|
"../functions/setpgrp.html"><i>setpgrp</i>()</a>, <a href="../functions/setregid.html"><i>setregid</i>()</a>, <a href=
|
|
"../functions/setreuid.html"><i>setreuid</i>()</a>, <a href="../functions/setsid.html"><i>setsid</i>()</a>, <a href=
|
|
"../functions/setuid.html"><i>setuid</i>()</a>, <a href="../functions/sleep.html"><i>sleep</i>()</a>, <a href=
|
|
"../functions/swab.html"><i>swab</i>()</a>, <a href="../functions/symlink.html"><i>symlink</i>()</a>, <a href=
|
|
"../functions/sync.html"><i>sync</i>()</a>, <a href="../functions/sysconf.html"><i>sysconf</i>()</a>, <a href=
|
|
"../functions/tcgetpgrp.html"><i>tcgetpgrp</i>()</a>, <a href="../functions/tcsetpgrp.html"><i>tcsetpgrp</i>()</a>, <a href=
|
|
"../functions/truncate.html"><i>truncate</i>()</a>, <a href="../functions/ttyname.html"><i>ttyname</i>()</a>, <a href=
|
|
"../functions/ualarm.html"><i>ualarm</i>()</a>, <a href="../functions/unlink.html"><i>unlink</i>()</a>, <a href=
|
|
"../functions/usleep.html"><i>usleep</i>()</a>, <a href="../functions/vfork.html"><i>vfork</i>()</a>, <a href=
|
|
"../functions/write.html"><i>write</i>()</a></p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_80_08"></a>CHANGE HISTORY</h4>
|
|
|
|
<blockquote>
|
|
<p>First released in Issue 1. Derived from Issue 1 of the SVID.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_80_09"></a>Issue 5</h4>
|
|
|
|
<blockquote>
|
|
<p>The DESCRIPTION is updated for alignment with the POSIX Realtime Extension and the POSIX Threads Extension.</p>
|
|
|
|
<p>The symbolic constants _XOPEN_REALTIME and _XOPEN_REALTIME_THREADS are added. _POSIX2_C_BIND, _XOPEN_ENH_I18N, and _XOPEN_SHM
|
|
must now be set to a value other than -1 by a conforming implementation.</p>
|
|
|
|
<p>Large File System extensions are added.</p>
|
|
|
|
<p>The type of the argument to <i>sbrk</i>() is changed from <b>int</b> to <b>intptr_t</b>.</p>
|
|
|
|
<p>_XBS_ constants are added to the list of constants for Options and Option Groups, to the list of constants for the <a href=
|
|
"../functions/confstr.html"><i>confstr</i>()</a> function, and to the list of constants to the <a href=
|
|
"../functions/sysconf.html"><i>sysconf</i>()</a> function. These are all marked EX.</p>
|
|
</blockquote>
|
|
|
|
<h4><a name="tag_13_80_10"></a>Issue 6</h4>
|
|
|
|
<blockquote>
|
|
<p>_POSIX2_C_VERSION is removed.</p>
|
|
|
|
<p>The Open Group Corrigendum U026/4 is applied, adding the prototype for <a href=
|
|
"../functions/fdatasync.html"><i>fdatasync</i>()</a>.</p>
|
|
|
|
<p>The Open Group Corrigendum U026/1 is applied, adding the symbols _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, and
|
|
_SC_XOPEN_REALTIME_THREADS.</p>
|
|
|
|
<p>The symbols _XOPEN_STREAMS and _SC_XOPEN_STREAMS are added to support the XSI STREAMS Option Group.</p>
|
|
|
|
<p>Text in the DESCRIPTION relating to conformance requirements is moved elsewhere in IEEE Std 1003.1-2001.</p>
|
|
|
|
<p>The legacy symbol _SC_PASS_MAX is removed.</p>
|
|
|
|
<p>The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>The _CS_POSIX_* and _CS_XBS5_* constants are added for the <a href="../functions/confstr.html"><i>confstr</i>()</a>
|
|
function.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The _SC_XBS5_* constants are added for the <a href="../functions/sysconf.html"><i>sysconf</i>()</a> function.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The symbolic constants F_ULOCK, F_LOCK, F_TLOCK, and F_TEST are added.</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The <b>uid_t</b>, <b>gid_t</b>, <b>off_t</b>, <b>pid_t</b>, and <b>useconds_t</b> types are mandated.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>The <a href="../functions/gethostname.html"><i>gethostname</i>()</a> prototype is added for sockets.</p>
|
|
|
|
<p>A new section is added for System-Wide Options.</p>
|
|
|
|
<p>Function prototypes for <a href="../functions/setegid.html"><i>setegid</i>()</a> and <a href=
|
|
"../functions/seteuid.html"><i>seteuid</i>()</a> are added.</p>
|
|
|
|
<p>Option symbolic constants are added for _POSIX_ADVISORY_INFO, _POSIX_CPUTIME, _POSIX_SPAWN, _POSIX_SPORADIC_SERVER,
|
|
_POSIX_THREAD_CPUTIME, _POSIX_THREAD_SPORADIC_SERVER, and _POSIX_TIMEOUTS, and <a href=
|
|
"../functions/pathconf.html"><i>pathconf</i>()</a> variables are added for _PC_ALLOC_SIZE_MIN, _PC_REC_INCR_XFER_SIZE,
|
|
_PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, and _PC_REC_XFER_ALIGN for alignment with IEEE Std 1003.1d-1999.</p>
|
|
|
|
<p>The following are added for alignment with IEEE Std 1003.1j-2000:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>Option symbolic constants _POSIX_BARRIERS, _POSIX_CLOCK_SELECTION, _POSIX_MONOTONIC_CLOCK, _POSIX_READER_WRITER_LOCKS,
|
|
_POSIX_SPIN_LOCKS, and _POSIX_TYPED_MEMORY_OBJECTS</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p><a href="../functions/sysconf.html"><i>sysconf</i>()</a> variables _SC_BARRIERS, _SC_CLOCK_SELECTION, _SC_MONOTONIC_CLOCK,
|
|
_SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, and _SC_TYPED_MEMORY_OBJECTS</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>The _SC_XBS5 macros associated with the ISO/IEC 9899:1990 standard are marked LEGACY, and new equivalent _SC_V6 macros
|
|
associated with the ISO/IEC 9899:1999 standard are introduced.</p>
|
|
|
|
<p>The <a href="../functions/getwd.html"><i>getwd</i>()</a> function is marked LEGACY.</p>
|
|
|
|
<p>The <b>restrict</b> keyword is added to the prototypes for <a href="../functions/readlink.html"><i>readlink</i>()</a> and <a
|
|
href="../functions/swab.html"><i>swab</i>()</a>.</p>
|
|
|
|
<p>Constants for options are now harmonized, so when supported they take the year of approval of IEEE Std 1003.1-2001 as
|
|
the value.</p>
|
|
|
|
<p>The following are added for alignment with IEEE Std 1003.1q-2000:</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<p>Optional symbolic constants _POSIX_TRACE, _POSIX_TRACE_EVENT_FILTER, _POSIX_TRACE_LOG, and _POSIX_TRACE_INHERIT</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>The <a href="../functions/sysconf.html"><i>sysconf</i>()</a> symbolic constants _SC_TRACE, _SC_TRACE_EVENT_FILTER,
|
|
_SC_TRACE_LOG, and _SC_TRACE_INHERIT.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>The <i>brk</i>() and <i>sbrk</i>() legacy functions are removed.</p>
|
|
|
|
<p>The Open Group Base Resolution bwg2001-006 is applied, which reworks the XSI versioning information.</p>
|
|
|
|
<p>The Open Group Base Resolution bwg2001-008 is applied, changing the <i>namelen</i> parameter for <a href=
|
|
"../functions/gethostname.html"><i>gethostname</i>()</a> from <b>socklen_t</b> to <b>size_t</b>.</p>
|
|
</blockquote>
|
|
|
|
<div class="box"><em>End of informative text.</em></div>
|
|
|
|
<hr>
|
|
<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>
|
|
</body>
|
|
</html>
|
|
|