Skip to contentSkip to conversation

Update posixoptions to POSIX.1-2018

PATCH Cesar Enrique Garcia Dabo 2 participants 2 messages Feb 3, 2024 – Mar 4, 2024 2 messages not in the archive Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore
#2 lore raw
In reply to a message not in the archive

 Sure!

I hope this is the right mailing list :)

Patch is attached.

Best regards,
Enrique

Quoted 6 lines

https://bugzilla.kernel.org/show_bug.cgi?id=218453

--- Comment #5 from Alejandro Colomar ([email protected]) --- Hi Enrique,

On Fri, Feb 02, 2024 at 08:55:07PM +0000, [email protected] wrote:

Quoted 9 lines
Quoted 4 lines

https://bugzilla.kernel.org/show_bug.cgi?id=218453

--- Comment #4 from Enrique Garcia ([email protected]) ---
I have created a patch that potentially implements the changes above.

Would you mind sending the patch(es) to the mailing list?

Thanks,
Alex

From 161c3b77f278271c38f839064b3d8ac13e3f9279 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Enrique=20Garc=C3=ADa=20Dab=C3=B3?=
<[email protected]>
Date: Fri, 2 Feb 2024 21:45:03 +0100
Subject: [PATCH] Update posixoptions to POSIX.1-2018 version

---
 man7/posixoptions.7 | 367 +++-----------------------------------------
 1 file changed, 23 insertions(+), 344 deletions(-)
man7/posixoptions.7 +23 -344
index 8ca4df0ea..80284de2a 100644
@@ -26,6 +26,29 @@ 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
+The followiing options were optional in previous versions of
+the standard but are now mandatory under POSIX.1-2018 and are always
+available:
+.B _POSIX_CHOWN_RESTRICTED,
+.B _POSIX_JOB_CONTROL,
+.B _POSIX_NO_TRUNC,
+.B _POSIX_REGEXP,
+.B _POSIX_SAVED_IDS,
+.B _POSIX_SHELL,
+.B _POSIX_ASYNCHRONOUS_IO,
+.B _POSIX_BARRIERS,
+.B _POSIX_CLOCK_SELECTION,
+.B _POSIX_MAPPED_FILES,
+.B _POSIX_MEMORY_PROTECTION,
+.B _POSIX_READER_WRITER_LOCKS,
+.B _POSIX_REALTIME_SIGNALS,
+.B _POSIX_SEMAPHORES,
+.B _POSIX_SPIN_LOCKS,
+.B _POSIX_THREAD_SAFE_FUNCTIONS,
+.B _POSIX_THREADS,
+.B _POSIX_TIMEOUTS,
+.B _POSIX_TIMERS.
 .SS ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO
 The following advisory functions are present:
 .P
@@ -37,77 +60,6 @@ The following advisory functions are present:
 .IR posix_madvise ()
 .in
 .fi
-.SS AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO
-The header
-.I <aio.h>
-is present.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR aio_cancel ()
-.IR aio_error ()
-.IR aio_fsync ()
-.IR aio_read ()
-.IR aio_return ()
-.IR aio_suspend ()
-.IR aio_write ()
-.IR lio_listio ()
-.in
-.fi
-.SS BAR - _POSIX_BARRIERS - _SC_BARRIERS
-This option implies the
-.B _POSIX_THREADS
-and
-.B _POSIX_THREAD_SAFE_FUNCTIONS
-options.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR pthread_barrier_destroy ()
-.IR pthread_barrier_init ()
-.IR pthread_barrier_wait ()
-.IR pthread_barrierattr_destroy ()
-.IR pthread_barrierattr_init ()
-.in
-.fi
-.\" .SS BE
-.\" Batch environment.
-.\" .SS CD
-.\" C development.
-.SS --- - 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:
-.P
-.nf
-.in +4n
-.IR chown ()
-.IR fchown ()
-.in
-.fi
-.\" What about lchown() ?
-.SS CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION
-This option implies the
-.B _POSIX_TIMERS
-option.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR pthread_condattr_getclock ()
-.IR pthread_condattr_setclock ()
-.IR clock_nanosleep ()
-.in
-.fi
-.P
-If
-.B CLOCK_REALTIME
-is changed by the function
-.IR clock_settime (),
-then this affects all timers set for an absolute time.
 .SS CPT - _POSIX_CPUTIME - _SC_CPUTIME
 The
 .B CLOCK_PROCESS_CPUTIME_ID
