Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
msgctl(2)
Edit
PageHistory
Diff
Info
LikePages
You are viewing an old revision of this page.
View the current version
.
MSGCTL !!!MSGCTL NAME SYNOPSIS DESCRIPTION RETURN VALUE ERRORS NOTES CONFORMING TO SEE ALSO ---- !!NAME msgctl - message control operations !!SYNOPSIS __# include ____int msgctl ( int__ ''msqid''__, int__ ''cmd''__, struct msqid_ds *__''buf'' __)__ !!DESCRIPTION The function performs the control operation specified by ''cmd'' on the message queue with identifier ''msqid''. Legal values for ''cmd'' are: __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. __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 __ msg_perm.uid msg_perm.gid msg_perm.mode__ /* only lowest 9-bits */ __ msg_qbytes __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__. __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. !!RETURN VALUE If successful, the return value will be __0__, otherwise __-1__ with __errno__ indicating the error. !!ERRORS For a failing return, __errno__ will be set to one among the following values: __EACCES__ The argument ''cmd'' is equal to __IPC_STAT__ but the calling process has no read access permissions on the message queue ''msqid''. __EFAULT__ The argument ''cmd'' has value __IPC_SET__ or __IPC_STAT__ but the address pointed to by ''buf'' isn't accessible. __EIDRM__ The message queue was removed. __EINVAL__ Invalid value for ''cmd'' or ''msqid''. __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 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__. !!NOTES 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. 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''.) !!CONFORMING TO SVr4, SVID. SVID does not document the EIDRM error condition. !!SEE ALSO ipc(5), msgget(2), msgsnd(2), msgrcv(2) ----
8 pages link to
msgctl(2)
:
ipc(2)
perlfunc(1)
Man2m
ipc(5)
msgrcv(2)
msgsnd(2)
msgget(2)
msgop(2)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.