man-pages/man7/posixoptions.7.html
2021-03-31 01:06:50 +01:00

1371 lines
31 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of POSIXOPTIONS</TITLE>
</HEAD><BODY>
<H1>POSIXOPTIONS</H1>
Section: Linux Programmer's Manual (7)<BR>Updated: 2018-04-30<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
posixoptions - optional parts of the POSIX standard
<A NAME="lbAC">&nbsp;</A>
<H2>DESCRIPTION</H2>
The POSIX standard (the information below is from POSIX.1-2001)
describes a set of behaviors and interfaces for a compliant system.
However, many interfaces are optional and there are feature test macros
to test the availability of interfaces at compile time, and functions
<B><A HREF="/cgi-bin/man/man2html?3+sysconf">sysconf</A></B>(3),
<B><A HREF="/cgi-bin/man/man2html?3+fpathconf">fpathconf</A></B>(3),
<B><A HREF="/cgi-bin/man/man2html?3+pathconf">pathconf</A></B>(3),
<B><A HREF="/cgi-bin/man/man2html?3+confstr">confstr</A></B>(3)
to do this at run time.
From shell scripts one can use
<B><A HREF="/cgi-bin/man/man2html?1+getconf">getconf</A></B>(1).
For more detail, see
<B><A HREF="/cgi-bin/man/man2html?3+sysconf">sysconf</A></B>(3).
<P>
We give the name of the POSIX abbreviation, the option, the name of the
<B><A HREF="/cgi-bin/man/man2html?3+sysconf">sysconf</A></B>(3)
parameter used to inquire about the option, and possibly
a very short description.
Much more precise detail can be found in the POSIX standard itself,
versions of which can nowadays be accessed freely on the web.
<A NAME="lbAD">&nbsp;</A>
<H3>ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO</H3>
The following advisory functions are present:
<P>
<PRE>
<I>posix_fadvise</I>()
<I>posix_fallocate</I>()
<I>posix_memalign</I>()
<I>posix_madvise</I>()
</PRE>
<A NAME="lbAE">&nbsp;</A>
<H3>AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO</H3>
The header
<I>&lt;<A HREF="file:///usr/include/aio.h">aio.h</A>&gt;</I>
is present.
The following functions are present:
<P>
<PRE>
<I>aio_cancel</I>()
<I>aio_error</I>()
<I>aio_fsync</I>()
<I>aio_read</I>()
<I>aio_return</I>()
<I>aio_suspend</I>()
<I>aio_write</I>()
<I>lio_listio</I>()
</PRE>
<A NAME="lbAF">&nbsp;</A>
<H3>BAR - _POSIX_BARRIERS - _SC_BARRIERS</H3>
This option implies the
<B>_POSIX_THREADS</B>
and
<B>_POSIX_THREAD_SAFE_FUNCTIONS</B>
options.
The following functions are present:
<P>
<PRE>
<I>pthread_barrier_destroy</I>()
<I>pthread_barrier_init</I>()
<I>pthread_barrier_wait</I>()
<I>pthread_barrierattr_destroy</I>()
<I>pthread_barrierattr_init</I>()
</PRE>
<A NAME="lbAG">&nbsp;</A>
<H3>--- - POSIX_CHOWN_RESTRICTED</H3>
If this option is in effect (as it always is under POSIX.1-2001),
then only root may change the owner of a file, and nonroot can
set the group of a file only to one of the groups it belongs to.
This affects the following functions
<P>
<PRE>
<I>chown</I>()
<I>fchown</I>()
</PRE>
<A NAME="lbAH">&nbsp;</A>
<H3>CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION</H3>
This option implies the
<B>_POSIX_TIMERS</B>
option.
The following functions are present:
<P>
<PRE>
<I>pthread_condattr_getclock</I>()
<I>pthread_condattr_setclock</I>()
<I>clock_nanosleep</I>()
</PRE>
<P>
If
<B>CLOCK_REALTIME</B>
is changed by the function
<I>clock_settime</I>(),
then this affects all timers set for an absolute time.
<A NAME="lbAI">&nbsp;</A>
<H3>CPT - _POSIX_CPUTIME - _SC_CPUTIME</H3>
The
<B>CLOCK_PROCESS_CPUTIME_ID</B>
clock ID is supported.
The initial value of this clock is 0 for each process.
This option implies the
<B>_POSIX_TIMERS</B>
option.
The function
<I>clock_getcpuclockid</I>()
is present.
<A NAME="lbAJ">&nbsp;</A>
<H3>--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING</H3>
This option has been deleted.
Not in final XPG6.
<A NAME="lbAK">&nbsp;</A>
<H3>FSC - _POSIX_FSYNC - _SC_FSYNC</H3>
The function
<I>fsync</I>()
is present.
<A NAME="lbAL">&nbsp;</A>
<H3>IP6 - _POSIX_IPV6 - _SC_IPV6</H3>
Internet Protocol Version 6 is supported.
<A NAME="lbAM">&nbsp;</A>
<H3>--- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL</H3>
If this option is in effect (as it always is under POSIX.1-2001),
then the system implements POSIX-style job control,
and the following functions are present:
<P>
<PRE>
<I>setpgid</I>()
<I>tcdrain</I>()
<I>tcflush</I>()
<I>tcgetpgrp</I>()
<I>tcsendbreak</I>()
<I>tcsetattr</I>()
<I>tcsetpgrp</I>()
</PRE>
<A NAME="lbAN">&nbsp;</A>
<H3>MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES</H3>
Shared memory is supported.
The include file
<I>&lt;<A HREF="file:///usr/include/sys/mman.h">sys/mman.h</A>&gt;</I>
is present.
The following functions are present:
<P>
<PRE>
<I>mmap</I>()
<I>msync</I>()
<I>munmap</I>()
</PRE>
<A NAME="lbAO">&nbsp;</A>
<H3>ML - _POSIX_MEMLOCK - _SC_MEMLOCK</H3>
Shared memory can be locked into core.
The following functions are present:
<P>
<PRE>
<I>mlockall</I>()
<I>munlockall</I>()
</PRE>
<A NAME="lbAP">&nbsp;</A>
<H3>MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE</H3>
More precisely, ranges can be locked into core.
The following functions are present:
<P>
<PRE>
<I>mlock</I>()
<I>munlock</I>()
</PRE>
<A NAME="lbAQ">&nbsp;</A>
<H3>MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION</H3>
The function
<I>mprotect</I>()
is present.
<A NAME="lbAR">&nbsp;</A>
<H3>MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING</H3>
The include file
<I>&lt;<A HREF="file:///usr/include/mqueue.h">mqueue.h</A>&gt;</I>
is present.
The following functions are present:
<P>
<PRE>
<I>mq_close</I>()
<I>mq_getattr</I>()
<I>mq_notify</I>()
<I>mq_open</I>()
<I>mq_receive</I>()
<I>mq_send</I>()
<I>mq_setattr</I>()
<I>mq_unlink</I>()
</PRE>
<A NAME="lbAS">&nbsp;</A>
<H3>MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK</H3>
<B>CLOCK_MONOTONIC</B>
is supported.
This option implies the
<B>_POSIX_TIMERS</B>
option.
The following functions are affected:
<P>
<PRE>
<I>aio_suspend</I>()
<I>clock_getres</I>()
<I>clock_gettime</I>()
<I>clock_settime</I>()
<I>timer_create</I>()
</PRE>
<A NAME="lbAT">&nbsp;</A>
<H3>--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS</H3>
This option has been deleted.
Not in final XPG6.
<A NAME="lbAU">&nbsp;</A>
<H3>--- - _POSIX_NO_TRUNC</H3>
If this option is in effect (as it always is under POSIX.1-2001),
then pathname components longer than
<B>NAME_MAX</B>
are not truncated,
but give an error.
This property may be dependent on the path prefix of the component.
<A NAME="lbAV">&nbsp;</A>
<H3>PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO</H3>
This option says that one can specify priorities for asynchronous I/O.
This affects the functions
<P>
<PRE>
<I>aio_read</I>()
<I>aio_write</I>()
</PRE>
<A NAME="lbAW">&nbsp;</A>
<H3>PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING</H3>
The include file
<I>&lt;<A HREF="file:///usr/include/sched.h">sched.h</A>&gt;</I>
is present.
The following functions are present:
<P>
<PRE>
<I>sched_get_priority_max</I>()
<I>sched_get_priority_min</I>()
<I>sched_getparam</I>()
<I>sched_getscheduler</I>()
<I>sched_rr_get_interval</I>()
<I>sched_setparam</I>()
<I>sched_setscheduler</I>()
<I>sched_yield</I>()
</PRE>
<P>
If also
<B>_POSIX_SPAWN</B>
is in effect, then the following functions are present:
<P>
<PRE>
<I>posix_spawnattr_getschedparam</I>()
<I>posix_spawnattr_getschedpolicy</I>()
<I>posix_spawnattr_setschedparam</I>()
<I>posix_spawnattr_setschedpolicy</I>()
</PRE>
<A NAME="lbAX">&nbsp;</A>
<H3>RS - _POSIX_RAW_SOCKETS</H3>
Raw sockets are supported.
The following functions are affected:
<P>
<PRE>
<I>getsockopt</I>()
<I>setsockopt</I>()
</PRE>
<A NAME="lbAY">&nbsp;</A>
<H3>--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS</H3>
This option implies the
<B>_POSIX_THREADS</B>
option.
Conversely,
under POSIX.1-2001 the
<B>_POSIX_THREADS</B>
option implies this option.
<P>
The following functions are present:
<P>
<PRE>
<I>pthread_rwlock_destroy</I>()
<I>pthread_rwlock_init</I>()
<I>pthread_rwlock_rdlock</I>()
<I>pthread_rwlock_tryrdlock</I>()
<I>pthread_rwlock_trywrlock</I>()
<I>pthread_rwlock_unlock</I>()
<I>pthread_rwlock_wrlock</I>()
<I>pthread_rwlockattr_destroy</I>()
<I>pthread_rwlockattr_init</I>()
</PRE>
<A NAME="lbAZ">&nbsp;</A>
<H3>RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS</H3>
Realtime signals are supported.
The following functions are present:
<P>
<PRE>
<I>sigqueue</I>()
<I>sigtimedwait</I>()
<I>sigwaitinfo</I>()
</PRE>
<A NAME="lbBA">&nbsp;</A>
<H3>--- - _POSIX_REGEXP - _SC_REGEXP</H3>
If this option is in effect (as it always is under POSIX.1-2001),
then POSIX regular expressions are supported
and the following functions are present:
<P>
<PRE>
<I>regcomp</I>()
<I>regerror</I>()
<I>regexec</I>()
<I>regfree</I>()
</PRE>
<A NAME="lbBB">&nbsp;</A>
<H3>--- - _POSIX_SAVED_IDS - _SC_SAVED_IDS</H3>
If this option is in effect (as it always is under POSIX.1-2001),
then a process has a saved set-user-ID and a saved set-group-ID.
The following functions are affected:
<P>
<PRE>
<I>exec</I>()
<I>kill</I>()
<I>seteuid</I>()
<I>setegid</I>()
<I>setgid</I>()
<I>setuid</I>()
</PRE>
<A NAME="lbBC">&nbsp;</A>
<H3>SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES</H3>
The include file
<I>&lt;<A HREF="file:///usr/include/semaphore.h">semaphore.h</A>&gt;</I>
is present.
The following functions are present:
<P>
<PRE>
<I>sem_close</I>()
<I>sem_destroy</I>()
<I>sem_getvalue</I>()
<I>sem_init</I>()
<I>sem_open</I>()
<I>sem_post</I>()
<I>sem_trywait</I>()
<I>sem_unlink</I>()
<I>sem_wait</I>()
</PRE>
<A NAME="lbBD">&nbsp;</A>
<H3>SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS</H3>
The following functions are present:
<P>
<PRE>
<I>mmap</I>()
<I>munmap</I>()
<I>shm_open</I>()
<I>shm_unlink</I>()
</PRE>
<A NAME="lbBE">&nbsp;</A>
<H3>--- - _POSIX_SHELL - _SC_SHELL</H3>
If this option is in effect (as it always is under POSIX.1-2001),
the function
<I>system</I>()
is present.
<A NAME="lbBF">&nbsp;</A>
<H3>SPN - _POSIX_SPAWN - _SC_SPAWN</H3>
This option describes support for process creation in a context where
it is difficult or impossible to use
<I>fork</I>(),
for example, because no MMU is present.
<P>
If
<B>_POSIX_SPAWN</B>
is in effect, then the include file
<I>&lt;<A HREF="file:///usr/include/spawn.h">spawn.h</A>&gt;</I>
and the following functions are present:
<P>
<PRE>
<I>posix_spawn</I>()
<I>posix_spawn_file_actions_addclose</I>()
<I>posix_spawn_file_actions_adddup2</I>()
<I>posix_spawn_file_actions_addopen</I>()
<I>posix_spawn_file_actions_destroy</I>()
<I>posix_spawn_file_actions_init</I>()
<I>posix_spawnattr_destroy</I>()
<I>posix_spawnattr_getsigdefault</I>()
<I>posix_spawnattr_getflags</I>()
<I>posix_spawnattr_getpgroup</I>()
<I>posix_spawnattr_getsigmask</I>()
<I>posix_spawnattr_init</I>()
<I>posix_spawnattr_setsigdefault</I>()
<I>posix_spawnattr_setflags</I>()
<I>posix_spawnattr_setpgroup</I>()
<I>posix_spawnattr_setsigmask</I>()
<I>posix_spawnp</I>()
</PRE>
<P>
If also
<B>_POSIX_PRIORITY_SCHEDULING</B>
is in effect, then
the following functions are present:
<P>
<PRE>
<I>posix_spawnattr_getschedparam</I>()
<I>posix_spawnattr_getschedpolicy</I>()
<I>posix_spawnattr_setschedparam</I>()
<I>posix_spawnattr_setschedpolicy</I>()
</PRE>
<A NAME="lbBG">&nbsp;</A>
<H3>SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS</H3>
This option implies the
<B>_POSIX_THREADS</B>
and
<B>_POSIX_THREAD_SAFE_FUNCTIONS</B>
options.
The following functions are present:
<P>
<PRE>
<I>pthread_spin_destroy</I>()
<I>pthread_spin_init</I>()
<I>pthread_spin_lock</I>()
<I>pthread_spin_trylock</I>()
<I>pthread_spin_unlock</I>()
</PRE>
<A NAME="lbBH">&nbsp;</A>
<H3>SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER</H3>
The scheduling policy
<B>SCHED_SPORADIC</B>
is supported.
This option implies the
<B>_POSIX_PRIORITY_SCHEDULING</B>
option.
The following functions are affected:
<P>
<PRE>
<I>sched_setparam</I>()
<I>sched_setscheduler</I>()
</PRE>
<A NAME="lbBI">&nbsp;</A>
<H3>SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO</H3>
The following functions are affected:
<P>
<PRE>
<I>open</I>()
<I>msync</I>()
<I>fsync</I>()
<I>fdatasync</I>()
</PRE>
<A NAME="lbBJ">&nbsp;</A>
<H3>TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR</H3>
The following functions are affected:
<P>
<PRE>
<I>pthread_attr_getstack</I>()
<I>pthread_attr_getstackaddr</I>()
<I>pthread_attr_setstack</I>()
<I>pthread_attr_setstackaddr</I>()
</PRE>
<A NAME="lbBK">&nbsp;</A>
<H3>TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE</H3>
The following functions are affected:
<P>
<PRE>
<I>pthread_attr_getstack</I>()
<I>pthread_attr_getstacksize</I>()
<I>pthread_attr_setstack</I>()
<I>pthread_attr_setstacksize</I>()
</PRE>
<A NAME="lbBL">&nbsp;</A>
<H3>TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME</H3>
The clockID CLOCK_THREAD_CPUTIME_ID is supported.
This option implies the
<B>_POSIX_TIMERS</B>
option.
The following functions are affected:
<P>
<PRE>
<I>pthread_getcpuclockid</I>()
<I>clock_getres</I>()
<I>clock_gettime</I>()
<I>clock_settime</I>()
<I>timer_create</I>()
</PRE>
<A NAME="lbBM">&nbsp;</A>
<H3>TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT</H3>
The following functions are affected:
<P>
<PRE>
<I>pthread_mutexattr_getprotocol</I>()
<I>pthread_mutexattr_setprotocol</I>()
</PRE>
<A NAME="lbBN">&nbsp;</A>
<H3>TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT</H3>
The following functions are affected:
<P>
<PRE>
<I>pthread_mutex_getprioceiling</I>()
<I>pthread_mutex_setprioceiling</I>()
<I>pthread_mutexattr_getprioceiling</I>()
<I>pthread_mutexattr_getprotocol</I>()
<I>pthread_mutexattr_setprioceiling</I>()
<I>pthread_mutexattr_setprotocol</I>()
</PRE>
<A NAME="lbBO">&nbsp;</A>
<H3>TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING</H3>
If this option is in effect, the different threads inside a process
can run with different priorities and/or different schedulers.
The following functions are affected:
<P>
<PRE>
<I>pthread_attr_getinheritsched</I>()
<I>pthread_attr_getschedpolicy</I>()
<I>pthread_attr_getscope</I>()
<I>pthread_attr_setinheritsched</I>()
<I>pthread_attr_setschedpolicy</I>()
<I>pthread_attr_setscope</I>()
<I>pthread_getschedparam</I>()
<I>pthread_setschedparam</I>()
<I>pthread_setschedprio</I>()
</PRE>
<A NAME="lbBP">&nbsp;</A>
<H3>TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED</H3>
The following functions are affected:
<P>
<PRE>
<I>pthread_barrierattr_getpshared</I>()
<I>pthread_barrierattr_setpshared</I>()
<I>pthread_condattr_getpshared</I>()
<I>pthread_condattr_setpshared</I>()
<I>pthread_mutexattr_getpshared</I>()
<I>pthread_mutexattr_setpshared</I>()
<I>pthread_rwlockattr_getpshared</I>()
<I>pthread_rwlockattr_setpshared</I>()
</PRE>
<A NAME="lbBQ">&nbsp;</A>
<H3>TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS</H3>
The following functions are affected:
<P>
<PRE>
<I>readdir_r</I>()
<I>getgrgid_r</I>()
<I>getgrnam_r</I>()
<I>getpwnam_r</I>()
<I>getpwuid_r</I>()
<I>flockfile</I>()
<I>ftrylockfile</I>()
<I>funlockfile</I>()
<I>getc_unlocked</I>()
<I>getchar_unlocked</I>()
<I>putc_unlocked</I>()
<I>putchar_unlocked</I>()
<I>rand_r</I>()
<I>strerror_r</I>()
<I>strtok_r</I>()
<I>asctime_r</I>()
<I>ctime_r</I>()
<I>gmtime_r</I>()
<I>localtime_r</I>()
</PRE>
<A NAME="lbBR">&nbsp;</A>
<H3>TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER</H3>
This option implies the
<B>_POSIX_THREAD_PRIORITY_SCHEDULING</B>
option.
The following functions are affected:
<P>
<PRE>
<I>sched_getparam</I>()
<I>sched_setparam</I>()
<I>sched_setscheduler</I>()
</PRE>
<A NAME="lbBS">&nbsp;</A>
<H3>THR - _POSIX_THREADS - _SC_THREADS</H3>
Basic support for POSIX threads is available.
The following functions are present:
<P>
<PRE>
<I>pthread_atfork</I>()
<I>pthread_attr_destroy</I>()
<I>pthread_attr_getdetachstate</I>()
<I>pthread_attr_getschedparam</I>()
<I>pthread_attr_init</I>()
<I>pthread_attr_setdetachstate</I>()
<I>pthread_attr_setschedparam</I>()
<I>pthread_cancel</I>()
<I>pthread_cleanup_push</I>()
<I>pthread_cleanup_pop</I>()
<I>pthread_cond_broadcast</I>()
<I>pthread_cond_destroy</I>()
<I>pthread_cond_init</I>()
<I>pthread_cond_signal</I>()
<I>pthread_cond_timedwait</I>()
<I>pthread_cond_wait</I>()
<I>pthread_condattr_destroy</I>()
<I>pthread_condattr_init</I>()
<I>pthread_create</I>()
<I>pthread_detach</I>()
<I>pthread_equal</I>()
<I>pthread_exit</I>()
<I>pthread_getspecific</I>()
<I>pthread_join</I>()
<I>pthread_key_create</I>()
<I>pthread_key_delete</I>()
<I>pthread_mutex_destroy</I>()
<I>pthread_mutex_init</I>()
<I>pthread_mutex_lock</I>()
<I>pthread_mutex_trylock</I>()
<I>pthread_mutex_unlock</I>()
<I>pthread_mutexattr_destroy</I>()
<I>pthread_mutexattr_init</I>()
<I>pthread_once</I>()
<I>pthread_rwlock_destroy</I>()
<I>pthread_rwlock_init</I>()
<I>pthread_rwlock_rdlock</I>()
<I>pthread_rwlock_tryrdlock</I>()
<I>pthread_rwlock_trywrlock</I>()
<I>pthread_rwlock_unlock</I>()
<I>pthread_rwlock_wrlock</I>()
<I>pthread_rwlockattr_destroy</I>()
<I>pthread_rwlockattr_init</I>()
<I>pthread_self</I>()
<I>pthread_setcancelstate</I>()
<I>pthread_setcanceltype</I>()
<I>pthread_setspecific</I>()
<I>pthread_testcancel</I>()
</PRE>
<A NAME="lbBT">&nbsp;</A>
<H3>TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS</H3>
The following functions are present:
<P>
<PRE>
<I>mq_timedreceive</I>()
<I>mq_timedsend</I>()
<I>pthread_mutex_timedlock</I>()
<I>pthread_rwlock_timedrdlock</I>()
<I>pthread_rwlock_timedwrlock</I>()
<I>sem_timedwait</I>()
<I>posix_trace_timedgetnext_event</I>()
</PRE>
<A NAME="lbBU">&nbsp;</A>
<H3>TMR - _POSIX_TIMERS - _SC_TIMERS</H3>
The following functions are present:
<P>
<PRE>
<I>clock_getres</I>()
<I>clock_gettime</I>()
<I>clock_settime</I>()
<I>nanosleep</I>()
<I>timer_create</I>()
<I>timer_delete</I>()
<I>timer_gettime</I>()
<I>timer_getoverrun</I>()
<I>timer_settime</I>()
</PRE>
<A NAME="lbBV">&nbsp;</A>
<H3>TRC - _POSIX_TRACE - _SC_TRACE</H3>
POSIX tracing is available.
The following functions are present:
<P>
<PRE>
<I>posix_trace_attr_destroy</I>()
<I>posix_trace_attr_getclockres</I>()
<I>posix_trace_attr_getcreatetime</I>()
<I>posix_trace_attr_getgenversion</I>()
<I>posix_trace_attr_getmaxdatasize</I>()
<I>posix_trace_attr_getmaxsystemeventsize</I>()
<I>posix_trace_attr_getmaxusereventsize</I>()
<I>posix_trace_attr_getname</I>()
<I>posix_trace_attr_getstreamfullpolicy</I>()
<I>posix_trace_attr_getstreamsize</I>()
<I>posix_trace_attr_init</I>()
<I>posix_trace_attr_setmaxdatasize</I>()
<I>posix_trace_attr_setname</I>()
<I>posix_trace_attr_setstreamsize</I>()
<I>posix_trace_attr_setstreamfullpolicy</I>()
<I>posix_trace_clear</I>()
<I>posix_trace_create</I>()
<I>posix_trace_event</I>()
<I>posix_trace_eventid_equal</I>()
<I>posix_trace_eventid_get_name</I>()
<I>posix_trace_eventid_open</I>()
<I>posix_trace_eventtypelist_getnext_id</I>()
<I>posix_trace_eventtypelist_rewind</I>()
<I>posix_trace_flush</I>()
<I>posix_trace_get_attr</I>()
<I>posix_trace_get_status</I>()
<I>posix_trace_getnext_event</I>()
<I>posix_trace_shutdown</I>()
<I>posix_trace_start</I>()
<I>posix_trace_stop</I>()
<I>posix_trace_trygetnext_event</I>()
</PRE>
<A NAME="lbBW">&nbsp;</A>
<H3>TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER</H3>
This option implies the
<B>_POSIX_TRACE</B>
option.
The following functions are present:
<P>
<PRE>
<I>posix_trace_eventset_add</I>()
<I>posix_trace_eventset_del</I>()
<I>posix_trace_eventset_empty</I>()
<I>posix_trace_eventset_fill</I>()
<I>posix_trace_eventset_ismember</I>()
<I>posix_trace_get_filter</I>()
<I>posix_trace_set_filter</I>()
<I>posix_trace_trid_eventid_open</I>()
</PRE>
<A NAME="lbBX">&nbsp;</A>
<H3>TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT</H3>
Tracing children of the traced process is supported.
This option implies the
<B>_POSIX_TRACE</B>
option.
The following functions are present:
<P>
<PRE>
<I>posix_trace_attr_getinherited</I>()
<I>posix_trace_attr_setinherited</I>()
</PRE>
<A NAME="lbBY">&nbsp;</A>
<H3>TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG</H3>
This option implies the
<B>_POSIX_TRACE</B>
option.
The following functions are present:
<P>
<PRE>
<I>posix_trace_attr_getlogfullpolicy</I>()
<I>posix_trace_attr_getlogsize</I>()
<I>posix_trace_attr_setlogfullpolicy</I>()
<I>posix_trace_attr_setlogsize</I>()
<I>posix_trace_close</I>()
<I>posix_trace_create_withlog</I>()
<I>posix_trace_open</I>()
<I>posix_trace_rewind</I>()
</PRE>
<A NAME="lbBZ">&nbsp;</A>
<H3>TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT</H3>
The following functions are present:
<P>
<PRE>
<I>posix_mem_offset</I>()
<I>posix_typed_mem_get_info</I>()
<I>posix_typed_mem_open</I>()
</PRE>
<A NAME="lbCA">&nbsp;</A>
<H3>--- - _POSIX_VDISABLE</H3>
Always present (probably 0).
Value to set a changeable special control
character to indicate that it is disabled.
<A NAME="lbCB">&nbsp;</A>
<H2>X/OPEN SYSTEM INTERFACE EXTENSIONS</H2>
<A NAME="lbCC">&nbsp;</A>
<H3>XSI - _XOPEN_CRYPT - _SC_XOPEN_CRYPT</H3>
The following functions are present:
<P>
<PRE>
<I>crypt</I>()
<I>encrypt</I>()
<I>setkey</I>()
</PRE>
<A NAME="lbCD">&nbsp;</A>
<H3>XSI - _XOPEN_REALTIME - _SC_XOPEN_REALTIME</H3>
This option implies the following options:
<P>
<DL COMPACT>
<DT id="1"><B>_POSIX_ASYNCHRONOUS_IO</B>==<B>200112L</B>
<DD>
<DT id="2"><B>_POSIX_FSYNC</B>
<DD>
<DT id="3"><B>_POSIX_MAPPED_FILES</B>
<DD>
<DT id="4"><B>_POSIX_MEMLOCK</B>==<B>200112L</B>
<DD>
<DT id="5"><B>_POSIX_MEMLOCK_RANGE</B>==<B>200112L</B>
<DD>
<DT id="6"><B>_POSIX_MEMORY_PROTECTION</B>
<DD>
<DT id="7"><B>_POSIX_MESSAGE_PASSING</B>==<B>200112L</B>
<DD>
<DT id="8"><B>_POSIX_PRIORITIZED_IO</B>
<DD>
<DT id="9"><B>_POSIX_PRIORITY_SCHEDULING</B>==<B>200112L</B>
<DD>
<DT id="10"><B>_POSIX_REALTIME_SIGNALS</B>==<B>200112L</B>
<DD>
<DT id="11"><B>_POSIX_SEMAPHORES</B>==<B>200112L</B>
<DD>
<DT id="12"><B>_POSIX_SHARED_MEMORY_OBJECTS</B>==<B>200112L</B>
<DD>
<DT id="13"><B>_POSIX_SYNCHRONIZED_IO</B>==<B>200112L</B>
<DD>
<DT id="14"><B>_POSIX_TIMERS</B>==<B>200112L</B>
<DD>
</DL>
<A NAME="lbCE">&nbsp;</A>
<H3>ADV - --- - ---</H3>
The Advanced Realtime option group implies that the following options
are all defined to 200112L:
<P>
<DL COMPACT>
<DT id="15"><B>_POSIX_ADVISORY_INFO</B>
<DD>
<DT id="16"><B>_POSIX_CLOCK_SELECTION</B>
<DD>
(implies
<B>_POSIX_TIMERS</B>)
<DT id="17"><B>_POSIX_CPUTIME</B>
<DD>
(implies
<B>_POSIX_TIMERS</B>)
<DT id="18"><B>_POSIX_MONOTONIC_CLOCK</B>
<DD>
(implies
<B>_POSIX_TIMERS</B>)
<DT id="19"><B>_POSIX_SPAWN</B>
<DD>
<DT id="20"><B>_POSIX_SPORADIC_SERVER</B>
<DD>
(implies
<B>_POSIX_PRIORITY_SCHEDULING</B>)
<DT id="21"><B>_POSIX_TIMEOUTS</B>
<DD>
<DT id="22"><B>_POSIX_TYPED_MEMORY_OBJECTS</B>
<DD>
</DL>
<A NAME="lbCF">&nbsp;</A>
<H3>XSI - _XOPEN_REALTIME_THREADS - _SC_XOPEN_REALTIME_THREADS</H3>
This option implies that the following options
are all defined to 200112L:
<P>
<DL COMPACT>
<DT id="23"><B>_POSIX_THREAD_PRIO_INHERIT</B>
<DD>
<DT id="24"><B>_POSIX_THREAD_PRIO_PROTECT</B>
<DD>
<DT id="25"><B>_POSIX_THREAD_PRIORITY_SCHEDULING</B>
<DD>
</DL>
<A NAME="lbCG">&nbsp;</A>
<H3>ADVANCED REALTIME THREADS - --- - ---</H3>
This option implies that the following options
are all defined to 200112L:
<P>
<DL COMPACT>
<DT id="26"><B>_POSIX_BARRIERS</B>
<DD>
(implies
<B>_POSIX_THREADS</B>,
<B>_POSIX_THREAD_SAFE_FUNCTIONS</B>)
<DT id="27"><B>_POSIX_SPIN_LOCKS</B>
<DD>
(implies
<B>_POSIX_THREADS</B>,
<B>_POSIX_THREAD_SAFE_FUNCTIONS</B>)
<DT id="28"><B>_POSIX_THREAD_CPUTIME</B>
<DD>
(implies
<B>_POSIX_TIMERS</B>)
<DT id="29"><B>_POSIX_THREAD_SPORADIC_SERVER</B>
<DD>
(implies
<B>_POSIX_THREAD_PRIORITY_SCHEDULING</B>)
</DL>
<A NAME="lbCH">&nbsp;</A>
<H3>TRACING - --- - ---</H3>
This option implies that the following options
are all defined to 200112L:
<P>
<DL COMPACT>
<DT id="30"><B>_POSIX_TRACE</B>
<DD>
<DT id="31"><B>_POSIX_TRACE_EVENT_FILTER</B>
<DD>
<DT id="32"><B>_POSIX_TRACE_LOG</B>
<DD>
<DT id="33"><B>_POSIX_TRACE_INHERIT</B>
<DD>
</DL>
<A NAME="lbCI">&nbsp;</A>
<H3>STREAMS - _XOPEN_STREAMS - _SC_XOPEN_STREAMS</H3>
The following functions are present:
<P>
<PRE>
<I>fattach</I>()
<I>fdetach</I>()
<I>getmsg</I>()
<I>getpmsg</I>()
<I>ioctl</I>()
<I>isastream</I>()
<I>putmsg</I>()
<I>putpmsg</I>()
</PRE>
<A NAME="lbCJ">&nbsp;</A>
<H3>XSI - _XOPEN_LEGACY - _SC_XOPEN_LEGACY</H3>
Functions included in the legacy option group were previously mandatory,
but are now optional in this version.
The following functions are present:
<P>
<PRE>
<I>bcmp</I>()
<I>bcopy</I>()
<I>bzero</I>()
<I>ecvt</I>()
<I>fcvt</I>()
<I>ftime</I>()
<I>gcvt</I>()
<I>getcwd</I>()
<I>index</I>()
<I>mktemp</I>()
<I>rindex</I>()
<I>utimes</I>()
<I>wcswcs</I>()
</PRE>
<A NAME="lbCK">&nbsp;</A>
<H3>XSI - _XOPEN_UNIX - _SC_XOPEN_UNIX</H3>
The following functions are present:
<P>
<PRE>
<I>mmap</I>()
<I>munmap</I>()
<I>msync</I>()
</PRE>
<P>
This option implies the following options:
<P>
<DL COMPACT>
<DT id="34"><B>_POSIX_FSYNC</B>
<DD>
<DT id="35"><B>_POSIX_MAPPED_FILES</B>
<DD>
<DT id="36"><B>_POSIX_MEMORY_PROTECTION</B>
<DD>
<DT id="37"><B>_POSIX_THREAD_ATTR_STACKADDR</B>
<DD>
<DT id="38"><B>_POSIX_THREAD_ATTR_STACKSIZE</B>
<DD>
<DT id="39"><B>_POSIX_THREAD_PROCESS_SHARED</B>
<DD>
<DT id="40"><B>_POSIX_THREAD_SAFE_FUNCTIONS</B>
<DD>
<DT id="41"><B>_POSIX_THREADS</B>
<DD>
</DL>
<P>
This option may imply the following options from the XSI option groups:
<P>
<DL COMPACT>
<DT id="42">Encryption (<B>_XOPEN_CRYPT</B>)
<DD>
<DT id="43">Realtime (<B>_XOPEN_REALTIME</B>)
<DD>
<DT id="44">Advanced Realtime (<B>ADB</B>)
<DD>
<DT id="45">Realtime Threads (<B>_XOPEN_REALTIME_THREADS</B>)
<DD>
<DT id="46">Advanced Realtime Threads (<B>ADVANCED REALTIME THREADS</B>)
<DD>
<DT id="47">Tracing (<B>TRACING</B>)
<DD>
<DT id="48">XSI Streams (<B>STREAMS</B>)
<DD>
<DT id="49">Legacy (<B>_XOPEN_LEGACY</B>)
<DD>
</DL>
<A NAME="lbCL">&nbsp;</A>
<H2>SEE ALSO</H2>
<B><A HREF="/cgi-bin/man/man2html?3+sysconf">sysconf</A></B>(3),
<B><A HREF="/cgi-bin/man/man2html?7+standards">standards</A></B>(7)
<A NAME="lbCM">&nbsp;</A>
<H2>COLOPHON</H2>
This page is part of release 5.05 of the Linux
<I>man-pages</I>
project.
A description of the project,
information about reporting bugs,
and the latest version of this page,
can be found at
<A HREF="https://www.kernel.org/doc/man-pages/.">https://www.kernel.org/doc/man-pages/.</A>
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="50"><A HREF="#lbAB">NAME</A><DD>
<DT id="51"><A HREF="#lbAC">DESCRIPTION</A><DD>
<DL>
<DT id="52"><A HREF="#lbAD">ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO</A><DD>
<DT id="53"><A HREF="#lbAE">AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO</A><DD>
<DT id="54"><A HREF="#lbAF">BAR - _POSIX_BARRIERS - _SC_BARRIERS</A><DD>
<DT id="55"><A HREF="#lbAG">--- - POSIX_CHOWN_RESTRICTED</A><DD>
<DT id="56"><A HREF="#lbAH">CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION</A><DD>
<DT id="57"><A HREF="#lbAI">CPT - _POSIX_CPUTIME - _SC_CPUTIME</A><DD>
<DT id="58"><A HREF="#lbAJ">--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING</A><DD>
<DT id="59"><A HREF="#lbAK">FSC - _POSIX_FSYNC - _SC_FSYNC</A><DD>
<DT id="60"><A HREF="#lbAL">IP6 - _POSIX_IPV6 - _SC_IPV6</A><DD>
<DT id="61"><A HREF="#lbAM">--- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL</A><DD>
<DT id="62"><A HREF="#lbAN">MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES</A><DD>
<DT id="63"><A HREF="#lbAO">ML - _POSIX_MEMLOCK - _SC_MEMLOCK</A><DD>
<DT id="64"><A HREF="#lbAP">MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE</A><DD>
<DT id="65"><A HREF="#lbAQ">MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION</A><DD>
<DT id="66"><A HREF="#lbAR">MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING</A><DD>
<DT id="67"><A HREF="#lbAS">MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK</A><DD>
<DT id="68"><A HREF="#lbAT">--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS</A><DD>
<DT id="69"><A HREF="#lbAU">--- - _POSIX_NO_TRUNC</A><DD>
<DT id="70"><A HREF="#lbAV">PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO</A><DD>
<DT id="71"><A HREF="#lbAW">PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING</A><DD>
<DT id="72"><A HREF="#lbAX">RS - _POSIX_RAW_SOCKETS</A><DD>
<DT id="73"><A HREF="#lbAY">--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS</A><DD>
<DT id="74"><A HREF="#lbAZ">RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS</A><DD>
<DT id="75"><A HREF="#lbBA">--- - _POSIX_REGEXP - _SC_REGEXP</A><DD>
<DT id="76"><A HREF="#lbBB">--- - _POSIX_SAVED_IDS - _SC_SAVED_IDS</A><DD>
<DT id="77"><A HREF="#lbBC">SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES</A><DD>
<DT id="78"><A HREF="#lbBD">SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS</A><DD>
<DT id="79"><A HREF="#lbBE">--- - _POSIX_SHELL - _SC_SHELL</A><DD>
<DT id="80"><A HREF="#lbBF">SPN - _POSIX_SPAWN - _SC_SPAWN</A><DD>
<DT id="81"><A HREF="#lbBG">SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS</A><DD>
<DT id="82"><A HREF="#lbBH">SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER</A><DD>
<DT id="83"><A HREF="#lbBI">SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO</A><DD>
<DT id="84"><A HREF="#lbBJ">TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR</A><DD>
<DT id="85"><A HREF="#lbBK">TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE</A><DD>
<DT id="86"><A HREF="#lbBL">TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME</A><DD>
<DT id="87"><A HREF="#lbBM">TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT</A><DD>
<DT id="88"><A HREF="#lbBN">TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT</A><DD>
<DT id="89"><A HREF="#lbBO">TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING</A><DD>
<DT id="90"><A HREF="#lbBP">TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED</A><DD>
<DT id="91"><A HREF="#lbBQ">TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS</A><DD>
<DT id="92"><A HREF="#lbBR">TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER</A><DD>
<DT id="93"><A HREF="#lbBS">THR - _POSIX_THREADS - _SC_THREADS</A><DD>
<DT id="94"><A HREF="#lbBT">TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS</A><DD>
<DT id="95"><A HREF="#lbBU">TMR - _POSIX_TIMERS - _SC_TIMERS</A><DD>
<DT id="96"><A HREF="#lbBV">TRC - _POSIX_TRACE - _SC_TRACE</A><DD>
<DT id="97"><A HREF="#lbBW">TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER</A><DD>
<DT id="98"><A HREF="#lbBX">TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT</A><DD>
<DT id="99"><A HREF="#lbBY">TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG</A><DD>
<DT id="100"><A HREF="#lbBZ">TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT</A><DD>
<DT id="101"><A HREF="#lbCA">--- - _POSIX_VDISABLE</A><DD>
</DL>
<DT id="102"><A HREF="#lbCB">X/OPEN SYSTEM INTERFACE EXTENSIONS</A><DD>
<DL>
<DT id="103"><A HREF="#lbCC">XSI - _XOPEN_CRYPT - _SC_XOPEN_CRYPT</A><DD>
<DT id="104"><A HREF="#lbCD">XSI - _XOPEN_REALTIME - _SC_XOPEN_REALTIME</A><DD>
<DT id="105"><A HREF="#lbCE">ADV - --- - ---</A><DD>
<DT id="106"><A HREF="#lbCF">XSI - _XOPEN_REALTIME_THREADS - _SC_XOPEN_REALTIME_THREADS</A><DD>
<DT id="107"><A HREF="#lbCG">ADVANCED REALTIME THREADS - --- - ---</A><DD>
<DT id="108"><A HREF="#lbCH">TRACING - --- - ---</A><DD>
<DT id="109"><A HREF="#lbCI">STREAMS - _XOPEN_STREAMS - _SC_XOPEN_STREAMS</A><DD>
<DT id="110"><A HREF="#lbCJ">XSI - _XOPEN_LEGACY - _SC_XOPEN_LEGACY</A><DD>
<DT id="111"><A HREF="#lbCK">XSI - _XOPEN_UNIX - _SC_XOPEN_UNIX</A><DD>
</DL>
<DT id="112"><A HREF="#lbCL">SEE ALSO</A><DD>
<DT id="113"><A HREF="#lbCM">COLOPHON</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:06:09 GMT, March 31, 2021
</BODY>
</HTML>