@@ -123,45 +75,12 @@ is present.
 .\" Fortran development
 .\" .SS FR
 .\" Fortran runtime
-.SS --- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING
-This option has been deleted.
-Not in final XPG6.
 .SS FSC - _POSIX_FSYNC - _SC_FSYNC
 The function
 .IR fsync ()
 is present.
 .SS IP6 - _POSIX_IPV6 - _SC_IPV6
 Internet Protocol Version 6 is supported.
-.SS --- - _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:
-.P
-.nf
-.in +4n
-.IR setpgid ()
-.IR tcdrain ()
-.IR tcflush ()
-.IR tcgetpgrp ()
-.IR tcsendbreak ()
-.IR tcsetattr ()
-.IR tcsetpgrp ()
-.in
-.fi
-.SS MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES
-Shared memory is supported.
-The include file
-.I <sys/mman.h>
-is present.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR mmap ()
-.IR msync ()
-.IR munmap ()
-.in
-.fi
 .SS ML - _POSIX_MEMLOCK - _SC_MEMLOCK
 Shared memory can be locked into core.
 The following functions are present:
@@ -182,10 +101,6 @@ The following functions are present:
 .IR munlock ()
 .in
 .fi
-.SS MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION
-The function
-.IR mprotect ()
-is present.
 .SS MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING
 The include file
 .I <mqueue.h>
@@ -221,18 +136,8 @@ The following functions are affected:
 .IR timer_create ()
 .in
 .fi
-.SS --- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS
-This option has been deleted.
-Not in final XPG6.
 .\" .SS MX
 .\" IEC 60559 Floating-Point Option.
-.SS --- - _POSIX_NO_TRUNC
-If this option is in effect (as it always is under POSIX.1-2001),
-then pathname components longer than
-.B NAME_MAX
-are not truncated,
-but give an error.
-This property may be dependent on the path prefix of the component.
 .SS PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO
 This option says that one can specify priorities for asynchronous I/O.
 This affects the functions
@@ -284,90 +189,8 @@ The following functions are affected:
 .IR setsockopt ()
 .in
 .fi
-.SS --- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS
-This option implies the
-.B _POSIX_THREADS
-option.
-Conversely,
-under POSIX.1-2001 the
-.B _POSIX_THREADS
-option implies this option.
-.P
-The following functions are present:
-.P
-.in +4n
-.nf
-.IR pthread_rwlock_destroy ()
-.IR pthread_rwlock_init ()
-.IR pthread_rwlock_rdlock ()
-.IR pthread_rwlock_tryrdlock ()
-.IR pthread_rwlock_trywrlock ()
-.IR pthread_rwlock_unlock ()
-.IR pthread_rwlock_wrlock ()
-.IR pthread_rwlockattr_destroy ()
-.IR pthread_rwlockattr_init ()
-.in
-.fi
-.SS RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS
-Realtime signals are supported.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR sigqueue ()
-.IR sigtimedwait ()
-.IR sigwaitinfo ()
-.in
-.fi
-.SS --- - _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:
-.P
-.nf
-.in +4n
-.IR regcomp ()
-.IR regerror ()
-.IR regexec ()
-.IR regfree ()
-.in
-.fi
-.SS --- - _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:
-.P
-.nf
-.in +4n
-.IR exec ()
-.IR kill ()
-.IR seteuid ()
-.IR setegid ()
-.IR setgid ()
-.IR setuid ()
-.in
-.fi
 .\" .SS SD
 .\" Software development
-.SS SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES
-The include file
-.I <semaphore.h>
-is present.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR sem_close ()
-.IR sem_destroy ()
-.IR sem_getvalue ()
-.IR sem_init ()
-.IR sem_open ()
-.IR sem_post ()
-.IR sem_trywait ()
-.IR sem_unlink ()
-.IR sem_wait ()
-.in
-.fi
 .SS SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS
 The following functions are present:
 .P
@@ -379,11 +202,6 @@ The following functions are present:
 .IR shm_unlink ()
 .in
 .fi
-.SS --- - _POSIX_SHELL - _SC_SHELL
-If this option is in effect (as it always is under POSIX.1-2001),
-the function
-.IR system ()
-is present.
 .SS SPN - _POSIX_SPAWN - _SC_SPAWN
 This option describes support for process creation in a context where
 it is difficult or impossible to use
@@ -431,23 +249,6 @@ the following functions are present:
 .IR posix_spawnattr_setschedpolicy ()
 .in
 .fi
-.SS SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS
-This option implies the
-.B _POSIX_THREADS
-and
-.B _POSIX_THREAD_SAFE_FUNCTIONS
-options.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR pthread_spin_destroy ()
-.IR pthread_spin_init ()
-.IR pthread_spin_lock ()
-.IR pthread_spin_trylock ()
-.IR pthread_spin_unlock ()
-.in -4n
-.fi
 .SS SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER
 The scheduling policy
 .B SCHED_SPORADIC
@@ -567,32 +368,6 @@ The following functions are affected:
 .IR pthread_rwlockattr_setpshared ()
 .in
 .fi
-.SS TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS
-The following functions are affected:
-.P
-.nf
-.in +4n
-.IR readdir_r ()
-.IR getgrgid_r ()
-.IR getgrnam_r ()
-.IR getpwnam_r ()
-.IR getpwuid_r ()
-.IR flockfile ()
-.IR ftrylockfile ()
-.IR funlockfile ()
-.IR getc_unlocked ()
-.IR getchar_unlocked ()
-.IR putc_unlocked ()
-.IR putchar_unlocked ()
-.IR rand_r ()
-.IR strerror_r ()
-.IR strtok_r ()
-.IR asctime_r ()
-.IR ctime_r ()
-.IR gmtime_r ()
-.IR localtime_r ()
-.in
-.fi
 .SS TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER
 This option implies the
 .B _POSIX_THREAD_PRIORITY_SCHEDULING
@@ -606,92 +381,6 @@ The following functions are affected:
 .IR sched_setscheduler ()
 .in
 .fi
-.SS THR - _POSIX_THREADS - _SC_THREADS
-Basic support for POSIX threads is available.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR pthread_atfork ()
-.IR pthread_attr_destroy ()
-.IR pthread_attr_getdetachstate ()
-.IR pthread_attr_getschedparam ()
-.IR pthread_attr_init ()
-.IR pthread_attr_setdetachstate ()
-.IR pthread_attr_setschedparam ()
-.IR pthread_cancel ()
-.IR pthread_cleanup_push ()
-.IR pthread_cleanup_pop ()
-.IR pthread_cond_broadcast ()
-.IR pthread_cond_destroy ()
-.IR pthread_cond_init ()
-.IR pthread_cond_signal ()
-.IR pthread_cond_timedwait ()
-.IR pthread_cond_wait ()
-.IR pthread_condattr_destroy ()
-.IR pthread_condattr_init ()
-.IR pthread_create ()
-.IR pthread_detach ()
-.IR pthread_equal ()
-.IR pthread_exit ()
-.IR pthread_getspecific ()
-.IR pthread_join ()
-.IR pthread_key_create ()
-.IR pthread_key_delete ()
-.IR pthread_mutex_destroy ()
-.IR pthread_mutex_init ()
-.IR pthread_mutex_lock ()
-.IR pthread_mutex_trylock ()
-.IR pthread_mutex_unlock ()
-.IR pthread_mutexattr_destroy ()
-.IR pthread_mutexattr_init ()
-.IR pthread_once ()
-.IR pthread_rwlock_destroy ()
-.IR pthread_rwlock_init ()
-.IR pthread_rwlock_rdlock ()
-.IR pthread_rwlock_tryrdlock ()
-.IR pthread_rwlock_trywrlock ()
-.IR pthread_rwlock_unlock ()
-.IR pthread_rwlock_wrlock ()
-.IR pthread_rwlockattr_destroy ()
-.IR pthread_rwlockattr_init ()
-.IR pthread_self ()
-.IR pthread_setcancelstate ()
-.IR pthread_setcanceltype ()
-.IR pthread_setspecific ()
-.IR pthread_testcancel ()
-.in
-.fi
-.SS TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR mq_timedreceive ()
-.IR mq_timedsend ()
-.IR pthread_mutex_timedlock ()
-.IR pthread_rwlock_timedrdlock ()
-.IR pthread_rwlock_timedwrlock ()
-.IR sem_timedwait ()
-.IR posix_trace_timedgetnext_event ()
-.in
-.fi
-.SS TMR - _POSIX_TIMERS - _SC_TIMERS
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR clock_getres ()
-.IR clock_gettime ()
-.IR clock_settime ()
-.IR nanosleep ()
-.IR timer_create ()
-.IR timer_delete ()
-.IR timer_gettime ()
-.IR timer_getoverrun ()
-.IR timer_settime ()
-.in
-.fi
 .SS TRC - _POSIX_TRACE - _SC_TRACE
 POSIX tracing is available.
 The following functions are present:
