msqid_ds man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

msqid_ds(4)							   msqid_ds(4)

       msqid_ds - Defines a message queue

       #include <sys/msg.h>

       struct msqid_ds(
	       struct ipc_perm msg_perm,
	       struct msg *msg_first,
	       struct msg *msg_last,
	       u_short msg_cbytes,
	       u_short msg_qnum,
	       u_short msg_qbytes,
	       u_short msg_lspid,
	       ushort msg_lrpid,
	       time_t msg_stime,
	       time_t msg_rtime,
	       time_t msg_ctime );

       The  msqid_ds  structure defines a message queue associated with a mes‐
       sage queue ID. There is one queue per message queue ID.	 Collectively,
       the queues are stored as an array, with message queue IDs serving as an
       index into the array.

       A message queue is implemented as  a  linked  list  of  messages,  with
       msg_first  amd  msg_last pointing to the first and last messages on the

       The IPC permissions for the message queue are implemented  in  a	 sepa‐
       rate, but associated, ipc_perm structure.

       A  message  queue  is  created  indirectly  by  the  msgget() call.  If
       msgget() is called with a non-existent message  queue  ID,  the	kernel
       allocates  a  new  msqid_ds  structure, initializes it, and returns the
       message queue ID that is to be associated with the message queue.

       The following sections describe the fields in  the  msqid_ds  structure
       and show the ipc_perm structure identified by the msg_perm field.

       The ipc_perm structure that defines permissions for message operations.
       A pointer to the first message on the queue.  A	pointer	 to  the  last
       message	on  the queue.	The current number of bytes on the queue.  The
       number of messages currently on the queue.  The maximum number of bytes
       allowed	on  the queue.	The process ID of the last process that called
       msgsnd() for the queue.	The process ID of the last process that called
       msgrcv()	 for the queue.	 The time of the last msgsnd() operation.  The
       time of the last msgrcv() operation.  The time  of  the	last  msgctl()
       operation that changed a member of the ipc_perm structure designated by
       the msg_perm field.

       The msg_perm field identifies the associated  ipc_perm  structure  that
       defines	the  permissions  for  operations  on  the message queue.  The
       ipc_perm structure (defined in the sys/ipc.h header file)  is  as  fol‐

       struct ipc_perm {
	     ushort    uid;	 /* owner's user id	       */
	     ushort    gid;	 /* owner's group id	       */
	     ushort    cuid;	 /* creator's user id	       */
	     ushort    cgid;	 /* creator's group id	       */
	     ushort    mode;	 /* access modes	       */
	     ushort    seq;	 /* slot usage sequence number */
	     key_t     key;	 /* key			       */ };

       The mode field of the ipc_perm structure is a 9-bit field that contains
       the permissions for message operations.	The first three bits  identify
       owner  permissions;  the	 second three bits identify group permissions;
       and the last three bits identify other permissions.  In each group, the
       first  bit  indicates  read  permission; the second bit indicates write
       permission; and the third bit is not used.

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


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net