Votre IP: 38.107.179.240 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-03-2008 20:23:44

Linux  Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]


MQ_OPEN

 

Index

  1. NOM
  2. SYNOPSIS
  3. DESCRIPTION
  4. VALEUR RENVOYÉE
  5. ERREURS
  6. CONFORMITÉ À
  7. BOGUES
  8. VOIR AUSSI
  9. TRADUCTION

 

NOMIndex

mq_open - Ouvrir une file de messages  

SYNOPSISIndex

#include <mqueue.h>

mqd_t mq_open(const char *name, int oflag);
mqd_t mq_open(const char *name, int oflag, mode_t mode,
 struct mq_attr *attr);
 

DESCRIPTIONIndex

La fonction mq_open() crée une nouvelle file de messages POSIX, ou ouvre une file de messages existante. La file est identifiée par name. Pour plus de détails sur la construction de name, consultez mq_overview(7).
L'argument oflag spécifie les drapeaux qui contrôlent l'opération d'appel. Exactement un des drapeaux suivants doit être spécifié dans oflag :
O_RDONLY
Ouvrir une file pour seulement recevoir des messages.
O_WRONLY
Ouvrir une file pour seulement envoyer des messages.
O_RDWR
Ouvrir une file pour soit envoyer ou soit recevoir des messages.

Zéro ou plusieurs des drapeaux suivants peuvent être ajoutés avec un ou binaire dans oflag :
O_NONBLOCK
Ouvrir une file en mode non bloquant. Dans de telles circonstances où mq_receive() et mq_send() devraient être normalement bloquantes, ces fonctions échoueront avec le code d'erreur EAGAIN.
O_CREAT
Créer la file de messages si elle n'existe pas. Le propriétaire de la file de messages est défini à l'UID du processus appelant, il en est de même pour le GID.
O_EXCL
Si O_CREAT est spécifié dans oflag, et si une file de nom name existe déjà, alors elle échouera et renverra le code d'erreur EEXIST.

Si O_CREAT est spécifié dans oflag, alors deux arguments additionnels doivent être spécifiés. L'argument mode spécifie les permissions de la nouvelle file, comme open(2). La définition des permissions est masquée avec l'« umask » du processus. L'argument attr spécifie les attributs de la file. Consultez mq_getattr(2) pour plus de détails. Si attr est NULL, alors la file est créée avec les attributs par défaut de l'implémentation.  

VALEUR RENVOYÉEIndex

En cas de succès, mq_open() renvoie un descripteur de file de messages à utiliser avec les autres fonctions des files de messages. En cas d'erreur, mq_open() renvoie (mqd_t) -1, avec errno définie.  

ERREURSIndex

EACCESS
La file existe mais l'appelant n'a pas les permissions pour l'ouvrir dans le mode spécifié.
EINVAL
O_CREAT était spécifié dans oflag, et attr était non NULL, mais attr->mq_maxmsg ou attr->mq_msqsize n'était pas valable. Ces deux champs doivent être supérieurs à zéro. Avec un processus non privilégié (qui n'a pas la capacité CAP_SYS_RESOURCE), attr->mq_maxmsg doit être inférieur ou égal à la limite msg_max, et attr->mq_msgsize doit être inférieur ou égal à la limite msgsize_max. En plus, même avec un processus privilégié, attr->mq_maxmsg ne peut pas être plus grand que la limite HARD_MAX. Consultez mq_overview(7) pour les détails sur ces limites.
EEXIST
O_CREAT et O_EXCL sont spécifiés dans oflag, mais une file avec le même nom existe déjà.
EMFILE
Le processus a déjà le nombre maximal autorisé de fichiers et de files de messages ouverts.
ENAMETOOLONG
name est trop long.
ENFILE
La limite système du nombre de fichiers ouverts et de files de messages a été atteinte.
ENOENT
Le drapeau O_CREAT n'a pas été spécifié dans oflag, et aucune file avec ce nom n'existe.
ENOMEM
Pas assez de mémoire.
ENOSPC
Pas assez d'espace pour la création de la nouvelle file de messages. Ceci s'est probablement produit car la limite queues_max a été atteinte ; consultez mq_overview(7).
 

CONFORMITÉ ÀIndex

POSIX.1-2001.  

BOGUESIndex

Avec les noyaux antérieurs à la version 2.6.14, l'« umask » du processus n'est pas appliqué aux permissions spécifiées par mode.  

VOIR AUSSIIndex

mq_close(3), mq_getattr(3), mq_notify(3), mq_receive(3), mq_send(3), mq_unlink(3), mq_overview(7)  

TRADUCTIONIndex

Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions disponibles sur http://manpagesfr.free.fr/, mais est gérée par l'équipe francophone de traduction de Debian au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».


Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS