Annotation of coherent/a/usr/man/COHERENT/msgsnd, revision 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.