posixoptions(7) Miscellaneous Information Manual posixoptions(7)

posixoptions – Options de la norme POSIX

La norme POSIX (les informations ci-dessous sont extraites de la spécification POSIX.1-2001) décrit un ensemble de comportements et d'interfaces pour la conformité d'un système. Toutefois, beaucoup d'interfaces sont facultatives et il existe des macros de test de fonctionnalité pour tester la disponibilité des interfaces à la compilation et les fonctions sysconf(3), fpathconf(3), pathconf(3) et confstr(3) pour effectuer la même chose à l'exécution. Dans des scripts shell, vous pouvez utiliser getconf(1). Pour plus de détails, consultez sysconf(3).

Nous donnerons le nom de l'abréviation POSIX, l'option, le nom du paramètre passé à sysconf(3) pour s'enquérir de l'option et éventuellement une très courte description. Des détails plus précis pourront être trouvés dans la norme POSIX elle-même, aujourd'hui librement accessible sur le web.

ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO

Les fonctions de renseignement suivantes sont présentes :

posix_fadvise()
posix_fallocate()
posix_memalign()
posix_madvise()

L'en-tête <aio.h> est présent. Les fonctions suivantes sont présentes :

aio_cancel()
aio_error()
aio_fsync()
aio_read()
aio_return()
aio_suspend()
aio_write()
lio_listio()

Cette option implique les options _POSIX_THREADS et _POSIX_THREAD_SAFE_FUNCTIONS. Les fonctions suivantes sont présentes :

pthread_barrier_destroy()
pthread_barrier_init()
pthread_barrier_wait()
pthread_barrierattr_destroy()
pthread_barrierattr_init()

--- - POSIX_CHOWN_RESTRICTED

