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

SHMCTL(2)

��������
shmctl - �������� ���������� ������������ ���������� ������

���������

        #include <sys/types.h>
        #include <sys/ipc.h>
        #include <sys/shm.h>
        
        int shmctl (shmid, cmd, buf)
        int shmid, cmd;
        struct shmid_ds *buf;

��������
��������� ����� shmctl ��������� ��������� �������� ���������� ������������ ���������� ������. �������� ������������ ��������� ��������� cmd, ������� ������ ���� ����� �� ���������:

IPC_STAT
��������� ������� �������� ����� ��������� ������, ��������������� � ��������������� ������������ �������� shmid, � ���������, �� ������� ��������� �������� buf. ���������� ��������� ������� � intro(2). {��������� ����� �� ������.}
IPC_SET
��������� ��������� ����� ��������� ������, ��������������� � ��������������� shmid, ��������������� ��������, ����������� � ���������, �� ������� ��������� �������� buf:
   shm_perm.uid
   shm_perm.gid
   shm_perm.mode  /* ������ ������� 9 ��� */
��� ������� ����� ����������� ������ ���������, ������� ����� ����������� ������������� ������������, ������ ���� �������������� �����������������, ���� �������� ���� shm_perm.cuid ��� shm_perm.uid � ���������, ��������������� � ��������������� shmid.
IPC_RMID
������� �� ������� ������������� ������������ ��������, �������� ���������� shmid, ������������� ������� � ��������������� � ��� ��������� ������. ��� ������� ����� ����������� ������ ���������, ������� ����� ����������� ������������� ������������, ������ ���� �������������� �����������������, ���� �������� ���� shm_perm.cuid ��� shm_perm.uid � ��������� ������, ��������������� � ��������������� shmid.
SHM_LOCK
�������� � ������ ����������� �������, ����������������� ��������������� shmid. ��� ������� ����� ����������� ������ ���������, ������� ����� ����������� ������������� ������������, ������ �������������� �����������������.
SHM_UNLOCK
���������� ����������� ������� ������, ����������������� ��������������� shmid. ��� ������� ����� ����������� ������ ���������, ������� ����� ����������� ������������� ������������, ������ �������������� �����������������.

��������� ����� shmctl ����������� ��������, ���� ��������� ���� �� ���� �� ��������� �������:

[EINVAL]
�������� ��������� shmid �� �������� ���������� ��������������� ������������ ��������.
[EINVAL]
������������ �������� ��������� cmd, ������������ �������.
[EACCES]
�������� ��������� cmd ����� IPC_STAT, �� � ����������� �������� ��� ���� �� ���������� �������� ������ [��. intro(2)].
[EPERM]
�������� ��������� cmd ����� IPC_RMID ��� IPC_SET, � ����������� ������������� ������������ ����������� �������� �� ����� �� �������������� �����������������, �� �������� ���� shm_perm.cuid ��� shm_perm.uid � ��������� ������, ��������������� � ��������������� shmid.
[EPERM]
�������� ��������� cmd ����� SHM_LOCK ��� SHM_UNLOCK, � ����������� ������������� ������������ ����������� �������� �� ����� �������������� �����������������.
[EFAULT]
�������� buf ��������� �� ������� ����������� �������� ��������� ������������.
[ENOMEM]
�������� ��������� cmd ����� SHM_LOCK � ��� ������������ �� ��� ������ � �������.

��. �����
shmget(2), shmop(2).

�����������
��� �������� ���������� ��������� ����� 0; � ������ ������ ������������ -1, � ���������� errno ������������� ��� ������.

����������
���������� ���� ������� ����������� ������� ������ ����� ����, ��� ��������� ��������� ������ �� ����.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT