{"id":4108,"date":"2022-12-20T17:39:24","date_gmt":"2022-12-20T20:39:24","guid":{"rendered":"http:\/\/lode.uno\/linux-man\/index.php\/2022\/12\/20\/posixoptions-man7\/"},"modified":"2022-12-20T17:39:24","modified_gmt":"2022-12-20T20:39:24","slug":"posixoptions-man7","status":"publish","type":"post","link":"https:\/\/lode.uno\/linux-man\/2022\/12\/20\/posixoptions-man7\/","title":{"rendered":"POSIXOPTIONS (man7)"},"content":{"rendered":"<h1 align=\"center\">POSIXOPTIONS<\/h1>\n<p> <a href=\"#NAME\">NAME<\/a><br \/> <a href=\"#DESCRIPTION\">DESCRIPTION<\/a><br \/> <a href=\"#X\/OPEN SYSTEM INTERFACE EXTENSIONS\">X\/OPEN SYSTEM INTERFACE EXTENSIONS<\/a><br \/> <a href=\"#SEE ALSO\">SEE ALSO<\/a><br \/> <a href=\"#COLOPHON\">COLOPHON<\/a> <\/p>\n<hr>\n<h2>NAME <a name=\"NAME\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">posixoptions \u2212 optional parts of the POSIX standard<\/p>\n<h2>DESCRIPTION <a name=\"DESCRIPTION\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">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>sysconf<\/b>(3), <b>fpathconf<\/b>(3), <b>pathconf<\/b>(3), <b>confstr<\/b>(3) to do this at run time. From shell scripts one can use <b>getconf<\/b>(1). For more detail, see <b>sysconf<\/b>(3).<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">We give the name of the POSIX abbreviation, the option, the name of the <b>sysconf<\/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.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>ADV &#8211; _POSIX_ADVISORY_INFO &#8211; _SC_ADVISORY_INFO<\/b> <br \/> The following advisory functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_fadvise<\/i>() <i><br \/> posix_fallocate<\/i>() <i><br \/> posix_memalign<\/i>() <i><br \/> posix_madvise<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>AIO &#8211; _POSIX_ASYNCHRONOUS_IO &#8211; _SC_ASYNCHRONOUS_IO<\/b> <br \/> The header <i><aio.h><\/i> is present. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>aio_cancel<\/i>() <i><br \/> aio_error<\/i>() <i><br \/> aio_fsync<\/i>() <i><br \/> aio_read<\/i>() <i><br \/> aio_return<\/i>() <i><br \/> aio_suspend<\/i>() <i><br \/> aio_write<\/i>() <i><br \/> lio_listio<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>BAR &#8211; _POSIX_BARRIERS &#8211; _SC_BARRIERS<\/b> <br \/> This option implies the <b>_POSIX_THREADS<\/b> and <b>_POSIX_THREAD_SAFE_FUNCTIONS<\/b> options. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_barrier_destroy<\/i>() <i><br \/> pthread_barrier_init<\/i>() <i><br \/> pthread_barrier_wait<\/i>() <i><br \/> pthread_barrierattr_destroy<\/i>() <i><br \/> pthread_barrierattr_init<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; POSIX_CHOWN_RESTRICTED<\/b> <br \/> 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>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>chown<\/i>() <i><br \/> fchown<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>CS &#8211; _POSIX_CLOCK_SELECTION &#8211; _SC_CLOCK_SELECTION<\/b> <br \/> This option implies the <b>_POSIX_TIMERS<\/b> option. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_condattr_getclock<\/i>() <i><br \/> pthread_condattr_setclock<\/i>() <i><br \/> clock_nanosleep<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">If <b>CLOCK_REALTIME<\/b> is changed by the function <i>clock_settime<\/i>(), then this affects all timers set for an absolute time.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>CPT &#8211; _POSIX_CPUTIME &#8211; _SC_CPUTIME<\/b> <br \/> 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.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_FILE_LOCKING &#8211; _SC_FILE_LOCKING<\/b> <br \/> This option has been deleted. Not in final XPG6.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>FSC &#8211; _POSIX_FSYNC &#8211; _SC_FSYNC<\/b> <br \/> The function <i>fsync<\/i>() is present.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>IP6 &#8211; _POSIX_IPV6 &#8211; _SC_IPV6<\/b> <br \/> Internet Protocol Version 6 is supported.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_JOB_CONTROL &#8211; _SC_JOB_CONTROL<\/b> <br \/> 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>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>setpgid<\/i>() <i><br \/> tcdrain<\/i>() <i><br \/> tcflush<\/i>() <i><br \/> tcgetpgrp<\/i>() <i><br \/> tcsendbreak<\/i>() <i><br \/> tcsetattr<\/i>() <i><br \/> tcsetpgrp<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>MF &#8211; _POSIX_MAPPED_FILES &#8211; _SC_MAPPED_FILES<\/b> <br \/> Shared memory is supported. The include file <i><sys\/mman.h><\/i> is present. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>mmap<\/i>() <i><br \/> msync<\/i>() <i><br \/> munmap<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>ML &#8211; _POSIX_MEMLOCK &#8211; _SC_MEMLOCK<\/b> <br \/> Shared memory can be locked into core. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>mlockall<\/i>() <i><br \/> munlockall<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>MR\/MLR &#8211; _POSIX_MEMLOCK_RANGE &#8211; _SC_MEMLOCK_RANGE<\/b> <br \/> More precisely, ranges can be locked into core. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>mlock<\/i>() <i><br \/> munlock<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>MPR &#8211; _POSIX_MEMORY_PROTECTION &#8211; _SC_MEMORY_PROTECTION<\/b> <br \/> The function <i>mprotect<\/i>() is present.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>MSG &#8211; _POSIX_MESSAGE_PASSING &#8211; _SC_MESSAGE_PASSING<\/b> <br \/> The include file <i><mqueue.h><\/i> is present. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>mq_close<\/i>() <i><br \/> mq_getattr<\/i>() <i><br \/> mq_notify<\/i>() <i><br \/> mq_open<\/i>() <i><br \/> mq_receive<\/i>() <i><br \/> mq_send<\/i>() <i><br \/> mq_setattr<\/i>() <i><br \/> mq_unlink<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>MON &#8211; _POSIX_MONOTONIC_CLOCK &#8211; _SC_MONOTONIC_CLOCK <br \/> CLOCK_MONOTONIC<\/b> is supported. This option implies the <b>_POSIX_TIMERS<\/b> option. The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>aio_suspend<\/i>() <i><br \/> clock_getres<\/i>() <i><br \/> clock_gettime<\/i>() <i><br \/> clock_settime<\/i>() <i><br \/> timer_create<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_MULTI_PROCESS &#8211; _SC_MULTI_PROCESS<\/b> <br \/> This option has been deleted. Not in final XPG6.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_NO_TRUNC<\/b> <br \/> 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.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>PIO &#8211; _POSIX_PRIORITIZED_IO &#8211; _SC_PRIORITIZED_IO<\/b> <br \/> This option says that one can specify priorities for asynchronous I\/O. This affects the functions<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>aio_read<\/i>() <i><br \/> aio_write<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>PS &#8211; _POSIX_PRIORITY_SCHEDULING &#8211; _SC_PRIORITY_SCHEDULING<\/b> <br \/> The include file <i><sched.h><\/i> is present. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>sched_get_priority_max<\/i>() <i><br \/> sched_get_priority_min<\/i>() <i><br \/> sched_getparam<\/i>() <i><br \/> sched_getscheduler<\/i>() <i><br \/> sched_rr_get_interval<\/i>() <i><br \/> sched_setparam<\/i>() <i><br \/> sched_setscheduler<\/i>() <i><br \/> sched_yield<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">If also <b>_POSIX_SPAWN<\/b> is in effect, then the following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_spawnattr_getschedparam<\/i>() <i><br \/> posix_spawnattr_getschedpolicy<\/i>() <i><br \/> posix_spawnattr_setschedparam<\/i>() <i><br \/> posix_spawnattr_setschedpolicy<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>RS &#8211; _POSIX_RAW_SOCKETS<\/b> <br \/> Raw sockets are supported. The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>getsockopt<\/i>() <i><br \/> setsockopt<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_READER_WRITER_LOCKS &#8211; _SC_READER_WRITER_LOCKS<\/b> <br \/> This option implies the <b>_POSIX_THREADS<\/b> option. Conversely, under POSIX.1-2001 the <b>_POSIX_THREADS<\/b> option implies this option.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_rwlock_destroy<\/i>() <i><br \/> pthread_rwlock_init<\/i>() <i><br \/> pthread_rwlock_rdlock<\/i>() <i><br \/> pthread_rwlock_tryrdlock<\/i>() <i><br \/> pthread_rwlock_trywrlock<\/i>() <i><br \/> pthread_rwlock_unlock<\/i>() <i><br \/> pthread_rwlock_wrlock<\/i>() <i><br \/> pthread_rwlockattr_destroy<\/i>() <i><br \/> pthread_rwlockattr_init<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>RTS &#8211; _POSIX_REALTIME_SIGNALS &#8211; _SC_REALTIME_SIGNALS<\/b> <br \/> Realtime signals are supported. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>sigqueue<\/i>() <i><br \/> sigtimedwait<\/i>() <i><br \/> sigwaitinfo<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_REGEXP &#8211; _SC_REGEXP<\/b> <br \/> 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>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>regcomp<\/i>() <i><br \/> regerror<\/i>() <i><br \/> regexec<\/i>() <i><br \/> regfree<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_SAVED_IDS &#8211; _SC_SAVED_IDS<\/b> <br \/> 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>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>exec<\/i>() <i><br \/> kill<\/i>() <i><br \/> seteuid<\/i>() <i><br \/> setegid<\/i>() <i><br \/> setgid<\/i>() <i><br \/> setuid<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>SEM &#8211; _POSIX_SEMAPHORES &#8211; _SC_SEMAPHORES<\/b> <br \/> The include file <i><semaphore.h><\/i> is present. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>sem_close<\/i>() <i><br \/> sem_destroy<\/i>() <i><br \/> sem_getvalue<\/i>() <i><br \/> sem_init<\/i>() <i><br \/> sem_open<\/i>() <i><br \/> sem_post<\/i>() <i><br \/> sem_trywait<\/i>() <i><br \/> sem_unlink<\/i>() <i><br \/> sem_wait<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>SHM &#8211; _POSIX_SHARED_MEMORY_OBJECTS &#8211; _SC_SHARED_MEMORY_OBJECTS<\/b> <br \/> The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>mmap<\/i>() <i><br \/> munmap<\/i>() <i><br \/> shm_open<\/i>() <i><br \/> shm_unlink<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_SHELL &#8211; _SC_SHELL<\/b> <br \/> If this option is in effect (as it always is under POSIX.1-2001), the function <i>system<\/i>() is present.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>SPN &#8211; _POSIX_SPAWN &#8211; _SC_SPAWN<\/b> <br \/> 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>\n<p style=\"margin-left:11%; margin-top: 1em\">If <b>_POSIX_SPAWN<\/b> is in effect, then the include file <i><spawn.h><\/i> and the following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_spawn<\/i>() <i><br \/> posix_spawn_file_actions_addclose<\/i>() <i><br \/> posix_spawn_file_actions_adddup2<\/i>() <i><br \/> posix_spawn_file_actions_addopen<\/i>() <i><br \/> posix_spawn_file_actions_destroy<\/i>() <i><br \/> posix_spawn_file_actions_init<\/i>() <i><br \/> posix_spawnattr_destroy<\/i>() <i><br \/> posix_spawnattr_getsigdefault<\/i>() <i><br \/> posix_spawnattr_getflags<\/i>() <i><br \/> posix_spawnattr_getpgroup<\/i>() <i><br \/> posix_spawnattr_getsigmask<\/i>() <i><br \/> posix_spawnattr_init<\/i>() <i><br \/> posix_spawnattr_setsigdefault<\/i>() <i><br \/> posix_spawnattr_setflags<\/i>() <i><br \/> posix_spawnattr_setpgroup<\/i>() <i><br \/> posix_spawnattr_setsigmask<\/i>() <i><br \/> posix_spawnp<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">If also <b>_POSIX_PRIORITY_SCHEDULING<\/b> is in effect, then the following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_spawnattr_getschedparam<\/i>() <i><br \/> posix_spawnattr_getschedpolicy<\/i>() <i><br \/> posix_spawnattr_setschedparam<\/i>() <i><br \/> posix_spawnattr_setschedpolicy<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>SPI &#8211; _POSIX_SPIN_LOCKS &#8211; _SC_SPIN_LOCKS<\/b> <br \/> This option implies the <b>_POSIX_THREADS<\/b> and <b>_POSIX_THREAD_SAFE_FUNCTIONS<\/b> options. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_spin_destroy<\/i>() <i><br \/> pthread_spin_init<\/i>() <i><br \/> pthread_spin_lock<\/i>() <i><br \/> pthread_spin_trylock<\/i>() <i><br \/> pthread_spin_unlock<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>SS &#8211; _POSIX_SPORADIC_SERVER &#8211; _SC_SPORADIC_SERVER<\/b> <br \/> 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>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>sched_setparam<\/i>() <i><br \/> sched_setscheduler<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>SIO &#8211; _POSIX_SYNCHRONIZED_IO &#8211; _SC_SYNCHRONIZED_IO<\/b> <br \/> The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>open<\/i>() <i><br \/> msync<\/i>() <i><br \/> fsync<\/i>() <i><br \/> fdatasync<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TSA &#8211; _POSIX_THREAD_ATTR_STACKADDR &#8211; _SC_THREAD_ATTR_STACKADDR<\/b> <br \/> The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_attr_getstack<\/i>() <i><br \/> pthread_attr_getstackaddr<\/i>() <i><br \/> pthread_attr_setstack<\/i>() <i><br \/> pthread_attr_setstackaddr<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TSS &#8211; _POSIX_THREAD_ATTR_STACKSIZE &#8211; _SC_THREAD_ATTR_STACKSIZE<\/b> <br \/> The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_attr_getstack<\/i>() <i><br \/> pthread_attr_getstacksize<\/i>() <i><br \/> pthread_attr_setstack<\/i>() <i><br \/> pthread_attr_setstacksize<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TCT &#8211; _POSIX_THREAD_CPUTIME &#8211; _SC_THREAD_CPUTIME<\/b> <br \/> The clockID CLOCK_THREAD_CPUTIME_ID is supported. This option implies the <b>_POSIX_TIMERS<\/b> option. The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_getcpuclockid<\/i>() <i><br \/> clock_getres<\/i>() <i><br \/> clock_gettime<\/i>() <i><br \/> clock_settime<\/i>() <i><br \/> timer_create<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TPI &#8211; _POSIX_THREAD_PRIO_INHERIT &#8211; _SC_THREAD_PRIO_INHERIT<\/b> <br \/> The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_mutexattr_getprotocol<\/i>() <i><br \/> pthread_mutexattr_setprotocol<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TPP &#8211; _POSIX_THREAD_PRIO_PROTECT &#8211; _SC_THREAD_PRIO_PROTECT<\/b> <br \/> The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_mutex_getprioceiling<\/i>() <i><br \/> pthread_mutex_setprioceiling<\/i>() <i><br \/> pthread_mutexattr_getprioceiling<\/i>() <i><br \/> pthread_mutexattr_getprotocol<\/i>() <i><br \/> pthread_mutexattr_setprioceiling<\/i>() <i><br \/> pthread_mutexattr_setprotocol<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TPS &#8211; _POSIX_THREAD_PRIORITY_SCHEDULING &#8211; _SC_THREAD_PRIORITY_SCHEDULING<\/b> <br \/> 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>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_attr_getinheritsched<\/i>() <i><br \/> pthread_attr_getschedpolicy<\/i>() <i><br \/> pthread_attr_getscope<\/i>() <i><br \/> pthread_attr_setinheritsched<\/i>() <i><br \/> pthread_attr_setschedpolicy<\/i>() <i><br \/> pthread_attr_setscope<\/i>() <i><br \/> pthread_getschedparam<\/i>() <i><br \/> pthread_setschedparam<\/i>() <i><br \/> pthread_setschedprio<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TSH &#8211; _POSIX_THREAD_PROCESS_SHARED &#8211; _SC_THREAD_PROCESS_SHARED<\/b> <br \/> The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_barrierattr_getpshared<\/i>() <i><br \/> pthread_barrierattr_setpshared<\/i>() <i><br \/> pthread_condattr_getpshared<\/i>() <i><br \/> pthread_condattr_setpshared<\/i>() <i><br \/> pthread_mutexattr_getpshared<\/i>() <i><br \/> pthread_mutexattr_setpshared<\/i>() <i><br \/> pthread_rwlockattr_getpshared<\/i>() <i><br \/> pthread_rwlockattr_setpshared<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TSF &#8211; _POSIX_THREAD_SAFE_FUNCTIONS &#8211; _SC_THREAD_SAFE_FUNCTIONS<\/b> <br \/> The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>readdir_r<\/i>() <i><br \/> getgrgid_r<\/i>() <i><br \/> getgrnam_r<\/i>() <i><br \/> getpwnam_r<\/i>() <i><br \/> getpwuid_r<\/i>() <i><br \/> flockfile<\/i>() <i><br \/> ftrylockfile<\/i>() <i><br \/> funlockfile<\/i>() <i><br \/> getc_unlocked<\/i>() <i><br \/> getchar_unlocked<\/i>() <i><br \/> putc_unlocked<\/i>() <i><br \/> putchar_unlocked<\/i>() <i><br \/> rand_r<\/i>() <i><br \/> strerror_r<\/i>() <i><br \/> strtok_r<\/i>() <i><br \/> asctime_r<\/i>() <i><br \/> ctime_r<\/i>() <i><br \/> gmtime_r<\/i>() <i><br \/> localtime_r<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TSP &#8211; _POSIX_THREAD_SPORADIC_SERVER &#8211; _SC_THREAD_SPORADIC_SERVER<\/b> <br \/> This option implies the <b>_POSIX_THREAD_PRIORITY_SCHEDULING<\/b> option. The following functions are affected:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>sched_getparam<\/i>() <i><br \/> sched_setparam<\/i>() <i><br \/> sched_setscheduler<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>THR &#8211; _POSIX_THREADS &#8211; _SC_THREADS<\/b> <br \/> Basic support for POSIX threads is available. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>pthread_atfork<\/i>() <i><br \/> pthread_attr_destroy<\/i>() <i><br \/> pthread_attr_getdetachstate<\/i>() <i><br \/> pthread_attr_getschedparam<\/i>() <i><br \/> pthread_attr_init<\/i>() <i><br \/> pthread_attr_setdetachstate<\/i>() <i><br \/> pthread_attr_setschedparam<\/i>() <i><br \/> pthread_cancel<\/i>() <i><br \/> pthread_cleanup_push<\/i>() <i><br \/> pthread_cleanup_pop<\/i>() <i><br \/> pthread_cond_broadcast<\/i>() <i><br \/> pthread_cond_destroy<\/i>() <i><br \/> pthread_cond_init<\/i>() <i><br \/> pthread_cond_signal<\/i>() <i><br \/> pthread_cond_timedwait<\/i>() <i><br \/> pthread_cond_wait<\/i>() <i><br \/> pthread_condattr_destroy<\/i>() <i><br \/> pthread_condattr_init<\/i>() <i><br \/> pthread_create<\/i>() <i><br \/> pthread_detach<\/i>() <i><br \/> pthread_equal<\/i>() <i><br \/> pthread_exit<\/i>() <i><br \/> pthread_getspecific<\/i>() <i><br \/> pthread_join<\/i>() <i><br \/> pthread_key_create<\/i>() <i><br \/> pthread_key_delete<\/i>() <i><br \/> pthread_mutex_destroy<\/i>() <i><br \/> pthread_mutex_init<\/i>() <i><br \/> pthread_mutex_lock<\/i>() <i><br \/> pthread_mutex_trylock<\/i>() <i><br \/> pthread_mutex_unlock<\/i>() <i><br \/> pthread_mutexattr_destroy<\/i>() <i><br \/> pthread_mutexattr_init<\/i>() <i><br \/> pthread_once<\/i>() <i><br \/> pthread_rwlock_destroy<\/i>() <i><br \/> pthread_rwlock_init<\/i>() <i><br \/> pthread_rwlock_rdlock<\/i>() <i><br \/> pthread_rwlock_tryrdlock<\/i>() <i><br \/> pthread_rwlock_trywrlock<\/i>() <i><br \/> pthread_rwlock_unlock<\/i>() <i><br \/> pthread_rwlock_wrlock<\/i>() <i><br \/> pthread_rwlockattr_destroy<\/i>() <i><br \/> pthread_rwlockattr_init<\/i>() <i><br \/> pthread_self<\/i>() <i><br \/> pthread_setcancelstate<\/i>() <i><br \/> pthread_setcanceltype<\/i>() <i><br \/> pthread_setspecific<\/i>() <i><br \/> pthread_testcancel<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TMO &#8211; _POSIX_TIMEOUTS &#8211; _SC_TIMEOUTS<\/b> <br \/> The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>mq_timedreceive<\/i>() <i><br \/> mq_timedsend<\/i>() <i><br \/> pthread_mutex_timedlock<\/i>() <i><br \/> pthread_rwlock_timedrdlock<\/i>() <i><br \/> pthread_rwlock_timedwrlock<\/i>() <i><br \/> sem_timedwait<\/i>() <i><br \/> posix_trace_timedgetnext_event<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TMR &#8211; _POSIX_TIMERS &#8211; _SC_TIMERS<\/b> <br \/> The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>clock_getres<\/i>() <i><br \/> clock_gettime<\/i>() <i><br \/> clock_settime<\/i>() <i><br \/> nanosleep<\/i>() <i><br \/> timer_create<\/i>() <i><br \/> timer_delete<\/i>() <i><br \/> timer_gettime<\/i>() <i><br \/> timer_getoverrun<\/i>() <i><br \/> timer_settime<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TRC &#8211; _POSIX_TRACE &#8211; _SC_TRACE<\/b> <br \/> POSIX tracing is available. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_trace_attr_destroy<\/i>() <i><br \/> posix_trace_attr_getclockres<\/i>() <i><br \/> posix_trace_attr_getcreatetime<\/i>() <i><br \/> posix_trace_attr_getgenversion<\/i>() <i><br \/> posix_trace_attr_getmaxdatasize<\/i>() <i><br \/> posix_trace_attr_getmaxsystemeventsize<\/i>() <i><br \/> posix_trace_attr_getmaxusereventsize<\/i>() <i><br \/> posix_trace_attr_getname<\/i>() <i><br \/> posix_trace_attr_getstreamfullpolicy<\/i>() <i><br \/> posix_trace_attr_getstreamsize<\/i>() <i><br \/> posix_trace_attr_init<\/i>() <i><br \/> posix_trace_attr_setmaxdatasize<\/i>() <i><br \/> posix_trace_attr_setname<\/i>() <i><br \/> posix_trace_attr_setstreamsize<\/i>() <i><br \/> posix_trace_attr_setstreamfullpolicy<\/i>() <i><br \/> posix_trace_clear<\/i>() <i><br \/> posix_trace_create<\/i>() <i><br \/> posix_trace_event<\/i>() <i><br \/> posix_trace_eventid_equal<\/i>() <i><br \/> posix_trace_eventid_get_name<\/i>() <i><br \/> posix_trace_eventid_open<\/i>() <i><br \/> posix_trace_eventtypelist_getnext_id<\/i>() <i><br \/> posix_trace_eventtypelist_rewind<\/i>() <i><br \/> posix_trace_flush<\/i>() <i><br \/> posix_trace_get_attr<\/i>() <i><br \/> posix_trace_get_status<\/i>() <i><br \/> posix_trace_getnext_event<\/i>() <i><br \/> posix_trace_shutdown<\/i>() <i><br \/> posix_trace_start<\/i>() <i><br \/> posix_trace_stop<\/i>() <i><br \/> posix_trace_trygetnext_event<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TEF &#8211; _POSIX_TRACE_EVENT_FILTER &#8211; _SC_TRACE_EVENT_FILTER<\/b> <br \/> This option implies the <b>_POSIX_TRACE<\/b> option. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_trace_eventset_add<\/i>() <i><br \/> posix_trace_eventset_del<\/i>() <i><br \/> posix_trace_eventset_empty<\/i>() <i><br \/> posix_trace_eventset_fill<\/i>() <i><br \/> posix_trace_eventset_ismember<\/i>() <i><br \/> posix_trace_get_filter<\/i>() <i><br \/> posix_trace_set_filter<\/i>() <i><br \/> posix_trace_trid_eventid_open<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TRI &#8211; _POSIX_TRACE_INHERIT &#8211; _SC_TRACE_INHERIT<\/b> <br \/> Tracing children of the traced process is supported. This option implies the <b>_POSIX_TRACE<\/b> option. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_trace_attr_getinherited<\/i>() <i><br \/> posix_trace_attr_setinherited<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TRL &#8211; _POSIX_TRACE_LOG &#8211; _SC_TRACE_LOG<\/b> <br \/> This option implies the <b>_POSIX_TRACE<\/b> option. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_trace_attr_getlogfullpolicy<\/i>() <i><br \/> posix_trace_attr_getlogsize<\/i>() <i><br \/> posix_trace_attr_setlogfullpolicy<\/i>() <i><br \/> posix_trace_attr_setlogsize<\/i>() <i><br \/> posix_trace_close<\/i>() <i><br \/> posix_trace_create_withlog<\/i>() <i><br \/> posix_trace_open<\/i>() <i><br \/> posix_trace_rewind<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TYM &#8211; _POSIX_TYPED_MEMORY_OBJECTS &#8211; _SC_TYPED_MEMORY_OBJECT<\/b> <br \/> The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>posix_mem_offset<\/i>() <i><br \/> posix_typed_mem_get_info<\/i>() <i><br \/> posix_typed_mem_open<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>&#8212; &#8211; _POSIX_VDISABLE<\/b> <br \/> Always present (probably 0). Value to set a changeable special control character to indicate that it is disabled.<\/p>\n<h2>X\/OPEN SYSTEM INTERFACE EXTENSIONS <a name=\"X\/OPEN SYSTEM INTERFACE EXTENSIONS\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>XSI &#8211; _XOPEN_CRYPT &#8211; _SC_XOPEN_CRYPT<\/b> <br \/> The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>crypt<\/i>() <i><br \/> encrypt<\/i>() <i><br \/> setkey<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>XSI &#8211; _XOPEN_REALTIME &#8211; _SC_XOPEN_REALTIME<\/b> <br \/> This option implies the following options: <b><br \/> _POSIX_ASYNCHRONOUS_IO<\/b>==<b>200112L <br \/> _POSIX_FSYNC <br \/> _POSIX_MAPPED_FILES <br \/> _POSIX_MEMLOCK<\/b>==<b>200112L <br \/> _POSIX_MEMLOCK_RANGE<\/b>==<b>200112L <br \/> _POSIX_MEMORY_PROTECTION <br \/> _POSIX_MESSAGE_PASSING<\/b>==<b>200112L <br \/> _POSIX_PRIORITIZED_IO <br \/> _POSIX_PRIORITY_SCHEDULING<\/b>==<b>200112L <br \/> _POSIX_REALTIME_SIGNALS<\/b>==<b>200112L <br \/> _POSIX_SEMAPHORES<\/b>==<b>200112L <br \/> _POSIX_SHARED_MEMORY_OBJECTS<\/b>==<b>200112L <br \/> _POSIX_SYNCHRONIZED_IO<\/b>==<b>200112L <br \/> _POSIX_TIMERS<\/b>==<b>200112L<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>ADV &#8211; &#8212; &#8211; &#8212;<\/b> <br \/> The Advanced Realtime option group implies that the following options are all defined to 200112L: <b><br \/> _POSIX_ADVISORY_INFO <br \/> _POSIX_CLOCK_SELECTION<\/b><\/p>\n<p style=\"margin-left:22%;\">(implies <b>_POSIX_TIMERS<\/b>)<\/p>\n<p style=\"margin-left:11%;\"><b>_POSIX_CPUTIME<\/b><\/p>\n<p style=\"margin-left:22%;\">(implies <b>_POSIX_TIMERS<\/b>)<\/p>\n<p style=\"margin-left:11%;\"><b>_POSIX_MONOTONIC_CLOCK<\/b><\/p>\n<p style=\"margin-left:22%;\">(implies <b>_POSIX_TIMERS<\/b>)<\/p>\n<p style=\"margin-left:11%;\"><b>_POSIX_SPAWN <br \/> _POSIX_SPORADIC_SERVER<\/b><\/p>\n<p style=\"margin-left:22%;\">(implies <b>_POSIX_PRIORITY_SCHEDULING<\/b>)<\/p>\n<p style=\"margin-left:11%;\"><b>_POSIX_TIMEOUTS <br \/> _POSIX_TYPED_MEMORY_OBJECTS<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>XSI &#8211; _XOPEN_REALTIME_THREADS &#8211; _SC_XOPEN_REALTIME_THREADS<\/b> <br \/> This option implies that the following options are all defined to 200112L: <b><br \/> _POSIX_THREAD_PRIO_INHERIT <br \/> _POSIX_THREAD_PRIO_PROTECT <br \/> _POSIX_THREAD_PRIORITY_SCHEDULING<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>ADVANCED REALTIME THREADS &#8211; &#8212; &#8211; &#8212;<\/b> <br \/> This option implies that the following options are all defined to 200112L: <b><br \/> _POSIX_BARRIERS<\/b><\/p>\n<p style=\"margin-left:22%;\">(implies <b>_POSIX_THREADS<\/b>, <b>_POSIX_THREAD_SAFE_FUNCTIONS<\/b>)<\/p>\n<p style=\"margin-left:11%;\"><b>_POSIX_SPIN_LOCKS<\/b><\/p>\n<p style=\"margin-left:22%;\">(implies <b>_POSIX_THREADS<\/b>, <b>_POSIX_THREAD_SAFE_FUNCTIONS<\/b>)<\/p>\n<p style=\"margin-left:11%;\"><b>_POSIX_THREAD_CPUTIME<\/b><\/p>\n<p style=\"margin-left:22%;\">(implies <b>_POSIX_TIMERS<\/b>)<\/p>\n<p style=\"margin-left:11%;\"><b>_POSIX_THREAD_SPORADIC_SERVER<\/b><\/p>\n<p style=\"margin-left:22%;\">(implies <b>_POSIX_THREAD_PRIORITY_SCHEDULING<\/b>)<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>TRACING &#8211; &#8212; &#8211; &#8212;<\/b> <br \/> This option implies that the following options are all defined to 200112L: <b><br \/> _POSIX_TRACE <br \/> _POSIX_TRACE_EVENT_FILTER <br \/> _POSIX_TRACE_LOG <br \/> _POSIX_TRACE_INHERIT<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>STREAMS &#8211; _XOPEN_STREAMS &#8211; _SC_XOPEN_STREAMS<\/b> <br \/> The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>fattach<\/i>() <i><br \/> fdetach<\/i>() <i><br \/> getmsg<\/i>() <i><br \/> getpmsg<\/i>() <i><br \/> ioctl<\/i>() <i><br \/> isastream<\/i>() <i><br \/> putmsg<\/i>() <i><br \/> putpmsg<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>XSI &#8211; _XOPEN_LEGACY &#8211; _SC_XOPEN_LEGACY<\/b> <br \/> Functions included in the legacy option group were previously mandatory, but are now optional in this version. The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>bcmp<\/i>() <i><br \/> bcopy<\/i>() <i><br \/> bzero<\/i>() <i><br \/> ecvt<\/i>() <i><br \/> fcvt<\/i>() <i><br \/> ftime<\/i>() <i><br \/> gcvt<\/i>() <i><br \/> getcwd<\/i>() <i><br \/> index<\/i>() <i><br \/> mktemp<\/i>() <i><br \/> rindex<\/i>() <i><br \/> utimes<\/i>() <i><br \/> wcswcs<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>XSI &#8211; _XOPEN_UNIX &#8211; _SC_XOPEN_UNIX<\/b> <br \/> The following functions are present:<\/p>\n<p style=\"margin-left:17%; margin-top: 1em\"><i>mmap<\/i>() <i><br \/> munmap<\/i>() <i><br \/> msync<\/i>()<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This option implies the following options: <b><br \/> _POSIX_FSYNC <br \/> _POSIX_MAPPED_FILES <br \/> _POSIX_MEMORY_PROTECTION <br \/> _POSIX_THREAD_ATTR_STACKADDR <br \/> _POSIX_THREAD_ATTR_STACKSIZE <br \/> _POSIX_THREAD_PROCESS_SHARED <br \/> _POSIX_THREAD_SAFE_FUNCTIONS <br \/> _POSIX_THREADS<\/b><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">This option may imply the following options from the XSI option groups: <br \/> Encryption (<b>_XOPEN_CRYPT<\/b>) <br \/> Realtime (<b>_XOPEN_REALTIME<\/b>) <br \/> Advanced Realtime (<b>ADB<\/b>) <br \/> Realtime Threads (<b>_XOPEN_REALTIME_THREADS<\/b>) <br \/> Advanced Realtime Threads (<b>ADVANCED REALTIME THREADS<\/b>) <br \/> Tracing (<b>TRACING<\/b>) <br \/> XSI Streams (<b>STREAMS<\/b>) <br \/> Legacy (<b>_XOPEN_LEGACY<\/b>)<\/p>\n<h2>SEE ALSO <a name=\"SEE ALSO\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>sysconf<\/b>(3), <b>standards<\/b>(7)<\/p>\n<h2>COLOPHON <a name=\"COLOPHON\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">This page is part of release 5.10 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 https:\/\/www.kernel.org\/doc\/man\u2212pages\/.<\/p>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>  posixoptions \u2212 optional parts of the POSIX standard <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[971],"tags":[973,972,1187],"class_list":["post-4108","post","type-post","status-publish","format-standard","hentry","category-7-miscelanea","tag-973","tag-man7","tag-posixoptions"],"gutentor_comment":0,"_links":{"self":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/comments?post=4108"}],"version-history":[{"count":0,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4108\/revisions"}],"wp:attachment":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/media?parent=4108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/categories?post=4108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/tags?post=4108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}