@@ -974,19 +663,11 @@ This option implies the following options:
 .TP
 .B _POSIX_FSYNC
 .TP
-.B _POSIX_MAPPED_FILES
-.TP
-.B _POSIX_MEMORY_PROTECTION
-.TP
 .B _POSIX_THREAD_ATTR_STACKADDR
 .TP
 .B _POSIX_THREAD_ATTR_STACKSIZE
 .TP
 .B _POSIX_THREAD_PROCESS_SHARED
-.TP
-.B _POSIX_THREAD_SAFE_FUNCTIONS
-.TP
-.B _POSIX_THREADS
 .PD
 .P
 This option may imply the following options from the XSI option groups:
@@ -1006,8 +687,6 @@ This option may imply the following options from the XSI option groups:
 .RB "Tracing (" TRACING )
 .TP
 .RB "XSI Streams (" STREAMS )
-.TP
-.RB "Legacy (" _XOPEN_LEGACY )
 .PD
 .SH SEE ALSO
 .BR sysconf (3),
Signature · 1 line
2.43.0
#3 lore raw

Hi Cesar,

Quoted 3 lines · Cesar Enrique Garcia Dabo

 Sure!

I hope this is the right mailing list :)

Yup, it is.

Quoted 21 lines

Patch is attached.

Best regards,
Enrique

Quoted 6 lines

https://bugzilla.kernel.org/show_bug.cgi?id=218453

--- Comment #5 from Alejandro Colomar ([email protected]) --- Hi Enrique,

On Fri, Feb 02, 2024 at 08:55:07PM +0000, [email protected] wrote:

Quoted 9 lines
Quoted 4 lines

https://bugzilla.kernel.org/show_bug.cgi?id=218453

--- Comment #4 from Enrique Garcia ([email protected]) ---
I have created a patch that potentially implements the changes above.

Would you mind sending the patch(es) to the mailing list?

Thanks,
Alex

Quoted 5 lines

From 161c3b77f278271c38f839064b3d8ac13e3f9279 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9sar=20Enrique=20Garc=C3=ADa=20Dab=C3=B3?=
<[email protected]>
Date: Fri, 2 Feb 2024 21:45:03 +0100
Subject: [PATCH] Update posixoptions to POSIX.1-2018 version

You probably mean POSIX.1-2008. (There's POSIX.1-2017, but it's just a bugfix.)

See

$ MANWIDTH=72 man standards | grep '^ \{1,7\}POSIX.1.20'
     POSIX.1‐2001
     POSIX.1‐2008
     POSIX.1‐2017
Quoted 2 lines

---

Please add some more text. Why are some things moved and described as being optional in the past, and other just removed?

Thanks for the patch, and sorry for the delay!

Have a lovely day!
Alex

man7/posixoptions.7 parameter used to inquire about the option, and possibly · line 29

Quoted 12 lines
 man7/posixoptions.7 | 367 +++-----------------------------------------
 1 file changed, 23 insertions(+), 344 deletions(-)
man7/posixoptions.7 +1 -0
index 8ca4df0ea..80284de2a 100644
@@ -26,6 +26,29 @@ 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

I prefer if we add a HISTORY section, and move there the historically- optional parts.

That way, the DESCRIPTION is simple: if you see an option there, it's optional. No need to parse the text.

