*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> standard/msgctl (2)              
Title
Content
Arch
Section
 

Contents


msgctl(2)							     msgctl(2)


NAME    [Toc]    [Back]

     msgctl - message control operations

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>
     #include <sys/ipc.h>
     #include <sys/msg.h>

     int msgctl(int msqid, int cmd, .../* struct msqid_ds *buf */);

DESCRIPTION    [Toc]    [Back]

     msgctl provides a variety of message control operations as	specified by
     cmd.  The following cmds are available:

     IPC_STAT	 Place the current value of each member	of the data structure
		 associated with msqid into the	structure pointed to by	buf.
		 The contents of this structure	are defined in intro(2).

     IPC_SET	 Set the value of the following	members	of the data structure
		 associated with msqid to the corresponding value found	in the
		 structure pointed to by buf:
		       msg_perm.uid
		       msg_perm.gid
		       msg_perm.mode /*	only access permission bits */
		       msg_qbytes

		 This cmd can only be executed by a process that has an
		 effective user	ID equal to the	value of msg_perm.cuid or
		 msg_perm.uid in the data structure associated with msqid, or
		 by a process that has the super-user privilege.

     A process with the	super-user privilege can raise the value of
     msg_qbytes.

     IPC_RMID
	  Remove the message queue identifier specified	by msqid from the
	  system and destroy the message queue and data	structure associated
	  with it.  This cmd can only be executed by a process that has	an
	  effective user ID equal to either that of super user,	or to the
	  value	of msg_perm.cuid or msg_perm.uid in the	data structure
	  associated with msqid.

     msgctl fails if one or more of the	following are true:

     EACCES	    cmd	is IPC_STAT and	operation permission is	denied to the
		    calling process [see intro(2)].

     EFAULT	    buf	points to an illegal address.

     EINVAL	    msqid is not a valid message queue identifier.





									Page 1






msgctl(2)							     msgctl(2)



     EINVAL	    cmd	is not a valid command.

     EINVAL	    cmd	is IPC_SET and msg_perm.uid or msg_perm.gid is not
		    valid.

     EOVERFLOW	    cmd	is IPC_STAT and	uid or gid is too large	to be stored
		    in the structure pointed to	by buf.

     EPERM	    cmd	is IPC_RMID or IPC_SET,	the effective user ID of the
		    calling process is not equal to the	value of msg_perm.cuid
		    or msg_perm.uid in the data	structure associated with
		    msqid and the process does not have	the super-user
		    privilege.

     EPERM	    cmd	is IPC_SET, an attempt is being	made to	increase to
		    the	value of msg_qbytes, and the calling process does not
		    have the super-user	privilege.

SEE ALSO    [Toc]    [Back]

      
      
     intro(2), msgget(2), msgop(2).

DIAGNOSTICS    [Toc]    [Back]

     Upon successful completion, a value of 0 is returned. Otherwise, a	value
     of	-1 is returned and errno is set	to indicate the	error.


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
msgctl Tru64 Perform message control operations
msgop Linux message operations
msgop IRIX message operations
msgsnd HP-UX message operations
msgrcv HP-UX message operations
msgop HP-UX message operations
BIO_get_info_callback Tru64 BIO control operations
BIO_flush Tru64 BIO control operations
BIO_get_close Tru64 BIO control operations
BIO_set_info_callback Tru64 BIO control operations
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service