.\" -*- coding: UTF-8 -*-
.\" Copyright 1993 Giorgio Ciucci <giorgio@crcc.it>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Added correction due to Nick Duffek <nsd@bbc.com>, aeb, 960426
.\" Modified Wed Nov  6 04:00:31 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified, 8 Jan 2003, Michael Kerrisk, <mtk.manpages@gmail.com>
.\"	Removed EIDRM from errors - that can't happen...
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\"     Added notes on capability requirements
.\" Modified, 11 Nov 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\"	Language and formatting clean-ups
.\"	Added notes on /proc files
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH msgget 2 "5 février 2023" "Pages du manuel de Linux 6.03" 
.SH NOM
msgget \- Obtenir un identifiant de file de messages System\ V
.SH BIBLIOTHÈQUE
Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP)
.SH SYNOPSIS
.nf
\fB#include <sys/msg.h>\fP
.PP
\fBint msgget(key_t \fP\fIkey\fP\fB, int \fP\fImsgflg\fP\fB);\fP
.fi
.SH DESCRIPTION
L'appel système \fBmsgget\fP() renvoie l'identifiant de la file de messages
System\ V associée à la valeur de la clé \fIkey\fP. Il peut être utilisé soit
pour obtenir l'identifiant d'une file de messages précédemment créée (quand
\fImsgflg\fP vaut zéro et \fIkey\fP n'a pas la valeur \fBIPC_PRIVATE\fP), soit pour
créer un nouvel ensemble.
.PP
Une nouvelle file de messages est créée si \fIkey\fP a la valeur \fBIPC_PRIVATE\fP
ou bien si \fIkey\fP n'est pas \fBIPC_PRIVATE\fP, aucune file de messages n'est
associée à \fIkey\fP, et \fBIPC_CREAT\fP a été introduit dans \fImsgflg\fP.
.PP
Si \fImsgflg\fP indique à la fois \fBIPC_CREAT\fP et \fBIPC_EXCL\fP et une file de
messages est déjà associée à \fIkey\fP, \fBmsgget\fP() échoue en positionnant
\fIerrno\fP à \fBEEXIST\fP. Cela est similaire au comportement de \fBopen\fP(2) avec
la combinaison \fBO_CREAT | O_EXCL\fP.
.PP
Lors de la création, les bits de poids faible de l'argument \fImsgflg\fP
définissent les permissions d'accès à la file de messages Ces bits de
permission ont le même format et la même sémantique que les permissions
indiquées pour l’argument \fImode\fP dans les appels \fBopen\fP(2). (Les
permissions d'exécution ne sont pas utilisées).
.PP
Lors de la création d’une nouvelle file de messages, sa structure de données
associée \fImsqid_ds\fP (consultez \fBmsgctl\fP(2)) est initialisée comme suit\ :
.IP \[bu] 3
\fImsg_perm.cuid\fP et \fImsg_perm.uid\fP sont remplis avec l'UID effectif du
processus appelant.
.IP \[bu]
\fImsg_perm.cgid\fP et \fImsg_perm.gid\fP sont remplis avec le GID effectif du
processus appelant.
.IP \[bu]
Les 9 bits de poids faible de \fImsgflg\fP sont copiés dans les 9 bits de poids
faible de \fImsg_perm.mode\fP.
.IP \[bu]
\fImsg_qnum\fP, \fImsg_lspid\fP, \fImsg_lrpid\fP, \fImsg_stime\fP et \fImsg_rtime\fP sont
configurés à \fB0\fP.
.IP \[bu]
\fImsg_ctime\fP est rempli avec l'heure actuelle.
.IP \[bu]
\fImsg_qbytes\fP est rempli avec la limite système \fBMSGMNB\fP.
.PP
Si la file de messages existe déjà, les permissions d'accès sont contrôlées,
et une vérification est faite pour voir si la file est prête à être
détruite.
.SH "VALEUR RENVOYÉE"
\fBmsgget\fP() renvoie l'identifiant de la file de messages (un entier non
négatif), s'il réussit. En cas d'échec \fB\-1\fP est renvoyé et \fIerrno\fP est
défini pour indiquer l'erreur.
.SH ERREURS
.TP 
\fBEACCES\fP
Une file de messages existe associée à la clé \fIkey\fP, mais le processus
appelant n'a pas de permissions pour accéder à cette file et n'a pas la
capacité \fBCAP_IPC_OWNER\fP dans l'espace de noms utilisateur qui gère son
espace de noms IPC.
.TP 
\fBEEXIST\fP
\fBIPC_CREAT\fP et \fBIPC_EXCL\fP sont spécifiés dans \fImsgflg\fP, mais une file de
messages associée à la clé \fIkey\fP existe déjà.
.TP 
\fBENOENT\fP
Aucune file de messages n'existe associée à la clé \fIkey\fP et \fImsgflg\fP ne
contient pas \fBIPC_CREAT\fP.
.TP 
\fBENOMEM\fP
Le système doit créer une file de messages, mais n'a pas assez de mémoire
pour la nouvelle structure de données.
.TP 
\fBENOSPC\fP
Une file de messages doit être créée mais le nombre maximal de files de
messages sur le système (\fBMSGMNI\fP) est atteint.
.SH STANDARDS
POSIX.1\-2001, POSIX.1\-2008, SVr4.
.SH NOTES
\fBIPC_PRIVATE\fP n'est pas destiné au champ \fImsgflg\fP mais est du type
\fIkey_t\fP. Si cette valeur spéciale est fournie pour \fIkey\fP, l'appel système
ignorera tout sauf les 9\ bits de poids faible de \fImsgflg\fP et créera une
nouvelle file de messages (en cas de succès).
.PP
La limite système concernant les ressources de files de messages et
affectant un appel à \fBmsgget\fP() est\ :
.TP 
\fBMSGMNI\fP
.\" commit 0050ee059f7fc86b1df2527aaa14ed5dc72f9973
Limite système du nombre de files de messages. Avant Linux 3.19, la valeur
par défaut de cette limite était calculée en utilisant une formule fondée
sur la mémoire disponible du système. Depuis Linux 3.19, la valeur par
défaut est de 32\ 000. Sous Linux, cette limite peut être consultée et
modifiée grâce au fichier \fI/proc/sys/kernel/msgmni\fP.
.SS "Notes pour Linux"
Jusqu'à Linux\ 2.3.20, Linux renvoyait \fBEIDRM\fP pour un \fBmsgget\fP() sur une
file de messages prête à être supprimée.
.SH BOGUES
Le choix du nom \fBIPC_PRIVATE\fP est malheureux, \fBIPC_NEW\fP aurait mieux
décrit sa fonction.
.SH "VOIR AUSSI"
\fBmsgctl\fP(2), \fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7),
\fBmq_overview\fP(7), \fBsysvipc\fP(7)
.PP
.SH TRADUCTION
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-Philippe MENGUAL <jpmengual@debian.org>
.
.PP
Cette traduction est une documentation libre ; veuillez vous reporter à la
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License version 3
.UE
concernant les conditions de copie et 
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
.PP
Si vous découvrez un bogue dans la traduction de cette page de manuel, 
veuillez envoyer un message à
.MT debian-l10n-french@lists.debian.org
.ME .