Quoted 464 lines
man7/posixoptions.7 +22 -344
+The followiing options were optional in previous versions of
+the standard but are now mandatory under POSIX.1-2018 and are always
+available:
+.B _POSIX_CHOWN_RESTRICTED,
+.B _POSIX_JOB_CONTROL,
+.B _POSIX_NO_TRUNC,
+.B _POSIX_REGEXP,
+.B _POSIX_SAVED_IDS,
+.B _POSIX_SHELL,
+.B _POSIX_ASYNCHRONOUS_IO,
+.B _POSIX_BARRIERS,
+.B _POSIX_CLOCK_SELECTION,
+.B _POSIX_MAPPED_FILES,
+.B _POSIX_MEMORY_PROTECTION,
+.B _POSIX_READER_WRITER_LOCKS,
+.B _POSIX_REALTIME_SIGNALS,
+.B _POSIX_SEMAPHORES,
+.B _POSIX_SPIN_LOCKS,
+.B _POSIX_THREAD_SAFE_FUNCTIONS,
+.B _POSIX_THREADS,
+.B _POSIX_TIMEOUTS,
+.B _POSIX_TIMERS.
 .SS ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO
 The following advisory functions are present:
 .P
@@ -37,77 +60,6 @@ The following advisory functions are present:
 .IR posix_madvise ()
 .in
 .fi
-.SS AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO
-The header
-.I <aio.h>
-is present.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR aio_cancel ()
-.IR aio_error ()
-.IR aio_fsync ()
-.IR aio_read ()
-.IR aio_return ()
-.IR aio_suspend ()
-.IR aio_write ()
-.IR lio_listio ()
-.in
-.fi
-.SS BAR - _POSIX_BARRIERS - _SC_BARRIERS
-This option implies the
-.B _POSIX_THREADS
-and
-.B _POSIX_THREAD_SAFE_FUNCTIONS
-options.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR pthread_barrier_destroy ()
-.IR pthread_barrier_init ()
-.IR pthread_barrier_wait ()
-.IR pthread_barrierattr_destroy ()
-.IR pthread_barrierattr_init ()
-.in
-.fi
-.\" .SS BE
-.\" Batch environment.
-.\" .SS CD
-.\" C development.
-.SS --- - 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:
-.P
-.nf
-.in +4n
-.IR chown ()
-.IR fchown ()
-.in
-.fi
-.\" What about lchown() ?
-.SS CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION
-This option implies the
-.B _POSIX_TIMERS
-option.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR pthread_condattr_getclock ()
-.IR pthread_condattr_setclock ()
-.IR clock_nanosleep ()
-.in
-.fi
-.P
-If
-.B CLOCK_REALTIME
-is changed by the function
-.IR clock_settime (),
-then this affects all timers set for an absolute time.
 .SS CPT - _POSIX_CPUTIME - _SC_CPUTIME
 The
 .B CLOCK_PROCESS_CPUTIME_ID
@@ -123,45 +75,12 @@ is present.
 .\" Fortran development
 .\" .SS FR
 .\" Fortran runtime
-.SS --- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING
-This option has been deleted.
-Not in final XPG6.
 .SS FSC - _POSIX_FSYNC - _SC_FSYNC
 The function
 .IR fsync ()
 is present.
 .SS IP6 - _POSIX_IPV6 - _SC_IPV6
 Internet Protocol Version 6 is supported.
-.SS --- - _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:
-.P
-.nf
-.in +4n
-.IR setpgid ()
-.IR tcdrain ()
-.IR tcflush ()
-.IR tcgetpgrp ()
-.IR tcsendbreak ()
-.IR tcsetattr ()
-.IR tcsetpgrp ()
-.in
-.fi
-.SS MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES
-Shared memory is supported.
-The include file
-.I <sys/mman.h>
-is present.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR mmap ()
-.IR msync ()
-.IR munmap ()
-.in
-.fi
 .SS ML - _POSIX_MEMLOCK - _SC_MEMLOCK
 Shared memory can be locked into core.
 The following functions are present:
@@ -182,10 +101,6 @@ The following functions are present:
 .IR munlock ()
 .in
 .fi
-.SS MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION
-The function
-.IR mprotect ()
-is present.
 .SS MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING
 The include file
 .I <mqueue.h>
@@ -221,18 +136,8 @@ The following functions are affected:
 .IR timer_create ()
 .in
 .fi
-.SS --- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS
-This option has been deleted.
-Not in final XPG6.
 .\" .SS MX
 .\" IEC 60559 Floating-Point Option.
