NAME¶
posixoptions - optional parts of the POSIX standard
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
sysconf(3),
fpathconf(3),
pathconf(3),
confstr(3) to do this at run
time. From shell scripts one can use
getconf(1). For more detail, see
sysconf(3).
We give the name of the POSIX abbreviation, the option, the name of the
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.
ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO¶
The following advisory functions are present:
posix_fadvise(),
posix_fallocate(),
posix_memalign(),
posix_madvise().
AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO¶
The header
<aio.h> is present. The following functions are present:
aio_cancel(),
aio_error(),
aio_fsync(),
aio_read(),
aio_return(),
aio_suspend(),
aio_write(),
lio_listio().
BAR - _POSIX_BARRIERS - _SC_BARRIERS¶
This option implies the
_POSIX_THREADS and
_POSIX_THREAD_SAFE_FUNCTIONS options. The following functions are
present:
pthread_barrier_destroy(),
pthread_barrier_init(),
pthread_barrier_wait(),
pthread_barrierattr_destroy(),
pthread_barrierattr_init().
--- - 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 functions
chown(),
fchown().
CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION¶
This option implies the
_POSIX_TIMERS option. The following functions are
present:
pthread_condattr_getclock(),
pthread_condattr_setclock(),
clock_nanosleep().
If
CLOCK_REALTIME is changed by the function
clock_settime(), then
this affects all timers set for an absolute time.
CPT - _POSIX_CPUTIME - _SC_CPUTIME¶
The clockID CLOCK_PROCESS_CPUTIME_ID is supported. The initial value of this
clock is 0 for each process. This option implies the
_POSIX_TIMERS
option. The function
clock_getcpuclockid() is present.
--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING¶
This option has been deleted. Not in final XPG6.
FSC - _POSIX_FSYNC - _SC_FSYNC¶
The function
fsync() is present.
IP6 - _POSIX_IPV6 - _SC_IPV6¶
Internet Protocol Version 6 is supported.
--- - _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:
setpgid(),
tcdrain(),
tcflush(),
tcgetpgrp(),
tcsendbreak(),
tcsetattr(),
tcsetpgrp().
MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES¶
Shared memory is supported. The include file
<sys/mman.h> is
present. The following functions are present:
mmap(),
msync(),
munmap().
ML - _POSIX_MEMLOCK - _SC_MEMLOCK¶
Shared memory can be locked into core. The functions
mlockall(),
munlockall() are present.
MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE¶
More precisely, ranges can be locked into core. The functions
mlock(),
munlock() are present.
MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION¶
The function
mprotect() is present.
MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING¶
The include file
<mqueue.h> is present. The following functions are
present:
mq_close(),
mq_getattr(),
mq_notify(),
mq_open(),
mq_receive(),
mq_send(),
mq_setattr(),
mq_unlink().
MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK¶
CLOCK_MONOTONIC is supported. This option implies the
_POSIX_TIMERS option. Affected functions are
aio_suspend(),
clock_getres(),
clock_gettime(),
clock_settime(),
timer_create().
--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS¶
This option has been deleted. Not in final XPG6.
--- - _POSIX_NO_TRUNC¶
If this option is in effect (as it always is under POSIX.1-2001) then pathname
components longer than
NAME_MAX are not truncated, but give an error.
This property may be dependent on the path prefix of the component.
PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO¶
This option says that one can specify priorities for asynchronous I/O. This
affects the functions
aio_read(),
aio_write().
PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING¶
The include file
<sched.h> is present. The following functions are
present:
sched_get_priority_max(),
sched_get_priority_min(),
sched_getparam(),
sched_getscheduler(),
sched_rr_get_interval(),
sched_setparam(),
sched_setscheduler(),
sched_yield().
If also
_POSIX_SPAWN is in effect, then the following functions are
present:
posix_spawnattr_getschedparam(),
posix_spawnattr_getschedpolicy(),
posix_spawnattr_setschedparam(),
posix_spawnattr_setschedpolicy().
RS - _POSIX_RAW_SOCKETS¶
Raw sockets are supported. Affected functions are
getsockopt(),
setsockopt().
--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS¶
This option implies the
_POSIX_THREADS option. Conversely, under
POSIX.1-2001 the
_POSIX_THREADS option implies this option.
The following functions are present:
pthread_rwlock_destroy(),
pthread_rwlock_init(),
pthread_rwlock_rdlock(),
pthread_rwlock_tryrdlock(),
pthread_rwlock_trywrlock(),
pthread_rwlock_unlock(),
pthread_rwlock_wrlock(),
pthread_rwlockattr_destroy(),
pthread_rwlockattr_init().
RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS¶
Realtime signals are supported. The following functions are present:
sigqueue(),
sigtimedwait(),
sigwaitinfo().
--- - _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:
regcomp(),
regerror(),
regexec(),
regfree().
--- - _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. Affected functions are
exec(),
kill(),
seteuid(),
setegid(),
setgid(),
setuid().
SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES¶
The include file
<semaphore.h> is present. The following functions
are present:
sem_close(),
sem_destroy(),
sem_getvalue(),
sem_init(),
sem_open(),
sem_post(),
sem_trywait(),
sem_unlink(),
sem_wait().
SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS¶
The following functions are present:
mmap(),
munmap(),
shm_open(),
shm_unlink().
--- - _POSIX_SHELL - _SC_SHELL¶
If this option is in effect (as it always is under POSIX.1-2001), the function
system() is present.
SPN - _POSIX_SPAWN - _SC_SPAWN¶
This option describes support for process creation in a context where it is
difficult or impossible to use
fork(), for example, because no MMU is
present. If
_POSIX_SPAWN is in effect, then the include file
<spawn.h> and the following functions are present:
posix_spawn(),
posix_spawn_file_actions_addclose(),
posix_spawn_file_actions_adddup2(),
posix_spawn_file_actions_addopen(),
posix_spawn_file_actions_destroy(),
posix_spawn_file_actions_init(),
posix_spawnattr_destroy(),
posix_spawnattr_getsigdefault(),
posix_spawnattr_getflags(),
posix_spawnattr_getpgroup(),
posix_spawnattr_getsigmask(),
posix_spawnattr_init(),
posix_spawnattr_setsigdefault(),
posix_spawnattr_setflags(),
posix_spawnattr_setpgroup(),
posix_spawnattr_setsigmask(),
posix_spawnp().
If also
_POSIX_PRIORITY_SCHEDULING is in effect, then the following
functions are present:
posix_spawnattr_getschedparam(),
posix_spawnattr_getschedpolicy(),
posix_spawnattr_setschedparam(),
posix_spawnattr_setschedpolicy().
SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS¶
This option implies the
_POSIX_THREADS and
_POSIX_THREAD_SAFE_FUNCTIONS options. The following functions are
present:
pthread_spin_destroy(),
pthread_spin_init(),
pthread_spin_lock(),
pthread_spin_trylock(),
pthread_spin_unlock().
SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER¶
The scheduling policy
SCHED_SPORADIC is supported. This option implies
the
_POSIX_PRIORITY_SCHEDULING option. Affected functions are
sched_setparam(),
sched_setscheduler().
SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO¶
Affected functions are
open(),
msync(),
fsync(),
fdatasync().
TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR¶
Affected functions are
pthread_attr_getstack(),
pthread_attr_getstackaddr(),
pthread_attr_setstack(),
pthread_attr_setstackaddr().
TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE¶
Affected functions are
pthread_attr_getstack(),
pthread_attr_getstacksize(),
pthread_attr_setstack(),
pthread_attr_setstacksize().
TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME¶
The clockID CLOCK_THREAD_CPUTIME_ID is supported. This option implies the
_POSIX_TIMERS option. Affected functions are
pthread_getcpuclockid(),
clock_getres(),
clock_gettime(),
clock_settime(),
timer_create().
TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT¶
Affected functions are
pthread_mutexattr_getprotocol(),
pthread_mutexattr_setprotocol().
TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT¶
Affected functions are
pthread_mutex_getprioceiling(),
pthread_mutex_setprioceiling(),
pthread_mutexattr_getprioceiling(),
pthread_mutexattr_getprotocol(),
pthread_mutexattr_setprioceiling(),
pthread_mutexattr_setprotocol().
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. Affected functions are
pthread_attr_getinheritsched(),
pthread_attr_getschedpolicy(),
pthread_attr_getscope(),
pthread_attr_setinheritsched(),
pthread_attr_setschedpolicy(),
pthread_attr_setscope(),
pthread_getschedparam(),
pthread_setschedparam(),
pthread_setschedprio().
TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED¶
Affected functions are
pthread_barrierattr_getpshared(),
pthread_barrierattr_setpshared(),
pthread_condattr_getpshared(),
pthread_condattr_setpshared(),
pthread_mutexattr_getpshared(),
pthread_mutexattr_setpshared(),
pthread_rwlockattr_getpshared(),
pthread_rwlockattr_setpshared().
TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS¶
Affected functions are
readdir_r(),
getgrgid_r(),
getgrnam_r(),
getpwnam_r(),
getpwuid_r(),
flockfile(),
ftrylockfile(),
funlockfile(),
getc_unlocked(),
getchar_unlocked(),
putc_unlocked(),
putchar_unlocked(),
rand_r(),
strerror_r(),
strtok_r(),
asctime_r(),
ctime_r(),
gmtime_r(),
localtime_r().
TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER¶
This option implies the
_POSIX_THREAD_PRIORITY_SCHEDULING option.
Affected functions are
sched_getparam(),
sched_setparam(),
sched_setscheduler().
THR - _POSIX_THREADS - _SC_THREADS¶
Basic support for POSIX threads is available. The following functions are
present:
pthread_atfork(),
pthread_attr_destroy(),
pthread_attr_getdetachstate(),
pthread_attr_getschedparam(),
pthread_attr_init(),
pthread_attr_setdetachstate(),
pthread_attr_setschedparam(),
pthread_cancel(),
pthread_cleanup_push(),
pthread_cleanup_pop(),
pthread_cond_broadcast(),
pthread_cond_destroy(),
pthread_cond_init(),
pthread_cond_signal(),
pthread_cond_timedwait(),
pthread_cond_wait(),
pthread_condattr_destroy(),
pthread_condattr_init(),
pthread_create(),
pthread_detach(),
pthread_equal(),
pthread_exit(),
pthread_getspecific(),
pthread_join(),
pthread_key_create(),
pthread_key_delete(),
pthread_mutex_destroy(),
pthread_mutex_init(),
pthread_mutex_lock(),
pthread_mutex_trylock(),
pthread_mutex_unlock(),
pthread_mutexattr_destroy(),
pthread_mutexattr_init(),
pthread_once(),
pthread_rwlock_destroy(),
pthread_rwlock_init(),
pthread_rwlock_rdlock(),
pthread_rwlock_tryrdlock(),
pthread_rwlock_trywrlock(),
pthread_rwlock_unlock(),
pthread_rwlock_wrlock(),
pthread_rwlockattr_destroy(),
pthread_rwlockattr_init(),
pthread_self(),
pthread_setcancelstate(),
pthread_setcanceltype(),
pthread_setspecific(),
pthread_testcancel().
TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS¶
The following functions are present:
mq_timedreceive(),
mq_timedsend(),
pthread_mutex_timedlock(),
pthread_rwlock_timedrdlock(),
pthread_rwlock_timedwrlock(),
sem_timedwait(),
posix_trace_timedgetnext_event().
TMR - _POSIX_TIMERS - _SC_TIMERS¶
The following functions are present:
clock_getres(),
clock_gettime(),
clock_settime(),
nanosleep(),
timer_create(),
timer_delete(),
timer_gettime(),
timer_getoverrun(),
timer_settime().
TRC - _POSIX_TRACE - _SC_TRACE¶
POSIX tracing is available. The following functions are present:
posix_trace_attr_destroy(),
posix_trace_attr_getclockres(),
posix_trace_attr_getcreatetime(),
posix_trace_attr_getgenversion(),
posix_trace_attr_getmaxdatasize(),
posix_trace_attr_getmaxsystemeventsize(),
posix_trace_attr_getmaxusereventsize(),
posix_trace_attr_getname(),
posix_trace_attr_getstreamfullpolicy(),
posix_trace_attr_getstreamsize(),
posix_trace_attr_init(),
posix_trace_attr_setmaxdatasize(),
posix_trace_attr_setname(),
posix_trace_attr_setstreamsize(),
posix_trace_attr_setstreamfullpolicy(),
posix_trace_clear(),
posix_trace_create(),
posix_trace_event(),
posix_trace_eventid_equal(),
posix_trace_eventid_get_name(),
posix_trace_eventid_open(),
posix_trace_eventtypelist_getnext_id(),
posix_trace_eventtypelist_rewind(),
posix_trace_flush(),
posix_trace_get_attr(),
posix_trace_get_status(),
posix_trace_getnext_event(),
posix_trace_shutdown(),
posix_trace_start(),
posix_trace_stop(),
posix_trace_trygetnext_event().
TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER¶
This option implies the
_POSIX_TRACE option. The following functions are
present:
posix_trace_eventset_add(),
posix_trace_eventset_del(),
posix_trace_eventset_empty(),
posix_trace_eventset_fill(),
posix_trace_eventset_ismember(),
posix_trace_get_filter(),
posix_trace_set_filter(),
posix_trace_trid_eventid_open().
TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT¶
Tracing children of the traced process is supported. This option implies the
_POSIX_TRACE option. The following functions are present:
posix_trace_attr_getinherited(),
posix_trace_attr_setinherited().
TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG¶
This option implies the
_POSIX_TRACE option. The following functions are
present:
posix_trace_attr_getlogfullpolicy(),
posix_trace_attr_getlogsize(),
posix_trace_attr_setlogfullpolicy(),
posix_trace_attr_setlogsize(),
posix_trace_close(),
posix_trace_create_withlog(),
posix_trace_open(),
posix_trace_rewind().
TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT¶
The following functions are present:
posix_mem_offset(),
posix_typed_mem_get_info(),
posix_typed_mem_open().
--- - _POSIX_VDISABLE¶
Always present (probably 0). Value to set a changeable special control character
to indicate that it is disabled.
XOPEN EXTENSIONS¶
_XOPEN_CRYPT,
_XOPEN_LEGACY,
_XOPEN_REALTIME,
_XOPEN_REALTIME_THREADS,
_XOPEN_UNIX.
SEE ALSO¶
sysconf(3),
standards(7)
COLOPHON¶
This page is part of release 3.74 of the Linux
man-pages project. A
description of the project, information about reporting bugs, and the latest
version of this page, can be found at
http://www.kernel.org/doc/man-pages/.