Annotation of cci/usr/src/man/man2/msgctl.2i, revision 1.1

1.1     ! root        1: .TH MSGCTL 2
        !             2: .SH NAME
        !             3: msgctl \- message control operations
        !             4: .SH SYNOPSIS
        !             5: .B #include <sys/types.h>
        !             6: .br
        !             7: .B #include <sys/ipc.h>
        !             8: .br
        !             9: .B #include <sys/msg.h>
        !            10: .PP
        !            11: .nf
        !            12: .B int msgctl (msqid, cmd, buf)
        !            13: .B int msqid, cmd;
        !            14: .B struct msqid_ds \(**buf;
        !            15: .fi
        !            16: .SH DESCRIPTION
        !            17: .I Msgctl
        !            18: provides a variety of message control operations as specified by
        !            19: .IR cmd .
        !            20: The following
        !            21: .IR cmd s
        !            22: are available:
        !            23: .TP 15
        !            24: .SM
        !            25: .B IPC_STAT
        !            26: Place the current value of each member of the data structure associated with
        !            27: .I msqid
        !            28: into the structure pointed to by
        !            29: .IR buf .
        !            30: The contents of this structure are defined in
        !            31: .IR intro (2).
        !            32: .SM {READ}
        !            33: .TP
        !            34: .SM
        !            35: .B IPC_SET
        !            36: Set the value of the following members of the data structure associated with
        !            37: .I msqid
        !            38: to the corresponding value found in the structure pointed to by
        !            39: .IR buf :
        !            40: .RS 
        !            41: .RS
        !            42: .nf
        !            43: msg_perm.uid
        !            44: msg_perm.gid
        !            45: msg_perm.mode /\(** only low 9 bits \(**/
        !            46: msg_qbytes
        !            47: .fi
        !            48: .RE
        !            49: .RE
        !            50: .IP
        !            51: This \fIcmd\fP can only be executed by a process that has an effective user
        !            52: .SM ID
        !            53: equal to either that of super user or to the value of
        !            54: .B msg_perm.uid
        !            55: in the data structure associated with
        !            56: .IR msqid .
        !            57: Only super user can raise the value of
        !            58: .BR msg_qbytes .
        !            59: .TP
        !            60: .SM
        !            61: .B IPC_RMID
        !            62: Remove the message queue identifier specified by
        !            63: .I msqid
        !            64: from the system and destroy the message queue and data structure
        !            65: associated with it.
        !            66: This \fIcmd\fP can only be executed by a process that has an effective user
        !            67: .SM ID
        !            68: equal to either that of super user or to the value of
        !            69: .B msg_perm.uid
        !            70: in the data structure associated with
        !            71: .IR msqid .
        !            72: .PP
        !            73: .I Msgctl
        !            74: will fail if one or more of the following are true:
        !            75: .TP 15
        !            76: .TP
        !            77: \s-1\%[EINVAL]\s+1
        !            78: .I Msqid
        !            79: is not a valid message queue identifier.
        !            80: .TP
        !            81: \s-1\%[EINVAL]\s+1
        !            82: .I Cmd
        !            83: is not a valid command.
        !            84: .TP
        !            85: \s-1\%[EACCES]\s+1
        !            86: .I Cmd
        !            87: is equal to
        !            88: .SM
        !            89: .B IPC_STAT
        !            90: and
        !            91: .SM {READ}
        !            92: operation permission is denied to the calling process (see
        !            93: .IR intro (2)).
        !            94: .TP
        !            95: \s-1\%[EPERM]\s+1
        !            96: .I Cmd
        !            97: is equal to
        !            98: .SM
        !            99: .B IPC_RMID
        !           100: or
        !           101: .SM
        !           102: .BR IPC_SET .
        !           103: The effective user
        !           104: .SM ID
        !           105: of the calling process is not equal to that of super user and it is
        !           106: not equal to the value of
        !           107: .B msg_perm.uid
        !           108: in the data structure associated with
        !           109: .IR msqid .
        !           110: .TP
        !           111: \s-1\%[EPERM]\s+1
        !           112: .I Cmd
        !           113: is equal to
        !           114: .SM
        !           115: .BR IPC_SET\*S,
        !           116: an attempt is being made to increase to the value of
        !           117: .BR msg_qbytes,
        !           118: and the effective user
        !           119: .SM ID
        !           120: of the calling process is not equal to that of super user.
        !           121: .TP
        !           122: \s-1\%[EFAULT]\s+1
        !           123: .I Buf
        !           124: points to an illegal address.
        !           125: .SH "RETURN VALUE"
        !           126: Upon successful completion, a value of 0 is returned. Otherwise, a
        !           127: value of \-1 is returned and
        !           128: .I errno\^
        !           129: is set to indicate the error.
        !           130: .SH SEE ALSO
        !           131: intro(2), msgget(2), msgop(2).
        !           132: .\"    @(#)msgctl.2    6.2 of 9/6/83

unix.superglobalmegacorp.com

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