dwww Home | Manual pages | Find package

posixoptions(7)         Miscellaneous Information Manual        posixoptions(7)

NAME
       posixoptions - optional parts of the POSIX standard

DESCRIPTION
       The  POSIX  standard  (the  information  below is from POSIX.1-2001) de-
       scribes a set of behaviors and interfaces for a compliant system.   How-
       ever,  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
       following 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 CLOCK_PROCESS_CPUTIME_ID clock 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 func-
       tions 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 following functions are
       present:

           mlockall()
           munlockall()

   MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE
       More precisely, ranges can be locked into core.  The following functions
       are present:

           mlock()
           munlock()

   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 op-
       tion.  The following functions are affected:

           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 compo-
       nent.

   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.  The following functions are affected:

           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.  The following
       functions are affected:

           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.  The following functions are  af-
       fected:

           sched_setparam()
           sched_setscheduler()

   SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO
       The following functions are affected:

           open()
           msync()
           fsync()
           fdatasync()

   TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR
       The following functions are affected:

           pthread_attr_getstack()
           pthread_attr_getstackaddr()
           pthread_attr_setstack()
           pthread_attr_setstackaddr()

   TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE
       The following functions are affected:

           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.  The following functions are affected:

           pthread_getcpuclockid()
           clock_getres()
           clock_gettime()
           clock_settime()
           timer_create()

   TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT
       The following functions are affected:

           pthread_mutexattr_getprotocol()
           pthread_mutexattr_setprotocol()

   TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT
       The following functions are affected:

           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.  The follow-
       ing functions are affected:

           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
       The following functions are affected:

           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
       The following functions are affected:

           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.   The
       following functions are affected:

           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 im-
       plies 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.

X/OPEN SYSTEM INTERFACE EXTENSIONS
   XSI - _XOPEN_CRYPT - _SC_XOPEN_CRYPT
       The following functions are present:

           crypt()
           encrypt()
           setkey()

   XSI - _XOPEN_REALTIME - _SC_XOPEN_REALTIME
       This option implies the following options:

       _POSIX_ASYNCHRONOUS_IO==200112L
       _POSIX_FSYNC
       _POSIX_MAPPED_FILES
       _POSIX_MEMLOCK==200112L
       _POSIX_MEMLOCK_RANGE==200112L
       _POSIX_MEMORY_PROTECTION
       _POSIX_MESSAGE_PASSING==200112L
       _POSIX_PRIORITIZED_IO
       _POSIX_PRIORITY_SCHEDULING==200112L
       _POSIX_REALTIME_SIGNALS==200112L
       _POSIX_SEMAPHORES==200112L
       _POSIX_SHARED_MEMORY_OBJECTS==200112L
       _POSIX_SYNCHRONIZED_IO==200112L
       _POSIX_TIMERS==200112L

   ADV - --- - ---
       The Advanced Realtime option group implies that  the  following  options
       are all defined to 200112L:

       _POSIX_ADVISORY_INFO
       _POSIX_CLOCK_SELECTION
              (implies _POSIX_TIMERS)
       _POSIX_CPUTIME
              (implies _POSIX_TIMERS)
       _POSIX_MONOTONIC_CLOCK
              (implies _POSIX_TIMERS)
       _POSIX_SPAWN
       _POSIX_SPORADIC_SERVER
              (implies _POSIX_PRIORITY_SCHEDULING)
       _POSIX_TIMEOUTS
       _POSIX_TYPED_MEMORY_OBJECTS

   XSI - _XOPEN_REALTIME_THREADS - _SC_XOPEN_REALTIME_THREADS
       This  option  implies  that  the  following  options  are all defined to
       200112L:

       _POSIX_THREAD_PRIO_INHERIT
       _POSIX_THREAD_PRIO_PROTECT
       _POSIX_THREAD_PRIORITY_SCHEDULING

   ADVANCED REALTIME THREADS - --- - ---
       This option implies that  the  following  options  are  all  defined  to
       200112L:

       _POSIX_BARRIERS
              (implies _POSIX_THREADS, _POSIX_THREAD_SAFE_FUNCTIONS)
       _POSIX_SPIN_LOCKS
              (implies _POSIX_THREADS, _POSIX_THREAD_SAFE_FUNCTIONS)
       _POSIX_THREAD_CPUTIME
              (implies _POSIX_TIMERS)
       _POSIX_THREAD_SPORADIC_SERVER
              (implies _POSIX_THREAD_PRIORITY_SCHEDULING)

   TRACING - --- - ---
       This  option  implies  that  the  following  options  are all defined to
       200112L:

       _POSIX_TRACE
       _POSIX_TRACE_EVENT_FILTER
       _POSIX_TRACE_LOG
       _POSIX_TRACE_INHERIT

   STREAMS - _XOPEN_STREAMS - _SC_XOPEN_STREAMS
       The following functions are present:

           fattach()
           fdetach()
           getmsg()
           getpmsg()
           ioctl()
           isastream()
           putmsg()
           putpmsg()

   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:

           bcmp()
           bcopy()
           bzero()
           ecvt()
           fcvt()
           ftime()
           gcvt()
           getwd()
           index()
           mktemp()
           rindex()
           utimes()
           wcswcs()

   XSI - _XOPEN_UNIX - _SC_XOPEN_UNIX
       The following functions are present:

           mmap()
           munmap()
           msync()

       This option implies the following options:

       _POSIX_FSYNC
       _POSIX_MAPPED_FILES
       _POSIX_MEMORY_PROTECTION
       _POSIX_THREAD_ATTR_STACKADDR
       _POSIX_THREAD_ATTR_STACKSIZE
       _POSIX_THREAD_PROCESS_SHARED
       _POSIX_THREAD_SAFE_FUNCTIONS
       _POSIX_THREADS

       This option may imply the following options from the XSI option groups:

       Encryption (_XOPEN_CRYPT)
       Realtime (_XOPEN_REALTIME)
       Advanced Realtime (ADB)
       Realtime Threads (_XOPEN_REALTIME_THREADS)
       Advanced Realtime Threads (ADVANCED REALTIME THREADS)
       Tracing (TRACING)
       XSI Streams (STREAMS)
       Legacy (_XOPEN_LEGACY)

SEE ALSO
       sysconf(3), standards(7)

Linux man-pages 6.9.1              2024-05-02                   posixoptions(7)

Generated by dwww version 1.16 on Tue Dec 16 08:04:44 CET 2025.