Penguin
Annotated edit history of msgctl(2) version 2, including all changes. View license author blame.
Rev Author # Line
1 perry 1 !!NAME
2 msgctl - message control operations
3 !!SYNOPSIS
2 PerryLorier 4 __#include <sys/types.h>__
5 __#include <sys/ipc.h>__
6 __#include <sys/msg.h>__
1 perry 7
2 PerryLorier 8 __int msgctl ( int__ ''msqid''__, int__ ''cmd''__, struct msqid_ds *__''buf'' __)__
1 perry 9
10 !!DESCRIPTION
2 PerryLorier 11 The function performs the control operation specified by ''cmd'' on the message queue with identifier ''msqid''. Legal values for ''cmd'' are:
12 ;__IPC_STAT__: Copy info from the message queue data structure into the structure pointed to by ''buf''. The user must have read access privileges on the message queue.
13 ;__IPC_SET__: Write the values of some members of the __msqid_ds__ structure pointed to by ''buf'' to the message queue data structure, updating also its __msg_ctime__ member. Considered members from the user supplied __struct msqid_ds__ pointed to by ''buf'' are
14 ;:__msg_perm.uid__
15 ;:__msg_perm.gid__
16 ;:__msg_perm.mode__ /* only lowest 9-bits */
17 ;:__msg_qbytes__
18 ;:The calling process effective user-ID must be one among super-user, creator or owner of the message queue. Only the super-user can raise the __msg_qbytes__ value beyond the system parameter __MSGMNB__.
1 perry 19
2 PerryLorier 20 ;__IPC_RMID__: Remove immediately the message queue and its data structures awakening all waiting reader and writer processes (with an error return and __errno__ set to [EIDRM]). The calling process effective user-ID must be one among super-user, creator or owner of the message queue.
1 perry 21
22 !!RETURN VALUE
2 PerryLorier 23 If successful, the return value will be __0__, otherwise __-1__ with __errno__ indicating the error.
1 perry 24
25 !!ERRORS
2 PerryLorier 26 For a failing return, __errno__ will be set to one among the following values:
27 ;[EACCES]: The argument ''cmd'' is equal to __IPC_STAT__ but the calling process has no read access permissions on the message queue ''msqid''.
28 ;[EFAULT]: The argument ''cmd'' has value __IPC_SET__ or __IPC_STAT__ but the address pointed to by ''buf'' isn't accessible.
29 ;[EIDRM]: The message queue was removed.
30 ;[EINVAL]: Invalid value for ''cmd'' or ''msqid''.
31 ;[EPERM]: The argument ''cmd'' has value __IPC_SET__ or __IPC_RMID__ but the calling process effective user-ID has insufficient privileges to execute the command. Note
32 this is also the case of a non super-user process trying to increase the __msg_qbytes__ value beyond the value specified by the system parameter __MSGMNB__.
1 perry 33
34 !!NOTES
2 PerryLorier 35 The __IPC_INFO__, __MSG_STAT__ and __MSG_INFO__ control calls are used by the ipcs(8) program to provide information on allocated resources. In the future these can be modified as needed or moved to a proc file system interface.
1 perry 36
2 PerryLorier 37 Various fields in a ''struct msqid_ds'' were shorts under Linux 2.2 and have become longs under Linux 2.4. To take advantage of this, a recompilation under glibc-2.1.91 or later should suffice. (The kernel distinguishes old and new calls by a IPC_64 flag in ''cmd''.)
1 perry 38
39 !!CONFORMING TO
2 PerryLorier 40 SVr4, SVID. SVID does not document the [EIDRM] error condition.
1 perry 41
42 !!SEE ALSO
2 PerryLorier 43 ipc(5), msgget(2), msgsnd(2), msgrcv(2)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 8 times)