MSGCTL(2) Manuel du programmeur Linux MSGCTL(2)
NOM
msgctl - Contrôler les messages.
SYNOPSIS
# include <sys/types.h>
# include <sys/ipc.h>
# include <sys/msg.h>
int msgctl ( int msqid, int cmd, struct msqid_ds *buf )
DESCRIPTION
Cette fonction permet d'effectuer l'opération indiquée par
cmd sur la file de messages ayant l'identificateur msqid.
Les valeurs possibles de cmd sont :
IPC_STAT Copier les informations depuis la structure
représentant la file de messages dans la
structure pointée par buf. L'appelant doit
avoir des privilèges d'accès en lecture sur la
file de messages.
IPC_SET Ecrire la valeurs de certains champs de la
structure msqid_ds pointée par buf dans la
structure représentant la file de messages, en
mettant à jour le champ msg_ctime. Les champs
à copier depuis la structure struct msqid_ds
pointée par buf sont
msg_perm.uid
msg_perm.gid
msg_perm.mode /* 9 bits poids faibles */
msg_qbytes
L'UID effectif du processus appelant doit être
soit celui du Super-User soit celui du
créateur ou du proprietaire de la file de mes
sages. Seul le Super-User peut augmenter la
valeur de msg_qbytes au-dessus de la constante
système MSGMNB.
IPC_RMID Effacer immédiatement la file de messages et
ses structures de données, en réveillant tous
les processus écrivains et lecteurs en
attente. Ils obtiendront un code d'erreur, et
errno aura la valeur EIDRM. L'UID effectif du
processus appelant doit être soit celui du
Super-User soit celui du créateur ou du pro
priétaire de la file de messages.
VALEUR RENVOYÉE
msgctl renvoie 0 s'il réussit, ou -1 s'il échoue, auquel
cas errno contient le code d'erreur.
Linux 8 Avril 1997 1
MSGCTL(2) Manuel du programmeur Linux MSGCTL(2)
ERREURS
EACCES L'argument cmd réclame l'operation IPC_STAT
mais le processus appelant n'a pas d'accès en
lecture sur la file de messages msqid.
EFAULT L'argument cmd réclame l'opération IPC_SET ou
IPC_STAT mais buf pointe en dehors de l'espace
d'adressage accessible.
EIDRM La file de messages a déjà été supprimée.
EINVAL cmd ou msqid ont une valeur illégale.
EPERM L'argument cmd réclame l'opération IPC_SET ou
IPC_RMID mais l'UID effectif du processus
appelant n'a pas assez de privilèges pour
réaliser la commande. C'est aussi le cas d'un
processus non Super-User tentant d'augmenter
msg_qbytes au-dessus de la valeur MSGMNB.
NOTES
Les appels IPC_INFO, MSG_STAT et MSG_INFO sont utilisés
par le programme ipcs(8) pour fournir des informations sur
les ressources allouées dans le futur, ceci peut être mod
ifié si besoin, ou remplacé par une interface avec le
système de fichiers proc.
CONFORMITÉ
SVr4, SVID. SVID ne documente pas la condition d'erreur
EIDRM.
VOIR AUSSI
ipc(5), msgget(2), msgsnd(2), msgrcv(2).
TRADUCTION
Christophe Blaess, 1997.
Linux 8 Avril 1997 2