1POSIXOPTIONS(7)            Linux Programmer's Manual           POSIXOPTIONS(7)
2
3
4

NAME

6       posixoptions - optional parts of the POSIX standard
7

DESCRIPTION

9       The  POSIX  standard  (the  information  below  is  from  POSIX.1-2001)
10       describes a set of behaviours and interfaces for  a  compliant  system.
11       However, many interfaces are optional and there are feature test macros
12       to test the availability of interfaces at compile time,  and  functions
13       sysconf(3),  fpathconf(3),  pathconf(3),  confstr(3)  to do this at run
14       time. From shell scripts one can use getconf(1).  For more detail,  see
15       sysconf(3).
16
17       We give the name of the POSIX abbreviation, the option, the name of the
18       sysconf() parameter used to inquire about the option,  and  possibly  a
19       very  short  description.  Much more precise detail can be found in the
20       POSIX standard itself, versions  of  which  can  nowadays  be  accessed
21       freely on the web.
22
23   ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO
24       The advisory functions
25           posix_fadvise(),
26           posix_fallocate(),
27           posix_memalign(),
28           posix_madvise()
29       are present.
30
31   AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO
32       The header <aio.h> is present.  The functions
33           aio_cancel(),
34           aio_error(),
35           aio_fsync(),
36           aio_read(),
37           aio_return(),
38           aio_suspend(),
39           aio_write(),
40           lio_listio()
41       are present.
42
43   BAR - _POSIX_BARRIERS - _SC_BARRIERS
44       This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
45       options.  The functions
46           pthread_barrier_destroy(),
47           pthread_barrier_init(),
48           pthread_barrier_wait(),
49           pthread_barrierattr_destroy(),
50           pthread_barrierattr_init()
51       are present.
52
53   --- - POSIX_CHOWN_RESTRICTED
54       If this option is in effect (as it always is under  POSIX.1-2001)  then
55       only root may change the owner of a file, and non-root can only set the
56       group of a file to one of the groups it belongs to.  This  affects  the
57       functions chown(), fchown().
58
59   CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION
60       This option implies the _POSIX_TIMERS option.  The functions
61           pthread_condattr_getclock(),
62           pthread_condattr_setclock(),
63           clock_nanosleep()
64       are  present.   If CLOCK_REALTIME is changed by the function clock_set‐
65       time(), then this affects all timers set for an absolute time.
66
67   CPT - _POSIX_CPUTIME - _SC_CPUTIME
68       The clockID CLOCK_PROCESS_CPUTIME_ID is supported.  The  initial  value
69       of  this  clock  is  0  for  each  process.   This  option  implies the
70       _POSIX_TIMERS option.  The function clock_getcpuclockid() is present.
71
72   --- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING
73       This option has been deleted. Not in final XPG6.
74
75   FSC - _POSIX_FSYNC - _SC_FSYNC
76       The function fsync() is present.
77
78   IP6 - _POSIX_IPV6 - _SC_IPV6
79       Internet Protocol Version 6 is supported.
80
81   --- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL
82       If this option is in effect (as it always is under  POSIX.1-2001)  then
83       the system implements POSIX-style job control, and the functions
84           setpgid(),
85           tcdrain(),
86           tcflush(),
87           tcgetpgrp(),
88           tcsendbreak(),
89           tcsetattr(),
90           tcsetpgrp()
91       are present.
92
93   MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES
94       Shared  memory  is supported. The include file <sys/mman.h> is present.
95       The functions mmap(), msync(), munmap() are present.
96
97   ML - _POSIX_MEMLOCK - _SC_MEMLOCK
98       Shared memory can  be  locked  into  core.  The  functions  mlockall(),
99       munlockall() are present.
100
101   MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE
102       More  precisely, ranges can be locked into core. The functions mlock(),
103       munlock() are present.
104
105   MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION
106       The function mprotect() is present.
107
108   MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING
109       The include file <mqueue.h> is present. The functions
110           mq_close(),
111           mq_getattr(),
112           mq_notify(),
113           mq_open(),
114           mq_receive(),
115           mq_send(),
116           mq_setattr(),
117           mq_unlink()
118       are present.
119
120   MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK
121       CLOCK_MONOTONIC is supported.
122       This option implies the _POSIX_TIMERS option.
123       Affected functions are
124           aio_suspend(),
125           clock_getres(),
126           clock_gettime(),
127           clock_settime(),
128           timer_create().
129
130   --- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS
131       This option has been deleted. Not in final XPG6.
132
133   --- - _POSIX_NO_TRUNC
134       If this option is in effect (as it always is under  POSIX.1-2001)  then
135       pathname components longer than NAME_MAX are not truncated, but give an
136       error.  This property may be dependent on the path prefix of the compo‐
137       nent.
138
139   PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO
140       This  option says that one can specify priorities for asynchronous I/O.
141       This affects the functions
142           aio_read(),
143           aio_write().
144
145   PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING
146       The include file <sched.h> is present. The functions
147           sched_get_priority_max(),
148           sched_get_priority_min(),
149           sched_getparam(),
150           sched_getscheduler(),
151           sched_rr_get_interval(),
152           sched_setparam(),
153           sched_setscheduler(),
154           sched_yield()
155       are present.  If also _POSIX_SPAWN is in effect, then the functions
156           posix_spawnattr_getschedparam(),
157           posix_spawnattr_getschedpolicy(),
158           posix_spawnattr_setschedparam(),
159           posix_spawnattr_setschedpolicy()
160       are present.
161
162   RS - _POSIX_RAW_SOCKETS
163       Raw sockets are supported. Affected functions  are  getsockopt(),  set‐
164       sockopt().
165
166   --- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS
167       This  option  implies  the  _POSIX_THREADS  option.  Conversely,  under
168       POSIX.1-2001 the _POSIX_THREADS option implies this option.
169       The functions
170           pthread_rwlock_destroy(),
171           pthread_rwlock_init(),
172           pthread_rwlock_rdlock(),
173           pthread_rwlock_tryrdlock(),
174           pthread_rwlock_trywrlock(),
175           pthread_rwlock_unlock(),
176           pthread_rwlock_wrlock(),
177           pthread_rwlockattr_destroy(),
178           pthread_rwlockattr_init()
179       are present.
180
181   RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS
182       Realtime signals are supported. The functions
183           sigqueue(),
184           sigtimedwait(),
185           sigwaitinfo()
186       are present.
187
188   --- - _POSIX_REGEXP - _SC_REGEXP
189       If this option is in effect (as it always is under  POSIX.1-2001)  then
190       POSIX regular expressions are supported and the functions
191           regcomp(),
192           regerror(),
193           regexec(),
194           regfree()
195       are present.
196
197   --- - _POSIX_SAVED_IDS - _SC_SAVED_IDS
198       If this option is in effect (as it always is under POSIX.1-2001) then a
199       process has a saved set-user-ID and  a  saved  set-group-ID.   Affected
200       functions are
201           exec(),
202           kill(),
203           seteuid(),
204           setegid(),
205           setgid(),
206           setuid().
207
208   SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES
209       The include file <semaphore.h> is present.  The functions
210           sem_close(),
211           sem_destroy(),
212           sem_getvalue(),
213           sem_init(),
214           sem_open(),
215           sem_post(),
216           sem_trywait(),
217           sem_unlink(),
218           sem_wait()
219       are present.
220
221   SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS
222       The functions
223           mmap(),
224           munmap(),
225           shm_open(),
226           shm_unlink()
227       are present.
228
229   --- - _POSIX_SHELL - _SC_SHELL
230       If  this  option is in effect (as it always is under POSIX.1-2001), the
231       function system() is present.
232
233   SPN - _POSIX_SPAWN - _SC_SPAWN
234       This option describes support for process creation in a  context  where
235       it  is  difficult  or  impossible to use fork(), e.g. because no MMU is
236       present.  If _POSIX_SPAWN is in effect, then the include file <spawn.h>
237       and the functions
238           posix_spawn(),
239           posix_spawn_file_actions_addclose(),
240           posix_spawn_file_actions_adddup2(),
241           posix_spawn_file_actions_addopen(),
242           posix_spawn_file_actions_destroy(),
243           posix_spawn_file_actions_init(),
244           posix_spawnattr_destroy(),
245           posix_spawnattr_getsigdefault(),
246           posix_spawnattr_getflags(),
247           posix_spawnattr_getpgroup(),
248           posix_spawnattr_getsigmask(),
249           posix_spawnattr_init(),
250           posix_spawnattr_setsigdefault(),
251           posix_spawnattr_setflags(),
252           posix_spawnattr_setpgroup(),
253           posix_spawnattr_setsigmask(),
254           posix_spawnp()
255       are present.  If also _POSIX_PRIORITY_SCHEDULING is in effect, then the
256       functions
257           posix_spawnattr_getschedparam(),
258           posix_spawnattr_getschedpolicy(),
259           posix_spawnattr_setschedparam(),
260           posix_spawnattr_setschedpolicy()
261       are present.
262
263   SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS
264       This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
265       options.  The functions
266           pthread_spin_destroy(),
267           pthread_spin_init(),
268           pthread_spin_lock(),
269           pthread_spin_trylock(),
270           pthread_spin_unlock()
271       are present.
272
273   SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER
274       The scheduling policy SCHED_SPORADIC is supported.  This option implies
275       the _POSIX_PRIORITY_SCHEDULING option.  Affected functions are
276           sched_setparam(),
277           sched_setscheduler().
278
279   SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO
280       Affected functions are open(), msync(), fsync(), fdatasync().
281
282   TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR
283       Affected functions are
284           pthread_attr_getstack(),
285           pthread_attr_getstackaddr(),
286           pthread_attr_setstack(),
287           pthread_attr_setstackaddr().
288
289   TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE
290       Affected functions are
291           pthread_attr_getstack(),
292           pthread_attr_getstacksize(),
293           pthread_attr_setstack(),
294           pthread_attr_setstacksize().
295
296   TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME
297       The clockID CLOCK_THREAD_CPUTIME_ID is supported.  This option  implies
298       the _POSIX_TIMERS option.  Affected functions are
299           pthread_getcpuclockid(),
300           clock_getres(),
301           clock_gettime(),
302           clock_settime(),
303           timer_create().
304
305   TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT
306       Affected functions are
307           pthread_mutexattr_getprotocol(),
308           pthread_mutexattr_setprotocol().
309
310   TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT
311       Affected functions are
312           pthread_mutex_getprioceiling(),
313           pthread_mutex_setprioceiling(),
314           pthread_mutexattr_getprioceiling(),
315           pthread_mutexattr_getprotocol(),
316           pthread_mutexattr_setprioceiling(),
317           pthread_mutexattr_setprotocol().
318
319   TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING
320       If this option is in effect, the different threads inside a process can
321       run with different priorities and/or  different  schedulers.   Affected
322       functions are
323           pthread_attr_getinheritsched(),
324           pthread_attr_getschedpolicy(),
325           pthread_attr_getscope(),
326           pthread_attr_setinheritsched(),
327           pthread_attr_setschedpolicy(),
328           pthread_attr_setscope(),
329           pthread_getschedparam(),
330           pthread_setschedparam(),
331           pthread_setschedprio().
332
333   TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED
334       Affected functions are
335           pthread_barrierattr_getpshared(),
336           pthread_barrierattr_setpshared(),
337           pthread_condattr_getpshared(),
338           pthread_condattr_setpshared(),
339           pthread_mutexattr_getpshared(),
340           pthread_mutexattr_setpshared(),
341           pthread_rwlockattr_getpshared(),
342           pthread_rwlockattr_setpshared().
343
344   TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS
345       Affected functions are
346           readdir_r(),
347           getgrgid_r(),
348           getgrnam_r(),
349           getpwnam_r(),
350           getpwuid_r(),
351           flockfile(),
352           ftrylockfile(),
353           funlockfile(),
354           getc_unlocked(),
355           getchar_unlocked(),
356           putc_unlocked(),
357           putchar_unlocked(),
358           rand_r(),
359           strerror_r(),
360           strtok_r(),
361           asctime_r(),
362           ctime_r(),
363           gmtime_r(),
364           localtime_r().
365
366   TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER
367       This   option  implies  the  _POSIX_THREAD_PRIORITY_SCHEDULING  option.
368       Affected functions are
369           sched_getparam(),
370           sched_setparam(),
371           sched_setscheduler().
372
373   THR - _POSIX_THREADS - _SC_THREADS
374       Basic support for POSIX threads is available. The functions
375           pthread_atfork(),
376           pthread_attr_destroy(),
377           pthread_attr_getdetachstate(),
378           pthread_attr_getschedparam(),
379           pthread_attr_init(),
380           pthread_attr_setdetachstate(),
381           pthread_attr_setschedparam(),
382           pthread_cancel(),
383           pthread_cleanup_push(),
384           pthread_cleanup_pop(),
385           pthread_cond_broadcast(),
386           pthread_cond_destroy(),
387           pthread_cond_init(),
388           pthread_cond_signal(),
389           pthread_cond_timedwait(),
390           pthread_cond_wait(),
391           pthread_condattr_destroy(),
392           pthread_condattr_init(),
393           pthread_create(),
394           pthread_detach(),
395           pthread_equal(),
396           pthread_exit(),
397           pthread_getspecific(),
398           pthread_join(),
399           pthread_key_create(),
400           pthread_key_delete(),
401           pthread_mutex_destroy(),
402           pthread_mutex_init(),
403           pthread_mutex_lock(),
404           pthread_mutex_trylock(),
405           pthread_mutex_unlock(),
406           pthread_mutexattr_destroy(),
407           pthread_mutexattr_init(),
408           pthread_once(),
409           pthread_rwlock_destroy(),
410           pthread_rwlock_init(),
411           pthread_rwlock_rdlock(),
412           pthread_rwlock_tryrdlock(),
413           pthread_rwlock_trywrlock(),
414           pthread_rwlock_unlock(),
415           pthread_rwlock_wrlock(),
416           pthread_rwlockattr_destroy(),
417           pthread_rwlockattr_init(),
418           pthread_self(),
419           pthread_setcancelstate(),
420           pthread_setcanceltype(),
421           pthread_setspecific(),
422           pthread_testcancel()
423       are present.
424
425   TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS
426       The functions
427           mq_timedreceive(),
428           mq_timedsend(),
429           pthread_mutex_timedlock(),
430           pthread_rwlock_timedrdlock(),
431           pthread_rwlock_timedwrlock(),
432           sem_timedwait(),
433           posix_trace_timedgetnext_event()
434       are present.
435
436   TMR - _POSIX_TIMERS - _SC_TIMERS
437       The functions
438           clock_getres(),
439           clock_gettime(),
440           clock_settime(),
441           nanosleep(),
442           timer_create(),
443           timer_delete(),
444           timer_gettime(),
445           timer_getoverrun(),
446           timer_settime()
447       are present.
448
449   TRC - _POSIX_TRACE - _SC_TRACE
450       POSIX tracing is available. The functions
451           posix_trace_attr_destroy(),
452           posix_trace_attr_getclockres(),
453           posix_trace_attr_getcreatetime(),
454           posix_trace_attr_getgenversion(),
455           posix_trace_attr_getmaxdatasize(),
456           posix_trace_attr_getmaxsystemeventsize(),
457           posix_trace_attr_getmaxusereventsize(),
458           posix_trace_attr_getname(),
459           posix_trace_attr_getstreamfullpolicy(),
460           posix_trace_attr_getstreamsize(),
461           posix_trace_attr_init(),
462           posix_trace_attr_setmaxdatasize(),
463           posix_trace_attr_setname(),
464           posix_trace_attr_setstreamsize(),
465           posix_trace_attr_setstreamfullpolicy(),
466           posix_trace_clear(),
467           posix_trace_create(),
468           posix_trace_event(),
469           posix_trace_eventid_equal(),
470           posix_trace_eventid_get_name(),
471           posix_trace_eventid_open(),
472           posix_trace_eventtypelist_getnext_id(),
473           posix_trace_eventtypelist_rewind(),
474           posix_trace_flush(),
475           posix_trace_get_attr(),
476           posix_trace_get_status(),
477           posix_trace_getnext_event(),
478           posix_trace_shutdown(),
479           posix_trace_start(),
480           posix_trace_stop(),
481           posix_trace_trygetnext_event()
482       are present.
483
484   TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER
485       This option implies the _POSIX_TRACE option.  The functions
486           posix_trace_eventset_add(),
487           posix_trace_eventset_del(),
488           posix_trace_eventset_empty(),
489           posix_trace_eventset_fill(),
490           posix_trace_eventset_ismember(),
491           posix_trace_get_filter(),
492           posix_trace_set_filter(),
493           posix_trace_trid_eventid_open()
494       are present.
495
496   TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT
497       Tracing children of the  traced  process  is  supported.   This  option
498       implies the _POSIX_TRACE option.  The functions
499           posix_trace_attr_getinherited(),
500           posix_trace_attr_setinherited()
501       are present.
502
503   TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG
504       This option implies the _POSIX_TRACE option.  The functions
505           posix_trace_attr_getlogfullpolicy(),
506           posix_trace_attr_getlogsize(),
507           posix_trace_attr_setlogfullpolicy(),
508           posix_trace_attr_setlogsize(),
509           posix_trace_close(),
510           posix_trace_create_withlog(),
511           posix_trace_open(),
512           posix_trace_rewind()
513       are present.
514
515   TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT
516       The functions
517           posix_mem_offset(),
518           posix_typed_mem_get_info(),
519           posix_typed_mem_open()
520       are present.
521
522   --- - _POSIX_VDISABLE
523       Always  present (probably 0). Value to set a changeable special control
524       character to indicate that it is disabled.
525
526

XOPEN EXTENSIONS

528       _XOPEN_CRYPT, _XOPEN_LEGACY, _XOPEN_REALTIME,  _XOPEN_REALTIME_THREADS,
529       _XOPEN_UNIX.
530
531
532

SEE ALSO

534       sysconf(3)
535
536
537
538POSIX                             2003-08-24                   POSIXOPTIONS(7)
Impressum