-.SS --- - _POSIX_NO_TRUNC
-If this option is in effect (as it always is under POSIX.1-2001),
-then pathname components longer than
-.B NAME_MAX
-are not truncated,
-but give an error.
-This property may be dependent on the path prefix of the component.
 .SS PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO
 This option says that one can specify priorities for asynchronous I/O.
 This affects the functions
@@ -284,90 +189,8 @@ The following functions are affected:
 .IR setsockopt ()
 .in
 .fi
-.SS --- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS
-This option implies the
-.B _POSIX_THREADS
-option.
-Conversely,
-under POSIX.1-2001 the
-.B _POSIX_THREADS
-option implies this option.
-.P
-The following functions are present:
-.P
-.in +4n
-.nf
-.IR pthread_rwlock_destroy ()
-.IR pthread_rwlock_init ()
-.IR pthread_rwlock_rdlock ()
-.IR pthread_rwlock_tryrdlock ()
-.IR pthread_rwlock_trywrlock ()
-.IR pthread_rwlock_unlock ()
-.IR pthread_rwlock_wrlock ()
-.IR pthread_rwlockattr_destroy ()
-.IR pthread_rwlockattr_init ()
-.in
-.fi
-.SS RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS
-Realtime signals are supported.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR sigqueue ()
-.IR sigtimedwait ()
-.IR sigwaitinfo ()
-.in
-.fi
-.SS --- - _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:
-.P
-.nf
-.in +4n
-.IR regcomp ()
-.IR regerror ()
-.IR regexec ()
-.IR regfree ()
-.in
-.fi
-.SS --- - _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:
-.P
-.nf
-.in +4n
-.IR exec ()
-.IR kill ()
-.IR seteuid ()
-.IR setegid ()
-.IR setgid ()
-.IR setuid ()
-.in
-.fi
 .\" .SS SD
 .\" Software development
-.SS SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES
-The include file
-.I <semaphore.h>
-is present.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR sem_close ()
-.IR sem_destroy ()
-.IR sem_getvalue ()
-.IR sem_init ()
-.IR sem_open ()
-.IR sem_post ()
-.IR sem_trywait ()
-.IR sem_unlink ()
-.IR sem_wait ()
-.in
-.fi
 .SS SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS
 The following functions are present:
 .P
@@ -379,11 +202,6 @@ The following functions are present:
 .IR shm_unlink ()
 .in
 .fi
-.SS --- - _POSIX_SHELL - _SC_SHELL
-If this option is in effect (as it always is under POSIX.1-2001),
-the function
-.IR system ()
-is present.
 .SS SPN - _POSIX_SPAWN - _SC_SPAWN
 This option describes support for process creation in a context where
 it is difficult or impossible to use
@@ -431,23 +249,6 @@ the following functions are present:
 .IR posix_spawnattr_setschedpolicy ()
 .in
 .fi
-.SS SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS
-This option implies the
-.B _POSIX_THREADS
-and
-.B _POSIX_THREAD_SAFE_FUNCTIONS
-options.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR pthread_spin_destroy ()
-.IR pthread_spin_init ()
-.IR pthread_spin_lock ()
-.IR pthread_spin_trylock ()
-.IR pthread_spin_unlock ()
-.in -4n
-.fi
 .SS SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER
 The scheduling policy
 .B SCHED_SPORADIC
@@ -567,32 +368,6 @@ The following functions are affected:
 .IR pthread_rwlockattr_setpshared ()
 .in
 .fi
-.SS TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS
-The following functions are affected:
-.P
-.nf
-.in +4n
-.IR readdir_r ()
-.IR getgrgid_r ()
-.IR getgrnam_r ()
-.IR getpwnam_r ()
-.IR getpwuid_r ()
-.IR flockfile ()
-.IR ftrylockfile ()
-.IR funlockfile ()
-.IR getc_unlocked ()
-.IR getchar_unlocked ()
-.IR putc_unlocked ()
-.IR putchar_unlocked ()
-.IR rand_r ()
-.IR strerror_r ()
-.IR strtok_r ()
-.IR asctime_r ()
-.IR ctime_r ()
-.IR gmtime_r ()
-.IR localtime_r ()
-.in
-.fi
 .SS TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER
 This option implies the
 .B _POSIX_THREAD_PRIORITY_SCHEDULING
@@ -606,92 +381,6 @@ The following functions are affected:
 .IR sched_setscheduler ()
 .in
 .fi