Si cette option est en vigueur (comme c'est toujours le cas sous POSIX.1-2001), seul le superutilisateur peut modifier le propriétaire d'un fichier, les utilisateurs ne pouvant que modifier le groupe d'un fichier vers un des groupes auxquels ils appartiennent. Cela affecte les fonctions suivantes :

chown()
fchown()

Cette option implique l'option _POSIX_TIMERS. Les fonctions suivantes sont présentes :

pthread_condattr_getclock()
pthread_condattr_setclock()
clock_nanosleep()

Si CLOCK_REALTIME est modifiée par la fonction clock_settime(), cela concerne tous les temporisateurs configurés pour une heure absolue.

L'identifiant d'horloge CLOCK_PROCESS_CPUTIME_ID est pris en charge. La valeur initiale de cette horloge est 0 pour chaque processus. Cette option implique l'option _POSIX_TIMERS. La fonction clock_getcpuclockid() est présente.

--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING

Cette option a été supprimée et n’existe pas dans la norme finale XPG6.

La fonction fsync() est présente.

Internet Protocol Version 6 est prise en charge.

--- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL

Si cette option est en vigueur (comme c'est toujours le cas sous POSIX.1-2001), le système implémente le contrôle de travaux de style POSIX et les fonctions suivantes sont présentes :

setpgid()
tcdrain()
tcflush()
tcgetpgrp()
tcsendbreak()
tcsetattr()
tcsetpgrp()

La mémoire partagée est gérée. Le fichier d'en-tête <sys/mman.h> est présent. Les fonctions suivantes sont présentes :

mmap()
msync()
munmap()

La mémoire partagée peut être verrouillée par le noyau. Les fonctions suivantes sont présentes :

mlockall()
munlockall()

Plus précisément, des intervalles peuvent être verrouillés par le noyau. Les fonctions suivantes sont présentes :

mlock()
munlock()

La fonction mprotect() est présente.

Le fichier d'en-tête <mqueue.h> est présent. Les fonctions suivantes sont présentes :

mq_close()
mq_getattr()
mq_notify()
mq_open()
mq_receive()
mq_send()
mq_setattr()
mq_unlink()

CLOCK_MONOTONIC est gérée. Cette option implique l'option _POSIX_TIMERS. Les fonctions suivantes sont affectées :

aio_suspend()
clock_getres()
clock_gettime()
clock_settime()
timer_create()

--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS

Cette option a été supprimée et n’existe pas dans la norme finale XPG6.

--- - _POSIX_NO_TRUNC

Si cette option est en vigueur (comme c'est toujours le cas sous POSIX.1-2001), les éléments de nom de chemin plus long que NAME_MAX ne sont pas tronqués, mais provoquent une erreur. Cette propriété peut être dépendante du préfixe du chemin de l'élément.

Cette option indique que l'on peut spécifier des priorités pour les entrées et sorties asynchrones. Cela affecte les fonctions :

aio_read()
aio_write()

Le fichier d'en-tête <sched.h> est présent. Les fonctions suivantes sont présentes :

sched_get_priority_max()
sched_get_priority_min()
sched_getparam()
sched_getscheduler()
sched_rr_get_interval()
sched_setparam()
sched_setscheduler()
sched_yield()

Si _POSIX_SPAWN est également en vigueur, les fonctions suivantes sont présentes :

posix_spawnattr_getschedparam()
posix_spawnattr_getschedpolicy()
posix_spawnattr_setschedparam()
posix_spawnattr_setschedpolicy()

Les sockets bruts (raw) sont gérés. Les fonctions suivantes sont affectées :

getsockopt()
setsockopt()

--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS

Cette option implique l'option _POSIX_THREADS. Réciproquement, dans la spécification POSIX.1-2001, l'option _POSIX_THREADS implique celle-ci.

Les fonctions suivantes sont présentes :


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()

Les signaux temps réel sont gérés. Les fonctions suivantes sont présentes :

sigqueue()
sigtimedwait()
sigwaitinfo()

--- - _POSIX_REGEXP - _SC_REGEXP

Si cette option est en vigueur (comme c'est toujours le cas sous POSIX.1-2001), les expressions rationnelles POSIX sont prises en charge et les fonctions suivantes sont présentes :

regcomp()
regerror()
regexec()
regfree()

--- - _POSIX_SAVED_IDS - _SC_SAVED_IDS

Si cette option est en vigueur (comme c'est toujours le cas sous POSIX.1-2001), un processus a un Set-UID et un Set-GID sauvegardé. Les fonctions suivantes sont affectées :

exec()
kill()
seteuid()
setegid()
setgid()
setuid()

Le fichier d'en-tête <semaphore.h> est présent. Les fonctions suivantes sont présentes :

sem_close()
sem_destroy()
sem_getvalue()
sem_init()
sem_open()
sem_post()
sem_trywait()
sem_unlink()
sem_wait()

Les fonctions suivantes sont présentes :

mmap()
munmap()
shm_open()
shm_unlink()

--- - _POSIX_SHELL - _SC_SHELL

Si cette option est en vigueur (comme c'est toujours le cas sous POSIX.1-2001), la fonction system() est présente.

Cette option décrit la gestion de la création d'un processus dans un contexte où il est difficile voire impossible d'utiliser fork(), par exemple lorsqu'aucun NMU n'est présent.

Si _POSIX_SPAWN est également en vigueur, alors le fichier d’en-tête <spawn.h> et les fonctions suivantes sont présents :

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()

Si _POSIX_PRIORITY_SCHEDULING est également en vigueur, les fonctions suivantes sont présentes :

posix_spawnattr_getschedparam()
posix_spawnattr_getschedpolicy()
posix_spawnattr_setschedparam()
posix_spawnattr_setschedpolicy()

Cette option implique les options _POSIX_THREADS et _POSIX_THREAD_SAFE_FUNCTIONS. Les fonctions suivantes sont présentes :

pthread_spin_destroy()
pthread_spin_init()
pthread_spin_lock()
pthread_spin_trylock()
pthread_spin_unlock()

La politique d'ordonnancement SCHED_SPORADIC est prise en charge. Cette option implique l'option _POSIX_PRIORITY_SCHEDULING. Les fonctions suivantes sont affectées :

sched_setparam()
sched_setscheduler()

Les fonctions suivantes sont affectées :

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

Les fonctions suivantes sont affectées :

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

Les fonctions suivantes sont affectées :

pthread_attr_getstack()
pthread_attr_getstacksize()
pthread_attr_setstack()
pthread_attr_setstacksize()

L'identifiant d'horloge CLOCK_THREAD_CPUTIME_ID est géré. Cette option implique l'option _POSIX_TIMERS. Les fonctions suivantes sont affectées :

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

Les fonctions suivantes sont affectées :

pthread_mutexattr_getprotocol()
pthread_mutexattr_setprotocol()

Les fonctions suivantes sont affectées :

pthread_mutex_getprioceiling()
pthread_mutex_setprioceiling()
pthread_mutexattr_getprioceiling()
pthread_mutexattr_getprotocol()
pthread_mutexattr_setprioceiling()
pthread_mutexattr_setprotocol()

Si cette option est en vigueur, les différents processus légers (« threads ») à l'intérieur d'un processus peuvent être exécutés avec différentes priorités et/ou par différents ordonnanceurs. Les fonctions suivantes sont affectées :

pthread_attr_getinheritsched()
pthread_attr_getschedpolicy()
pthread_attr_getscope()
pthread_attr_setinheritsched()
pthread_attr_setschedpolicy()
pthread_attr_setscope()
pthread_getschedparam()
pthread_setschedparam()
pthread_setschedprio()

Les fonctions suivantes sont affectées :

pthread_barrierattr_getpshared()
pthread_barrierattr_setpshared()
pthread_condattr_getpshared()
pthread_condattr_setpshared()
pthread_mutexattr_getpshared()
pthread_mutexattr_setpshared()
pthread_rwlockattr_getpshared()
pthread_rwlockattr_setpshared()

Les fonctions suivantes sont affectées :

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()

Cette option implique l'option _POSIX_THREAD_PRIORITY_SCHEDULING. Les fonctions suivantes sont affectées :

sched_getparam()
sched_setparam()
sched_setscheduler()

La gestion de base de processus légers POSIX est disponible. Les fonctions suivantes sont présentes :

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()

Les fonctions suivantes sont présentes :

mq_timedreceive()
mq_timedsend()
pthread_mutex_timedlock()
pthread_rwlock_timedrdlock()
pthread_rwlock_timedwrlock()
sem_timedwait()
posix_trace_timedgetnext_event()

Les fonctions suivantes sont présentes :

clock_getres()
clock_gettime()
clock_settime()
nanosleep()
timer_create()
timer_delete()
timer_gettime()
timer_getoverrun()
timer_settime()

Le traçage POSIX est disponible. Les fonctions suivantes sont présentes :

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()

Cette option implique l'option _POSIX_TRACE. Les fonctions suivantes sont présentes :

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()

Le traçage d'enfants de processus tracés est pris en charge. Cette option implique l'option _POSIX_TRACE. Les fonctions suivantes sont présentes :

posix_trace_attr_getinherited()
posix_trace_attr_setinherited()

Cette option implique l'option _POSIX_TRACE. Les fonctions suivantes sont présentes :

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()

Les fonctions suivantes sont présentes :

posix_mem_offset()
posix_typed_mem_get_info()
posix_typed_mem_open()

--- - _POSIX_VDISABLE

Toujours présente (probablement 0). Valeur pour positionner un caractère de contrôle spécial, modifiable pour indiquer qu'il est désactivé.

XSI - _XOPEN_CRYPT - _SC_XOPEN_CRYPT

Les fonctions suivantes sont présentes :

crypt()
encrypt()
setkey()

XSI - _XOPEN_REALTIME - _SC_XOPEN_REALTIME

Cette option implique les options suivantes :

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

ADV - --- - ---

Le groupe d’options temps réel amélioré implique que les options suivantes soient définies pour 200112L :

_POSIX_ADVISORY_INFO
_POSIX_CLOCK_SELECTION
(implique _POSIX_TIMERS)
_POSIX_CPUTIME
(implique _POSIX_TIMERS)
_POSIX_MONOTONIC_CLOCK
(implique _POSIX_TIMERS)
_POSIX_SPAWN
_POSIX_SPORADIC_SERVER
(implique _POSIX_THREAD_PRIORITY_SCHEDULING)
_POSIX_TIMEOUTS
_POSIX_TYPED_MEMORY_OBJECTS

XSI - _XOPEN_REALTIME_THREADS - _SC_XOPEN_REALTIME_THREADS

Cette option implique que les options suivantes soient toutes définies dans 200112L :

_POSIX_THREAD_PRIO_INHERIT
_POSIX_THREAD_PRIO_PROTECT
_POSIX_THREAD_PRIORITY_SCHEDULING

Cette option implique que les options suivantes soient toutes définies dans 200112L :

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

Cette option implique que les options suivantes soient toutes définies dans 200112L :

_POSIX_TRACE
_POSIX_TRACE_EVENT_FILTER
_POSIX_TRACE_LOG
_POSIX_TRACE_INHERIT

Les fonctions suivantes sont présentes :

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

XSI - _XOPEN_LEGACY - _SC_XOPEN_LEGACY

Les fonctions incluses dans le groupe d’options patrimonial étaient auparavant obligatoires, mais sont facultatives dans cette version. Les fonctions suivantes sont présentes :

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

XSI - _XOPEN_UNIX - _SC_XOPEN_UNIX

Les fonctions suivantes sont présentes :

mmap()
munmap()
msync()

Cette option implique les options suivantes :

_POSIX_FSYNC
_POSIX_MAPPED_FILES
_POSIX_MEMORY_PROTECTION
_POSIX_THREAD_ATTR_STACKADDR
_POSIX_THREAD_ATTR_STACKSIZE
_POSIX_THREAD_PROCESS_SHARED
_POSIX_THREAD_SAFE_FUNCTIONS
_POSIX_THREADS

Cette option peut impliquer les options suivantes des groupes d’options XSI :

sysconf(3), standards(7)

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

1 novembre 2023 Pages du manuel de Linux 6.06