Annotation of coherent/a/usr/man/COHERENT/msgsnd, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: msgsnd()               COHERENT System Call              msgsnd()
                      4: 
                      5: 
                      6: 
                      7: 
                      8: Send a message
                      9: 
                     10: #include <sys/msg.h>
                     11: mmssggssnndd(_m_s_q_i_d, _m_s_g_p, _m_s_g_s_z, _m_s_g_f_l_g)
                     12: iinntt _m_s_q_i_d, _m_s_g_s_z, _m_s_g_f_l_g; ssttrruucctt mmssggbbuuff *_m_s_g_p;
                     13: 
                     14: The COHERENT system call msgsnd  sends a message to the queue as-
                     15: sociated with the message queue identifier msqid.  msgp points to
                     16: a structure  that contains the message.   This structure consists
                     17: of the following members:
                     18: 
                     19: 
                     20: long   mtype;     /* message type */
                     21: char   mtext[];   /* message text */
                     22: 
                     23: 
                     24: mtype is a positive  long integer that the receiving process uses
                     25: to select messages.  mtext is  a string that is msgsz bytes long.
                     26: msgsz can range from  zero to a system-imposed limit as specified
                     27: in the kernel variable NMSC.
                     28: 
                     29: msgflg specifies  the action to  be taken if  one or more  of the
                     30: following are true:
                     31: 
                     32: *   The  number  of  bytes  already  on the  queue  is  equal  to
                     33:    msg_qbytes.
                     34: 
                     35: *  The  number of messages  on all queues  system-wide equals the
                     36:    system limit specified in the kernel variable NMSG.
                     37: 
                     38: msgflg can specify any of the following actions:
                     39: 
                     40: *  If (_m_s_g_f_l_g & IIPPCC_NNOOWWAAIITT) is  true, the message is not sent and
                     41:    the calling process returns immediately.
                     42: 
                     43: *   If  (_m_s_g_f_l_g  &  IIPPCC_NNOOWWAAIITT)  is  false, the  calling  process
                     44:    suspends execution until one of the following occurs:
                     45: 
                     46: 11. The condition responsible for the suspension no longer exists,
                     47:    in which case the message is sent.
                     48: 
                     49: 22. msqid  is removed from  the system.  When  this occurs, msgsnd
                     50:    sets errno to EDOM and returns -1.
                     51: 
                     52: 33. The  calling process receives  a signal that is  to be caught.
                     53:    In this case, the message  is not sent and the calling process
                     54:    resumes execution in the manner prescribed in signal.
                     55: 
                     56: msgsnd  fails and  no  message is  sent  if one  or  more of  the
                     57: following are true:
                     58: 
                     59: *  msqid  is not a  valid message queue  identifier.  msgsnd sets
                     60:    errno to EINVAL.
                     61: 
                     62: 
                     63: 
                     64: COHERENT Lexicon                                           Page 1
                     65: 
                     66: 
                     67: 
                     68: 
                     69: msgsnd()               COHERENT System Call              msgsnd()
                     70: 
                     71: 
                     72: 
                     73: *   Operation  permission   is  denied  to  the  calling  process
                     74:    (EEAACCCCEESS).
                     75: 
                     76: *  mtype is less than one (EEIINNVVAALL).
                     77: 
                     78: *  The message cannot be sent  for one of the reasons cited above
                     79:    and (_m_s_g_f_l_g & IIPPCC_NNOOWWAAIITT) is true (EEAAGGAAIINN).
                     80: 
                     81: *  msgsz  is less  than zero  or greater than  the system-imposed
                     82:    limit (EEIINNVVAALL).
                     83: 
                     84: *  msgp points to an illegal address (EEFFAAUULLTT).
                     85: 
                     86: Upon successful completion,  the following actions are taken with
                     87: respect to the data structure associated with msqid.
                     88: 
                     89: *  msg_qnum is incremented by one.
                     90: 
                     91: *   msg_lspid is  set  equal to  the  process ID  of the  calling
                     92:    process.
                     93: 
                     94: *  msg_stime is set equal to the current time.
                     95: 
                     96: ***** Return Values *****
                     97: 
                     98: If msgsnd return because it  has received a signal, it returns -1
                     99: and sets errno to EINTR.  If it returns because msqid was removed
                    100: from the system, it returns -1 and sets errno to EDOM.
                    101: 
                    102: Upon successful  completion, msgsnd returns  zero.  Otherwise, it
                    103: returns -1 and sets errno to an appropriate value.
                    104: 
                    105: ***** Files *****
                    106: 
                    107: /usr/include/sys/ipc.h
                    108: /usr/include/sys/msg.h
                    109: /dev/msg
                    110: 
                    111: ***** See Also *****
                    112: 
                    113: COHERENT system calls, msg, msgctl(), msgget(), msgrcv()
                    114: 
                    115: ***** Notes *****
                    116: 
                    117: To  improve  portability, the  mmssgg  functions  are presently  im-
                    118: plemented  as a  device driver  rather than  as an  actual system
                    119: call.
                    120: 
                    121: 
                    122: 
                    123: 
                    124: 
                    125: 
                    126: 
                    127: 
                    128: 
                    129: 
                    130: COHERENT Lexicon                                           Page 2
                    131: 
                    132: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.