-.SS THR - _POSIX_THREADS - _SC_THREADS
-Basic support for POSIX threads is available.
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR pthread_atfork ()
-.IR pthread_attr_destroy ()
-.IR pthread_attr_getdetachstate ()
-.IR pthread_attr_getschedparam ()
-.IR pthread_attr_init ()
-.IR pthread_attr_setdetachstate ()
-.IR pthread_attr_setschedparam ()
-.IR pthread_cancel ()
-.IR pthread_cleanup_push ()
-.IR pthread_cleanup_pop ()
-.IR pthread_cond_broadcast ()
-.IR pthread_cond_destroy ()
-.IR pthread_cond_init ()
-.IR pthread_cond_signal ()
-.IR pthread_cond_timedwait ()
-.IR pthread_cond_wait ()
-.IR pthread_condattr_destroy ()
-.IR pthread_condattr_init ()
-.IR pthread_create ()
-.IR pthread_detach ()
-.IR pthread_equal ()
-.IR pthread_exit ()
-.IR pthread_getspecific ()
-.IR pthread_join ()
-.IR pthread_key_create ()
-.IR pthread_key_delete ()
-.IR pthread_mutex_destroy ()
-.IR pthread_mutex_init ()
-.IR pthread_mutex_lock ()
-.IR pthread_mutex_trylock ()
-.IR pthread_mutex_unlock ()
-.IR pthread_mutexattr_destroy ()
-.IR pthread_mutexattr_init ()
-.IR pthread_once ()
-.IR pthread_rwlock_destroy ()
-.IR pthread_rwlock_init ()
-.IR pthread_rwlock_rdlock ()
-.IR pthread_rwlock_tryrdlock ()
-.IR pthread_rwlock_trywrlock ()
-.IR pthread_rwlock_unlock ()
-.IR pthread_rwlock_wrlock ()
-.IR pthread_rwlockattr_destroy ()
-.IR pthread_rwlockattr_init ()
-.IR pthread_self ()
-.IR pthread_setcancelstate ()
-.IR pthread_setcanceltype ()
-.IR pthread_setspecific ()
-.IR pthread_testcancel ()
-.in
-.fi
-.SS TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR mq_timedreceive ()
-.IR mq_timedsend ()
-.IR pthread_mutex_timedlock ()
-.IR pthread_rwlock_timedrdlock ()
-.IR pthread_rwlock_timedwrlock ()
-.IR sem_timedwait ()
-.IR posix_trace_timedgetnext_event ()
-.in
-.fi
-.SS TMR - _POSIX_TIMERS - _SC_TIMERS
-The following functions are present:
-.P
-.nf
-.in +4n
-.IR clock_getres ()
-.IR clock_gettime ()
-.IR clock_settime ()
-.IR nanosleep ()
-.IR timer_create ()
-.IR timer_delete ()
-.IR timer_gettime ()
-.IR timer_getoverrun ()
-.IR timer_settime ()
-.in
-.fi
 .SS TRC - _POSIX_TRACE - _SC_TRACE
 POSIX tracing is available.
 The following functions are present:
@@ -974,19 +663,11 @@ This option implies the following options:
 .TP
 .B _POSIX_FSYNC
 .TP
-.B _POSIX_MAPPED_FILES
-.TP
-.B _POSIX_MEMORY_PROTECTION
-.TP
 .B _POSIX_THREAD_ATTR_STACKADDR
 .TP
 .B _POSIX_THREAD_ATTR_STACKSIZE
 .TP
 .B _POSIX_THREAD_PROCESS_SHARED
-.TP
-.B _POSIX_THREAD_SAFE_FUNCTIONS
-.TP
-.B _POSIX_THREADS
 .PD
 .P
 This option may imply the following options from the XSI option groups:
@@ -1006,8 +687,6 @@ This option may imply the following options from the XSI option groups:
 .RB "Tracing (" TRACING )
 .TP
 .RB "XSI Streams (" STREAMS )
-.TP
-.RB "Legacy (" _XOPEN_LEGACY )
 .PD
 .SH SEE ALSO
 .BR sysconf (3),
Signature · 1 line
2.43.0
Signature · 2 lines
<https://www.alejandro-colomar.es/>
Looking for a remote C programming job at the moment.