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(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_CRYPT, _XOPEN_LEGACY, _XOPEN_REALTIME, _XOPEN_REALTIME_THREADS, _XOPEN_UNIX.
sysconf(3), standards(7)
This page is part of release 4.09 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 https://www.kernel.org/doc/man-pages/. 2007-12-21 POSIXOPTIONS(7)
Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.
Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.
Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.
Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.
The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.
Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.
Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.
Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.