msgsnd man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

msgop(2)							      msgop(2)

NAME
       msgsnd, msgrcv - message operations

SYNOPSIS
DESCRIPTION
       The  system  call sends a message to the queue associated with the mes‐
       sage queue identifier specified by msqid.

       msgp points to a user-defined buffer that must contain first a field of
       type that specifies the type of the message, followed by a data portion
       that will hold the data bytes of the message.  The structure  below  is
       an example of what this user-defined buffer might look like:

       mtype  is  a positive integer that can be used by the receiving process
       for message selection (see below).  mtext is any text of	 length	 msgsz
       bytes.  msgsz can range from 0 to a system-imposed maximum.

       msgflg specifies the action to be taken if one or more of the following
       is true:

	 ·  The number of bytes already on the queue is equal to (see in glos‐
	    sary(9)).

	 ·  The total number of messages on all queues system-wide is equal to
	    the system-imposed limit.

       These actions are as follows:

	      If (msgflg is true, the message is  not  sent  and  the  calling
	      process returns immediately.

	      If  (msgflg  is  false,  the  calling process suspends execution
	      until one of the following occurs:

	      ·	 The  condition	 responsible  for  the	suspension  no	longer
		 exists, in which case the message is sent.

	      ·	 msqid	is removed from the system (see msgctl(2)).  When this
		 occurs, is set to [EIDRM] and a value of is returned.

	      ·	 The calling process receives a signal to be caught.  In  this
		 case, the message is not sent and the calling process resumes
		 execution in the manner prescribed in signal(5).

       Upon successful	completion,  the  following  actions  are  taken  with
       respect to the data structure associated with msqid:

	      is incremented by 1.

	      is set to the process ID of the calling process.

	      is set to the current time.

       The system call reads a message from the queue associated with the mes‐
       sage queue identifier specified by msqid and places it in the structure
       pointed	to  by msgp.  This structure is composed of the following mem‐
       bers:

       mtype is the received  message's	 type  as  specified  by  the  sending
       process.	  mtext	 is the text of the message.  msgsz specifies the size
       in bytes of mtext.  The received message is truncated to msgsz bytes if
       it is larger than msgsz and (msgflg is true.  The truncated part of the
       message is lost and no indication of the truncation  is	given  to  the
       calling process.

       msgtyp specifies the type of message requested as follows:

	      msgtyp = 0  First message on the queue is received.

	      msgtyp > 0  First message of type msgtyp is received.

	      msgtyp < 0  First	 message  of the lowest type that is less than
			  or  equal  to	 the  absolute	value  of  msgtyp   is
			  received.

       msgflg  specifies  the  action  to be taken if a message of the desired
       type is not on the queue.  These are as follows:

	      If (msgflg is true, the calling process returns immediately with
	      a value of and set to [ENOMSG].

	      If  (msgflg  is  false,  the  calling process suspends execution
	      until one of the following occurs:

	      ·	 A message of the desired type is placed on the queue.

	      ·	 msqid is removed from the system.  When this occurs,  is  set
		 to [EIDRM] and a value of −1 is returned.

	      ·	 The  calling  process receives a signal that is to be caught.
		 In this case, a message  is  not  received  and  the  calling
		 process  resumes  execution  in the manner prescribed in sig‐
		 nal(5)).

       Upon successful	completion,  the  following  actions  are  taken  with
       respect to the data structure associated with msqid.

	      is decremented by 1.

	      is set to the process ID of the calling process.

	      is set to the current time.

RETURN VALUE
       Upon successful completion, the return value is as follows:

	      returns a value of

	      returns  a  value	 equal	to the number of bytes actually placed
	      into mtext.

       Otherwise, a value of is returned and is set to indicate the error.

ERRORS
       If fails, is set to one of the following values.

	      [E2BIG]	     mtext is greater than msgsz and (msgflg is false.

	      [EACCES]	     Operation permission is  denied  to  the  calling
			     process.

	      [EFAULT]	     msgp  points to an illegal address.  The reliable
			     detection of this error is implementation	depen‐
			     dent.

	      [EIDRM]	     The  message  queue  identifier  msqid  has  been
			     removed from the system.

	      [EINTR]	     The function was interrupted by a signal.

	      [EINVAL]	     msqid is not a valid message queue identifier.

	      [EINVAL]	     msgsz is less than 0.

	      [ENOMSG]	     The queue does  not  contain  a  message  of  the
			     desired type and (msgflg is true.

       If fails, is set to one of the following values.

	      [EACCES]	     Operation	permission  is	denied	to the calling
			     process.

	      [EAGAIN]	     The message cannot be sent for one of the reasons
			     cited above and (msgflg is true.

	      [EFAULT]	     msgp  points to an illegal address.  The reliable
			     detection of this error is implementation	depen‐
			     dent.

	      [EIDRM]	     The  message  queue  identifier  msqid  has  been
			     removed from the system.

	      [EINTR]	     was interrupted by a signal.

	      [EINVAL]	     msqid is not a valid message queue identifier.

	      [EINVAL]	     mtype is less than 1.

	      [EINVAL]	     msgsz is less than zero or greater than the  sys‐
			     tem-imposed limit.

SEE ALSO
       ipcs(1), msgctl(2), msgget(2), stdipc(3C), privileges(5), signal(5).

STANDARDS CONFORMANCE
								      msgop(2)
[top]

List of man pages available for HP-UX

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]
Tweet
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