posixoptions — optional parts of the POSIX standard
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
()
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.
The advisory functions
posix_fadvise
(),posix_fallocate
(),posix_memalign
(),posix_madvise
()
are present.
The header <
aio.h
>
is
present. The functions
aio_cancel
(),aio_error
(),aio_fsync
(),aio_read
(),aio_return
(),aio_suspend
(),aio_write
(),lio_listio
()
are present.
This option implies the _POSIX_THREADS
and _POSIX_THREAD_SAFE_FUNCTIONS
options. The
functions
pthread_barrier_destroy
(),pthread_barrier_init
(),pthread_barrier_wait
(),pthread_barrierattr_destroy
(),pthread_barrierattr_init
()
are present.
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 non-root can only set the group of a file to one
of the groups it belongs to. This affects the functions
chown
(), fchown
().
This option implies the _POSIX_TIMERS
option. The functions
pthread_condattr_getclock
(),pthread_condattr_setclock
(),clock_nanosleep
()
are present. If CLOCK_REALTIME is changed by the
function clock_settime
(),
then this affects all timers set for an absolute time.
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.
If this option is in effect (as it always is under POSIX.1-2001) then the system implements POSIX-style job control, and the functions
setpgid
(),tcdrain
(),tcflush
(),tcgetpgrp
(),tcsendbreak
(),tcsetattr
(),tcsetpgrp
() are present.
Shared memory is supported. The include file
<
sys/mman.h
>
is present. The functions
mmap
(), msync
(), munmap
() are present.
Shared memory can be locked into core. The functions
mlockall
(), munlockall
() are present.
More precisely, ranges can be locked into core. The
functions mlock
(),
munlock
() are present.
The include file <
mqueue.h
>
is present. The functions
mq_close
(),mq_getattr
(),mq_notify
(),mq_open
(),mq_receive
(),mq_send
(),mq_setattr
(),mq_unlink
()
are present.
CLOCK_MONOTONIC
is supported. This option implies the_POSIX_TIMERS
option. Affected functions areaio_suspend
(),clock_getres
(),clock_gettime
(),clock_settime
(),timer_create
().
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.
This option says that one can specify priorities for asynchronous I/O. This affects the functions
aio_read
(),aio_write
().
The include file <
sched.h
>
is present. The functions
sched_get_priority_max
(),sched_get_priority_min
(),sched_getparam
(),sched_getscheduler
(),sched_rr_get_interval
(),sched_setparam
(),sched_setscheduler
(),sched_yield
()
are present. If also _POSIX_SPAWN
is in effect, then the
functions
posix_spawnattr_getschedparam
(),posix_spawnattr_getschedpolicy
(),posix_spawnattr_setschedparam
(),posix_spawnattr_setschedpolicy
() are present.
Raw sockets are supported. Affected functions are
getsockopt
(), setsockopt
().
This option implies the _POSIX_THREADS
option. Conversely, under
POSIX.1-2001 the _POSIX_THREADS
option implies this
option.
The functionspthread_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
() are present.
Realtime signals are supported. The functions
sigqueue
(),sigtimedwait
(),sigwaitinfo
()
are present.
If this option is in effect (as it always is under POSIX.1-2001) then POSIX regular expressions are supported and the functions
regcomp
(),regerror
(),regexec
(),regfree
()
are present.
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
().
The include file <
semaphore.h
>
is present. The functions
sem_close
(),sem_destroy
(),sem_getvalue
(),sem_init
(),sem_open
(),sem_post
(),sem_trywait
(),sem_unlink
(),sem_wait
()
are present.
The functions
mmap
(),munmap
(),shm_open
(),shm_unlink
()
are present.
If this option is in effect (as it always is under
POSIX.1-2001), the function system
() is present.
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 functions
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
()
are present. If also _POSIX_PRIORITY_SCHEDULING
is in effect,
then the functions
posix_spawnattr_getschedparam
(),posix_spawnattr_getschedpolicy
(),posix_spawnattr_setschedparam
(),posix_spawnattr_setschedpolicy
() are present.
This option implies the _POSIX_THREADS
and _POSIX_THREAD_SAFE_FUNCTIONS
options. The
functions
pthread_spin_destroy
(),pthread_spin_init
(),pthread_spin_lock
(),pthread_spin_trylock
(),pthread_spin_unlock
()
are present.
The scheduling policy SCHED_SPORADIC
is supported. This option
implies the _POSIX_PRIORITY_SCHEDULING
option.
Affected functions are
sched_setparam
(),sched_setscheduler
().
Affected functions are open
(), msync
(), fsync
(), fdatasync
().
Affected functions are
pthread_attr_getstack
(),pthread_attr_getstackaddr
(),pthread_attr_setstack
(),pthread_attr_setstackaddr
().
Affected functions are
pthread_attr_getstack
(),pthread_attr_getstacksize
(),pthread_attr_setstack
(),pthread_attr_setstacksize
().
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
().
Affected functions are
pthread_mutexattr_getprotocol
(),pthread_mutexattr_setprotocol
().
Affected functions are
pthread_mutex_getprioceiling
(),pthread_mutex_setprioceiling
(),pthread_mutexattr_getprioceiling
(),pthread_mutexattr_getprotocol
(),pthread_mutexattr_setprioceiling
(),pthread_mutexattr_setprotocol
().
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
().
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
().
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
().
This option implies the _POSIX_THREAD_PRIORITY_SCHEDULING
option.
Affected functions are
sched_getparam
(),sched_setparam
(),sched_setscheduler
().
Basic support for POSIX threads is available. The functions
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
()
are present.
The functions
mq_timedreceive
(),mq_timedsend
(),pthread_mutex_timedlock
(),pthread_rwlock_timedrdlock
(),pthread_rwlock_timedwrlock
(),sem_timedwait
(),posix_trace_timedgetnext_event
()
are present.
The functions
clock_getres
(),clock_gettime
(),clock_settime
(),nanosleep
(),timer_create
(),timer_delete
(),timer_gettime
(),timer_getoverrun
(),timer_settime
()
are present.
POSIX tracing is available. The functions
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
()
are present.
This option implies the _POSIX_TRACE
option. The functions
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
()
are present.
Tracing children of the traced process is supported.
This option implies the _POSIX_TRACE
option. The functions
posix_trace_attr_getinherited
(),posix_trace_attr_setinherited
()
are present.
This option implies the _POSIX_TRACE
option. The functions
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
()
are present.
_XOPEN_CRYPT
, _XOPEN_LEGACY
, _XOPEN_REALTIME
, _XOPEN_REALTIME_THREADS
, _XOPEN_UNIX
.
This page is part of release 2.70 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
Copyright (c) 2003 Andries Brouwer (aebcwi.nl) 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |