Server for Information Technologies ������ ��������������
������� �������������� ����������
(095) 932-9212, 932-9213, 939-0783
E-mail: [email protected]
������ �������� ����(!) ������������� ���������� CIT Forum CD-ROM

MSGCTL(2) MSGCTL(2)

��������
msgctl - �������� ���������� �������� ���������

���������

        #include <sys/types.h>
        #include <sys/ipc.h>
        #include <sys/msg.h>

        int msgctl (msqid, cmd, buf)
        int msqid, cmd;
        struct msqid_ds *buf;

��������
��������� ����� msgctl ��������� ��������� �������� ���������� �������� ���������. �������� ������������ ��������� ��������� cmd, ������� ������ ���� ����� �� ���������:

IPC_STAT
��������� ������� �������� ������� ���� ��������� ������, ��������������� � ��������������� ������� ��������� msqid, � ���������, �� ������� ��������� buf. ���������� ��������� ������� � intro(2). {��������� ����� �� ������.}
IPC_SET
��������� ��������� ����� ��������� ������, ��������������� � ��������������� msqid, ��������������� ��������, ����������� � ���������, �� ������� ��������� buf:
   msg_perm.uid
   msg_perm.gid
   msg_perm.mode /* ������ ������� 9 ��� */
   msg_qbytes
��� �������� ����� ����������� ������ ���������, ����������� ������������� ������������ �������� ����� ���� �������������� �����������������, ���� �������� ���� msg_perm.cuid ��� msg_perm.uid � ��������� ������, ��������������� � msqid. ������ ����������������� ����� ����������� �������� ���� msg_qbytes.
IPC_RMID
������� �� ������� ������������� ������� ���������, ������������ ��������� msqid, ������������� ������� ��������� � ��������������� � ��� ��������� ������. ��� ������� ����� ����������� ������ ���������, ������� ����� ����������� ������������� ������������, ������ ���� �������������� �����������������, ���� �������� ���� msg_perm.cuid ��� msg_perm.uid � ��������� ������, ��������������� � msqid.

��������� ����� msgctl ����������� ��������, ���� ��������� ���� �� ���� �� ��������� �������:

[EINVAL]
�������� ��������� msgid �� �������� ���������� ��������������� ������� ���������.
[EINVAL]
������������ �������� ��������� cmd, ������������ ����������� ��������.
[EACCES]
�������� ��������� cmd ����� IPC_STAT � ��� ���� �� ������ � ����������� ��������
[��. intro(2)].
[EPERM]
�������� ��������� cmd ����� IPC_RMID ��� IPC_SET � ����������� ������������� ������������ ����������� �������� �� ����� �� �������������� �����������������, �� �������� ���� msg_perm.cuid ��� msg_perm.uid � ��������� ������, ��������������� � msqid.
[EPERM]
�������� ��������� cmd ����� IPC_SET � ���� ����������� ������� ��������� �������� ���� msg_qbytes, � ����������� ������������� ������������ ����������� �������� �� ����� �������������� �����������������.
[EFAULT]
�������� buf ��������� �� ������� ����������� �������� ��������� ������������.

��. �����
intro(2), msgget(2), msgop(2).

�����������
��� �������� ���������� ��������� ����� 0; � ������ ������ ������������ -1, � ���������� errno ������������� ��� ������.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT