Annotation of researchv10dc/630/man/src/p_man/man3/msgget.3l, revision 1.1.1.1

1.1       root        1: .ds ZZ DEVELOPMENT PACKAGE
                      2: .TH MSGGET 3L "630 MTG"
                      3: .XE "msgget()"
                      4: .SH NAME
                      5: msgget \- get message queue
                      6: .SH SYNOPSIS
                      7: .B #include <message.h>
                      8: .sp
                      9: .B long msgget (key, msgflg)
                     10: .br
                     11: .B long key;
                     12: .br
                     13: .B int msgflg;
                     14: .SH DESCRIPTION
                     15: .I Msgget
                     16: returns the message queue identifier associated with
                     17: .IR key .
                     18: .PP
                     19: A message queue identifier and associated message queue and
                     20: data structure are created for
                     21: .I key
                     22: if one of the following is true:
                     23: .PP
                     24: .RS 6
                     25: .I Key
                     26: is equal to \fBIPC_PRIVATE\fR.
                     27: .PP
                     28: .I Key
                     29: does not already have a message queue identifier
                     30: associated with it, and
                     31: .RI ( msgflg
                     32: & 
                     33: .BR IPC_CREAT )
                     34: is ``true''.
                     35: .PP
                     36: .RE
                     37: Upon creation, the data structure associated with the new
                     38: message queue identifier is initialized as follows:
                     39: .PP
                     40: .RS 6
                     41: .BR Msg_qnum ,
                     42: .BR msg_curbytes ,
                     43: .BR msg_list ,
                     44: .BR msg_lspid ,
                     45: .BR msg_lrpid ,
                     46: .BR msg_stime ,
                     47: and
                     48: .B msg_rtime
                     49: are set equal to 0.
                     50: .sp
                     51: .B Msg_ctime
                     52: is set equal to the current time
                     53: .RI ( realtime ).
                     54: .sp
                     55: .B Msg_qbytes
                     56: is set equal to
                     57: .BR MAX_QBYTES .
                     58: .sp
                     59: .B State
                     60: is set to
                     61: .RB ( msgflg
                     62: &
                     63: .BR NO_SAVE ).
                     64: .sp
                     65: .B Cid
                     66: is set to the calling process's id
                     67: .RI ( P ).
                     68: .sp
                     69: .B Name
                     70: is set to
                     71: .IR key .
                     72: .RE
                     73: .PP
                     74: If
                     75: .I state
                     76: is ``true'', the message queue will be deleted when the process
                     77: .I cid
                     78: is deleted.
                     79: .PP
                     80: .I Msgget
                     81: will fail if one or more of the following are true:
                     82: .sp
                     83: .RS 6
                     84: A message queue identifier does not exist for
                     85: .I key
                     86: and
                     87: .RI ( msgflg
                     88: &
                     89: .BR IPC_CREAT )
                     90: is ``false''.
                     91: .sp
                     92: A message queue identifier is to be created
                     93: but there isn't enough memory.
                     94: .sp
                     95: A message queue identifier exists for
                     96: .I key
                     97: but (
                     98: .RI [ msgflg
                     99: &
                    100: .BR IPC_CREAT ]
                    101: && 
                    102: .RI [ msgflg
                    103: &
                    104: .BR IPC_EXCL ]
                    105: ) is ``true''.
                    106: .PP
                    107: .RE
                    108: .PP
                    109: Each message queue identifier that \fImsgget\fR returns is added to 
                    110: a list maintained for the application.
                    111: This list defines which message queues constitute the MSG resource when
                    112: using the \fIwait\fR(MSG) and \fIown\fR(MSG) functions.
                    113: .PP
                    114: .SS Return Value
                    115: Upon successful completion, a non-negative long, namely a
                    116: message queue identifier (pointer to msqid_ds structure), is returned.
                    117: Otherwise, a value of -1 is returned.
                    118: .PP
                    119: .SH SEE ALSO
                    120: msgctl(3L), msgop(3L), realtime(3R), resources(3R), structures(3R).

unix.superglobalmegacorp.com

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