blob: 1adfb7aea75c6778fdc7212120905e0702f06227 [file] [log] [blame]
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
.TH POSIXOPTIONS 7 2018-04-30 "" "Linux Programmer's Manual"
.SH NAME
posixoptions \- optional parts of the POSIX standard
.SH DESCRIPTION
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
.BR sysconf (3),
.BR fpathconf (3),
.BR pathconf (3),
.BR confstr (3)
to do this at run time.
From shell scripts one can use
.BR getconf (1).
For more detail, see
.BR sysconf (3).
.PP
We give the name of the POSIX abbreviation, the option, the name of the
.BR sysconf (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.
.SS ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO
The following advisory functions are present:
.PP
.nf
.in +4n
.IR posix_fadvise ()
.IR posix_fallocate ()
.IR posix_memalign ()
.IR posix_madvise ()
.in
.fi
.SS AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO
The header
.I <aio.h>
is present.
The following functions are present:
.PP
.nf
.in +4n
.IR aio_cancel ()
.IR aio_error ()
.IR aio_fsync ()
.IR aio_read ()
.IR aio_return ()
.IR aio_suspend ()
.IR aio_write ()
.IR lio_listio ()
.in
.fi
.SS BAR - _POSIX_BARRIERS - _SC_BARRIERS
This option implies the
.B _POSIX_THREADS
and
.B _POSIX_THREAD_SAFE_FUNCTIONS
options.
The following functions are present:
.PP
.nf
.in +4n
.IR pthread_barrier_destroy ()
.IR pthread_barrier_init ()
.IR pthread_barrier_wait ()
.IR pthread_barrierattr_destroy ()
.IR pthread_barrierattr_init ()
.in
.fi
.\" .SS BE
.\" Batch environment.
.\" .SS CD
.\" C development.
.SS --- - POSIX_CHOWN_RESTRICTED
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
.PP
.nf
.in +4n
.IR chown ()
.IR fchown ()
.in
.fi
.\" What about lchown() ?
.SS CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION
This option implies the
.B _POSIX_TIMERS
option.
The following functions are present:
.PP
.nf
.in +4n
.IR pthread_condattr_getclock ()
.IR pthread_condattr_setclock ()
.IR clock_nanosleep ()
.in
.fi
.PP
If
.B CLOCK_REALTIME
is changed by the function
.IR clock_settime (),
then this affects all timers set for an absolute time.
.SS CPT - _POSIX_CPUTIME - _SC_CPUTIME
The
.B CLOCK_PROCESS_CPUTIME_ID
clock ID is supported.
The initial value of this clock is 0 for each process.
This option implies the
.B _POSIX_TIMERS
option.
The function
.IR clock_getcpuclockid ()
is present.
.\" .SS FD
.\" Fortran development
.\" .SS FR
.\" Fortran runtime
.SS --- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING
This option has been deleted.
Not in final XPG6.
.SS FSC - _POSIX_FSYNC - _SC_FSYNC
The function
.IR fsync ()
is present.
.SS IP6 - _POSIX_IPV6 - _SC_IPV6
Internet Protocol Version 6 is supported.
.SS --- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL
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:
.PP
.nf
.in +4n
.IR setpgid ()
.IR tcdrain ()
.IR tcflush ()
.IR tcgetpgrp ()
.IR tcsendbreak ()
.IR tcsetattr ()
.IR tcsetpgrp ()
.in
.fi
.SS MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES
Shared memory is supported.
The include file
.I <sys/mman.h>
is present.
The following functions are present:
.PP
.nf
.in +4n
.IR mmap ()
.IR msync ()
.IR munmap ()
.in
.fi
.SS ML - _POSIX_MEMLOCK - _SC_MEMLOCK
Shared memory can be locked into core.
The following functions are present:
.PP
.nf
.in +4n
.IR mlockall ()
.IR munlockall ()
.in
.fi
.SS MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE
More precisely, ranges can be locked into core.
The following functions are present:
.PP
.nf
.in +4n
.IR mlock ()
.IR munlock ()
.in
.fi
.SS MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION
The function
.IR mprotect ()
is present.
.SS MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING
The include file
.I <mqueue.h>
is present.
The following functions are present:
.PP
.nf
.in +4n
.IR mq_close ()
.IR mq_getattr ()
.IR mq_notify ()
.IR mq_open ()
.IR mq_receive ()
.IR mq_send ()
.IR mq_setattr ()
.IR mq_unlink ()
.in
.fi
.SS MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK
.B CLOCK_MONOTONIC
is supported.
This option implies the
.B _POSIX_TIMERS
option.
The following functions are affected:
.PP
.nf
.in +4n
.IR aio_suspend ()
.IR clock_getres ()
.IR clock_gettime ()
.IR clock_settime ()
.IR timer_create ()
.in
.fi
.SS --- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS
This option has been deleted.
Not in final XPG6.
.\" .SS MX
.\" IEC 60559 Floating-Point Option.
.SS --- - _POSIX_NO_TRUNC
If this option is in effect (as it always is under POSIX.1-2001),
then pathname components longer than
.B NAME_MAX
are not truncated,
but give an error.
This property may be dependent on the path prefix of the component.
.SS PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO
This option says that one can specify priorities for asynchronous I/O.
This affects the functions
.PP
.nf
.in +4n
.IR aio_read ()
.IR aio_write ()
.in
.fi
.SS PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING
The include file
.I <sched.h>
is present.
The following functions are present:
.PP
.nf
.in +4n
.IR sched_get_priority_max ()
.IR sched_get_priority_min ()
.IR sched_getparam ()
.IR sched_getscheduler ()
.IR sched_rr_get_interval ()
.IR sched_setparam ()
.IR sched_setscheduler ()
.IR sched_yield ()
.in
.fi
.PP
If also
.B _POSIX_SPAWN
is in effect, then the following functions are present:
.PP
.nf
.in +4n
.IR posix_spawnattr_getschedparam ()
.IR posix_spawnattr_getschedpolicy ()
.IR posix_spawnattr_setschedparam ()
.IR posix_spawnattr_setschedpolicy ()
.in
.fi
.SS RS - _POSIX_RAW_SOCKETS
Raw sockets are supported.
The following functions are affected:
.PP
.nf
.in +4n
.IR getsockopt ()
.IR setsockopt ()
.in
.fi
.SS --- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS
This option implies the
.B _POSIX_THREADS
option.
Conversely,
under POSIX.1-2001 the
.B _POSIX_THREADS
option implies this option.
.PP
The following functions are present:
.PP
.in +4n
.nf
.IR pthread_rwlock_destroy ()
.IR pthread_rwlock_init ()
.IR pthread_rwlock_rdlock ()
.IR pthread_rwlock_tryrdlock ()
.IR pthread_rwlock_trywrlock ()
.IR pthread_rwlock_unlock ()
.IR pthread_rwlock_wrlock ()
.IR pthread_rwlockattr_destroy ()
.IR pthread_rwlockattr_init ()
.in
.fi
.SS RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS
Realtime signals are supported.
The following functions are present:
.PP
.nf
.in +4n
.IR sigqueue ()
.IR sigtimedwait ()
.IR sigwaitinfo ()
.in
.fi
.SS --- - _POSIX_REGEXP - _SC_REGEXP
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:
.PP
.nf
.in +4n
.IR regcomp ()
.IR regerror ()
.IR regexec ()
.IR regfree ()
.in
.fi
.SS --- - _POSIX_SAVED_IDS - _SC_SAVED_IDS
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:
.PP
.nf
.in +4n
.IR exec ()
.IR kill ()
.IR seteuid ()
.IR setegid ()
.IR setgid ()
.IR setuid ()
.in
.fi
.\" .SS SD
.\" Software development
.SS SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES
The include file
.I <semaphore.h>
is present.
The following functions are present:
.PP
.nf
.in +4n
.IR sem_close ()
.IR sem_destroy ()
.IR sem_getvalue ()
.IR sem_init ()
.IR sem_open ()
.IR sem_post ()
.IR sem_trywait ()
.IR sem_unlink ()
.IR sem_wait ()
.in
.fi
.SS SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS
The following functions are present:
.PP
.nf
.in +4n
.IR mmap ()
.IR munmap ()
.IR shm_open ()
.IR shm_unlink ()
.in
.fi
.SS --- - _POSIX_SHELL - _SC_SHELL
If this option is in effect (as it always is under POSIX.1-2001),
the function
.IR system ()
is present.
.SS SPN - _POSIX_SPAWN - _SC_SPAWN
This option describes support for process creation in a context where
it is difficult or impossible to use
.IR fork (),
for example, because no MMU is present.
.PP
If
.B _POSIX_SPAWN
is in effect, then the include file
.I <spawn.h>
and the following functions are present:
.PP
.nf
.in +4n
.IR posix_spawn ()
.IR posix_spawn_file_actions_addclose ()
.IR posix_spawn_file_actions_adddup2 ()
.IR posix_spawn_file_actions_addopen ()
.IR posix_spawn_file_actions_destroy ()
.IR posix_spawn_file_actions_init ()
.IR posix_spawnattr_destroy ()
.IR posix_spawnattr_getsigdefault ()
.IR posix_spawnattr_getflags ()
.IR posix_spawnattr_getpgroup ()
.IR posix_spawnattr_getsigmask ()
.IR posix_spawnattr_init ()
.IR posix_spawnattr_setsigdefault ()
.IR posix_spawnattr_setflags ()
.IR posix_spawnattr_setpgroup ()
.IR posix_spawnattr_setsigmask ()
.IR posix_spawnp ()
.in
.fi
.PP
If also
.B _POSIX_PRIORITY_SCHEDULING
is in effect, then
the following functions are present:
.PP
.nf
.in +4n
.IR posix_spawnattr_getschedparam ()
.IR posix_spawnattr_getschedpolicy ()
.IR posix_spawnattr_setschedparam ()
.IR posix_spawnattr_setschedpolicy ()
.in
.fi
.SS SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS
This option implies the
.B _POSIX_THREADS
and
.B _POSIX_THREAD_SAFE_FUNCTIONS
options.
The following functions are present:
.PP
.nf
.in +4n
.IR pthread_spin_destroy ()
.IR pthread_spin_init ()
.IR pthread_spin_lock ()
.IR pthread_spin_trylock ()
.IR pthread_spin_unlock ()
.in -4n
.fi
.SS SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER
The scheduling policy
.B SCHED_SPORADIC
is supported.
This option implies the
.B _POSIX_PRIORITY_SCHEDULING
option.
The following functions are affected:
.PP
.nf
.in +4n
.IR sched_setparam ()
.IR sched_setscheduler ()
.in
.fi
.SS SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO
The following functions are affected:
.PP
.nf
.in +4n
.IR open ()
.IR msync ()
.IR fsync ()
.IR fdatasync ()
.in
.fi
.SS TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR
The following functions are affected:
.PP
.nf
.in +4n
.IR pthread_attr_getstack ()
.IR pthread_attr_getstackaddr ()
.IR pthread_attr_setstack ()
.IR pthread_attr_setstackaddr ()
.in
.fi
.SS TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE
The following functions are affected:
.PP
.nf
.in +4n
.IR pthread_attr_getstack ()
.IR pthread_attr_getstacksize ()
.IR pthread_attr_setstack ()
.IR pthread_attr_setstacksize ()
.in
.fi
.SS TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME
The clockID CLOCK_THREAD_CPUTIME_ID is supported.
This option implies the
.B _POSIX_TIMERS
option.
The following functions are affected:
.PP
.nf
.in +4n
.IR pthread_getcpuclockid ()
.IR clock_getres ()
.IR clock_gettime ()
.IR clock_settime ()
.IR timer_create ()
.in
.fi
.SS TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT
The following functions are affected:
.PP
.nf
.in +4n
.IR pthread_mutexattr_getprotocol ()
.IR pthread_mutexattr_setprotocol ()
.in
.fi
.SS TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT
The following functions are affected:
.PP
.nf
.in +4n
.IR pthread_mutex_getprioceiling ()
.IR pthread_mutex_setprioceiling ()
.IR pthread_mutexattr_getprioceiling ()
.IR pthread_mutexattr_getprotocol ()
.IR pthread_mutexattr_setprioceiling ()
.IR pthread_mutexattr_setprotocol ()
.in
.fi
.SS TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING
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:
.PP
.nf
.in +4n
.IR pthread_attr_getinheritsched ()
.IR pthread_attr_getschedpolicy ()
.IR pthread_attr_getscope ()
.IR pthread_attr_setinheritsched ()
.IR pthread_attr_setschedpolicy ()
.IR pthread_attr_setscope ()
.IR pthread_getschedparam ()
.IR pthread_setschedparam ()
.IR pthread_setschedprio ()
.in
.fi
.SS TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED
The following functions are affected:
.PP
.nf
.in +4n
.IR pthread_barrierattr_getpshared ()
.IR pthread_barrierattr_setpshared ()
.IR pthread_condattr_getpshared ()
.IR pthread_condattr_setpshared ()
.IR pthread_mutexattr_getpshared ()
.IR pthread_mutexattr_setpshared ()
.IR pthread_rwlockattr_getpshared ()
.IR pthread_rwlockattr_setpshared ()
.in
.fi
.SS TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS
The following functions are affected:
.PP
.nf
.in +4n
.IR readdir_r ()
.IR getgrgid_r ()
.IR getgrnam_r ()
.IR getpwnam_r ()
.IR getpwuid_r ()
.IR flockfile ()
.IR ftrylockfile ()
.IR funlockfile ()
.IR getc_unlocked ()
.IR getchar_unlocked ()
.IR putc_unlocked ()
.IR putchar_unlocked ()
.IR rand_r ()
.IR strerror_r ()
.IR strtok_r ()
.IR asctime_r ()
.IR ctime_r ()
.IR gmtime_r ()
.IR localtime_r ()
.in
.fi
.SS TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER
This option implies the
.B _POSIX_THREAD_PRIORITY_SCHEDULING
option.
The following functions are affected:
.PP
.nf
.in +4n
.IR sched_getparam ()
.IR sched_setparam ()
.IR sched_setscheduler ()
.in
.fi
.SS THR - _POSIX_THREADS - _SC_THREADS
Basic support for POSIX threads is available.
The following functions are present:
.PP
.nf
.in +4n
.IR pthread_atfork ()
.IR pthread_attr_destroy ()
.IR pthread_attr_getdetachstate ()
.IR pthread_attr_getschedparam ()
.IR pthread_attr_init ()
.IR pthread_attr_setdetachstate ()
.IR pthread_attr_setschedparam ()
.IR pthread_cancel ()
.IR pthread_cleanup_push ()
.IR pthread_cleanup_pop ()
.IR pthread_cond_broadcast ()
.IR pthread_cond_destroy ()
.IR pthread_cond_init ()
.IR pthread_cond_signal ()
.IR pthread_cond_timedwait ()
.IR pthread_cond_wait ()
.IR pthread_condattr_destroy ()
.IR pthread_condattr_init ()
.IR pthread_create ()
.IR pthread_detach ()
.IR pthread_equal ()
.IR pthread_exit ()
.IR pthread_getspecific ()
.IR pthread_join ()
.IR pthread_key_create ()
.IR pthread_key_delete ()
.IR pthread_mutex_destroy ()
.IR pthread_mutex_init ()
.IR pthread_mutex_lock ()
.IR pthread_mutex_trylock ()
.IR pthread_mutex_unlock ()
.IR pthread_mutexattr_destroy ()
.IR pthread_mutexattr_init ()
.IR pthread_once ()
.IR pthread_rwlock_destroy ()
.IR pthread_rwlock_init ()
.IR pthread_rwlock_rdlock ()
.IR pthread_rwlock_tryrdlock ()
.IR pthread_rwlock_trywrlock ()
.IR pthread_rwlock_unlock ()
.IR pthread_rwlock_wrlock ()
.IR pthread_rwlockattr_destroy ()
.IR pthread_rwlockattr_init ()
.IR pthread_self ()
.IR pthread_setcancelstate ()
.IR pthread_setcanceltype ()
.IR pthread_setspecific ()
.IR pthread_testcancel ()
.in
.fi
.SS TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS
The following functions are present:
.PP
.nf
.in +4n
.IR mq_timedreceive ()
.IR mq_timedsend ()
.IR pthread_mutex_timedlock ()
.IR pthread_rwlock_timedrdlock ()
.IR pthread_rwlock_timedwrlock ()
.IR sem_timedwait ()
.IR posix_trace_timedgetnext_event ()
.in
.fi
.SS TMR - _POSIX_TIMERS - _SC_TIMERS
The following functions are present:
.PP
.nf
.in +4n
.IR clock_getres ()
.IR clock_gettime ()
.IR clock_settime ()
.IR nanosleep ()
.IR timer_create ()
.IR timer_delete ()
.IR timer_gettime ()
.IR timer_getoverrun ()
.IR timer_settime ()
.in
.fi
.SS TRC - _POSIX_TRACE - _SC_TRACE
POSIX tracing is available.
The following functions are present:
.PP
.nf
.in +4n
.IR posix_trace_attr_destroy ()
.IR posix_trace_attr_getclockres ()
.IR posix_trace_attr_getcreatetime ()
.IR posix_trace_attr_getgenversion ()
.IR posix_trace_attr_getmaxdatasize ()
.IR posix_trace_attr_getmaxsystemeventsize ()
.IR posix_trace_attr_getmaxusereventsize ()
.IR posix_trace_attr_getname ()
.IR posix_trace_attr_getstreamfullpolicy ()
.IR posix_trace_attr_getstreamsize ()
.IR posix_trace_attr_init ()
.IR posix_trace_attr_setmaxdatasize ()
.IR posix_trace_attr_setname ()
.IR posix_trace_attr_setstreamsize ()
.IR posix_trace_attr_setstreamfullpolicy ()
.IR posix_trace_clear ()
.IR posix_trace_create ()
.IR posix_trace_event ()
.IR posix_trace_eventid_equal ()
.IR posix_trace_eventid_get_name ()
.IR posix_trace_eventid_open ()
.IR posix_trace_eventtypelist_getnext_id ()
.IR posix_trace_eventtypelist_rewind ()
.IR posix_trace_flush ()
.IR posix_trace_get_attr ()
.IR posix_trace_get_status ()
.IR posix_trace_getnext_event ()
.IR posix_trace_shutdown ()
.IR posix_trace_start ()
.IR posix_trace_stop ()
.IR posix_trace_trygetnext_event ()
.in
.fi
.SS TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER
This option implies the
.B _POSIX_TRACE
option.
The following functions are present:
.PP
.nf
.in +4n
.IR posix_trace_eventset_add ()
.IR posix_trace_eventset_del ()
.IR posix_trace_eventset_empty ()
.IR posix_trace_eventset_fill ()
.IR posix_trace_eventset_ismember ()
.IR posix_trace_get_filter ()
.IR posix_trace_set_filter ()
.IR posix_trace_trid_eventid_open ()
.in
.fi
.SS TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT
Tracing children of the traced process is supported.
This option implies the
.B _POSIX_TRACE
option.
The following functions are present:
.PP
.nf
.in +4n
.IR posix_trace_attr_getinherited ()
.IR posix_trace_attr_setinherited ()
.in
.fi
.SS TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG
This option implies the
.B _POSIX_TRACE
option.
The following functions are present:
.PP
.nf
.in +4n
.IR posix_trace_attr_getlogfullpolicy ()
.IR posix_trace_attr_getlogsize ()
.IR posix_trace_attr_setlogfullpolicy ()
.IR posix_trace_attr_setlogsize ()
.IR posix_trace_close ()
.IR posix_trace_create_withlog ()
.IR posix_trace_open ()
.IR posix_trace_rewind ()
.in
.fi
.SS TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT
The following functions are present:
.PP
.nf
.in +4n
.IR posix_mem_offset ()
.IR posix_typed_mem_get_info ()
.IR posix_typed_mem_open ()
.in
.fi
.SS --- - _POSIX_VDISABLE
Always present (probably 0).
Value to set a changeable special control
character to indicate that it is disabled.
.SH X/OPEN SYSTEM INTERFACE EXTENSIONS
.SS XSI - _XOPEN_CRYPT - _SC_XOPEN_CRYPT
The following functions are present:
.PP
.nf
.in +4n
.IR crypt ()
.IR encrypt ()
.IR setkey ()
.SS XSI - _XOPEN_REALTIME - _SC_XOPEN_REALTIME
This option implies the following options:
.PP
.PD 0
.TP
.BR _POSIX_ASYNCHRONOUS_IO == 200112L
.TP
.B _POSIX_FSYNC
.TP
.B _POSIX_MAPPED_FILES
.TP
.BR _POSIX_MEMLOCK == 200112L
.TP
.BR _POSIX_MEMLOCK_RANGE == 200112L
.TP
.B _POSIX_MEMORY_PROTECTION
.TP
.BR _POSIX_MESSAGE_PASSING == 200112L
.TP
.B _POSIX_PRIORITIZED_IO
.TP
.BR _POSIX_PRIORITY_SCHEDULING == 200112L
.TP
.BR _POSIX_REALTIME_SIGNALS == 200112L
.TP
.BR _POSIX_SEMAPHORES == 200112L
.TP
.BR _POSIX_SHARED_MEMORY_OBJECTS == 200112L
.TP
.BR _POSIX_SYNCHRONIZED_IO == 200112L
.TP
.BR _POSIX_TIMERS == 200112L
.PD
.\"
.SS ADV - --- - ---
The Advanced Realtime option group implies that the following options
are all defined to 200112L:
.PP
.PD 0
.TP
.B _POSIX_ADVISORY_INFO
.TP
.B _POSIX_CLOCK_SELECTION
(implies
.BR _POSIX_TIMERS )
.TP
.B _POSIX_CPUTIME
(implies
.BR _POSIX_TIMERS )
.TP
.B _POSIX_MONOTONIC_CLOCK
(implies
.BR _POSIX_TIMERS )
.TP
.B _POSIX_SPAWN
.TP
.B _POSIX_SPORADIC_SERVER
(implies
.BR _POSIX_PRIORITY_SCHEDULING )
.TP
.B _POSIX_TIMEOUTS
.TP
.B _POSIX_TYPED_MEMORY_OBJECTS
.PD
.\"
.SS XSI - _XOPEN_REALTIME_THREADS - _SC_XOPEN_REALTIME_THREADS
This option implies that the following options
are all defined to 200112L:
.PP
.PD 0
.TP
.B _POSIX_THREAD_PRIO_INHERIT
.TP
.B _POSIX_THREAD_PRIO_PROTECT
.TP
.B _POSIX_THREAD_PRIORITY_SCHEDULING
.PD
.SS ADVANCED REALTIME THREADS - --- - ---
This option implies that the following options
are all defined to 200112L:
.PP
.PD 0
.TP
.B _POSIX_BARRIERS
(implies
.BR _POSIX_THREADS ,
.BR _POSIX_THREAD_SAFE_FUNCTIONS )
.TP
.B _POSIX_SPIN_LOCKS
(implies
.BR _POSIX_THREADS ,
.BR _POSIX_THREAD_SAFE_FUNCTIONS )
.TP
.B _POSIX_THREAD_CPUTIME
(implies
.BR _POSIX_TIMERS )
.TP
.B _POSIX_THREAD_SPORADIC_SERVER
(implies
.BR _POSIX_THREAD_PRIORITY_SCHEDULING )
.PD
.\"
.SS TRACING - --- - ---
This option implies that the following options
are all defined to 200112L:
.PP
.PD 0
.TP
.B _POSIX_TRACE
.TP
.B _POSIX_TRACE_EVENT_FILTER
.TP
.B _POSIX_TRACE_LOG
.TP
.B _POSIX_TRACE_INHERIT
.PD
.SS STREAMS - _XOPEN_STREAMS - _SC_XOPEN_STREAMS
The following functions are present:
.PP
.nf
.in +4n
.IR fattach ()
.IR fdetach ()
.IR getmsg ()
.IR getpmsg ()
.IR ioctl ()
.IR isastream ()
.IR putmsg ()
.IR putpmsg ()
.in
.fi
.SS XSI - _XOPEN_LEGACY - _SC_XOPEN_LEGACY
Functions included in the legacy option group were previously mandatory,
but are now optional in this version.
The following functions are present:
.PP
.nf
.in +4n
.IR bcmp ()
.IR bcopy ()
.IR bzero ()
.IR ecvt ()
.IR fcvt ()
.IR ftime ()
.IR gcvt ()
.IR getcwd ()
.IR index ()
.IR mktemp ()
.IR rindex ()
.IR utimes ()
.IR wcswcs ()
.in
.fi
.SS XSI - _XOPEN_UNIX - _SC_XOPEN_UNIX
The following functions are present:
.PP
.nf
.in +4n
.IR mmap ()
.IR munmap ()
.IR msync ()
.in
.fi
.PP
This option implies the following options:
.PP
.PD 0
.TP
.B _POSIX_FSYNC
.TP
.B _POSIX_MAPPED_FILES
.TP
.B _POSIX_MEMORY_PROTECTION
.TP
.B _POSIX_THREAD_ATTR_STACKADDR
.TP
.B _POSIX_THREAD_ATTR_STACKSIZE
.TP
.B _POSIX_THREAD_PROCESS_SHARED
.TP
.B _POSIX_THREAD_SAFE_FUNCTIONS
.TP
.B _POSIX_THREADS
.PD
.PP
This option may imply the following options from the XSI option groups:
.PP
.PD 0
.TP
.RB "Encryption (" _XOPEN_CRYPT )
.TP
.RB "Realtime (" _XOPEN_REALTIME )
.TP
.RB "Advanced Realtime (" ADB )
.TP
.RB "Realtime Threads (" _XOPEN_REALTIME_THREADS )
.TP
.RB "Advanced Realtime Threads (" "ADVANCED REALTIME THREADS" )
.TP
.RB "Tracing (" TRACING )
.TP
.RB "XSI Streams (" STREAMS )
.TP
.RB "Legacy (" _XOPEN_LEGACY )
.PD
.SH SEE ALSO
.BR sysconf (3),
.BR standards (7)