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

  man pages->Tru64 Unix man pages -> msgctl (2)              
Title
Content
Arch
Section
 

msgctl(2)

Contents


NAME    [Toc]    [Back]

       msgctl - Perform message control operations

SYNOPSIS    [Toc]    [Back]

       #include <sys/msg.h>

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

       Application  developers  might  want  to  specify #include
       statements for <sys/types.h> and  <sys/ipc.h>  before  the
       one  for  <sys/msg.h>  if programs are being developed for
       multiple platforms.  The  additional  #include  statements
       are not required on Tru64 UNIX systems or by ISO or X/Open
       standards, but may be required on other  vendors'  systems
       that conform to these standards.

STANDARDS    [Toc]    [Back]

       Interfaces  documented  on  this reference page conform to
       industry standards as follows:

       msgctl():  XSH4.0, XSH4.2, XSH5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Specifies  the  message  queue  ID.  Specifies the type of
       command. The possible commands  and  the  operations  they
       perform  are  as  follows: Queries the message queue ID by
       copying the contents of its associated data structure into
       the  buf  structure.  The process must have mandatory read
       access to the message queue with  respect  to  all  access
       control  policies.   Sets  the message queue ID by copying
       values found  in  the  buf  structure  into  corresponding
       fields  in the msqid_ds structure associated with the message
 queue ID. This operation is restricted. The effective
       user  ID  of  the calling process must be equal to that of
       superuser  or  equal  to  the  value  of  msg_perm.uid  or
       msg_perm.cuid  in the associated msqid_ds structure.  Only
       superuser can raise the value of msg_qbytes.  Removes  the
       message  queue  ID and deallocates its associated msqid_ds
       structure. This operation  is  restricted.  The  effective
       user  ID  of  the calling process must be equal to that of
       superuser  or  equal  to  the  value  of  msg_perm.uid  or
       msg_perm.cuid   in   the  associated  msqid_ds  structure.
       Points to an msqid_ds structure. This  structure  is  used
       only   with   the  IPC_STAT  and  IPC_SET  commands.  With
       IPC_STAT, the results of the  query  are  copied  to  this
       structure.  With IPC_SET, the values in this structure are
       used to set  the  corresponding  fields  in  the  msqid_ds
       structure  associated with the message queue ID. In either
       case, the calling process must have allocated  the  structure
 before making the call.






DESCRIPTION    [Toc]    [Back]

       The msgctl() function allows a process to query or set the
       contents of the msqid_ds  structure  associated  with  the
       specified  message  queue  ID. It also allows a process to
       remove the message queue ID and  its  associated  msqid_ds
       structure.   The  cmd  value determines which operation is
       performed.

       The IPC_SET command uses the user-supplied contents of the
       buf structure to set the following members of the msqid_ds
       structure  associated  with  the  message  queue  ID:  The
       owner's  user ID.  The owner's group ID.  The access modes
       for the queue. Only the low-order nine bits are set.   The
       maximum  number  of  bytes  on the queue.  The time of the
       last successful IPC_SET operation.

RETURN VALUES    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

       The msgctl() function sets errno to the  specified  values
       for   the  following  conditions:  The  cmd  parameter  is
       IPC_STAT, but the calling process does not have read  permission.
   [Tru64  UNIX]  The cmd parameter is IPC_STAT or
       IPC_SET, and an error occurred in accessing the buf structure.
   The  msqid  parameter is not a valid message queue
       ID, or the cmd parameter is not a valid command.   One  of
       the  following  occurred:  The  cmd  parameter is equal to
       either IPC_RMID or IPC_SET, and the calling  process  does
       not  have  appropriate  privilege.   The  cmd parameter is
       equal to IPC_SET, and an attempt is being made to increase
       the  value  of  the  msg_qbytes parameter when the calling
       process does not have the superuser privilege.

SEE ALSO    [Toc]    [Back]

      
      
       Functions: msgget(2), msgrcv(2), msgsnd(2)

       Data Structures: msqid_ds(4)

       Standards: standards(5)



                                                        msgctl(2)
[ Back ]
 Similar pages
Name OS Title
semctl Tru64 Perform semaphore control operations
shmctl Tru64 Perform shared memory control operations
vxibc HP-UX perform VERITAS Volume Replicator In-Band Control Messaging operations
msgctl FreeBSD message control operations
msgctl OpenBSD message control operations
msgctl HP-UX message control operations
msgctl IRIX message control operations
msgctl Linux message control operations
msgctl NetBSD message control operations
seekdir Tru64 Perform operations on directories
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service