������ �������� ����(!) ������������� ����������
|
CIT Forum CD-ROM
|
|
SHMGET(2)
��������
shmget - ��������� �������������� ������������ ��������
������
���������
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int shmget (key, size, shmflg)
key_t key;
int size, shmflg;
��������
��������� ����� shmget ���������� ������������� ������������ �������� ������, ��������������� � ������ key.
������������� � ��������������� � ��� ��������� ������
� ����������� ������� �������� �� ������� ���� size
���� [��. intro(2)] ��������� ��� ����� key � ���������
�������:
- �������� ��������� key ����� IPC_PRIVATE.
- ���� key ���� ��� �� ����� ���������������� � ���
�������������� � ��������� (shmflg & IPC_CREAT) �������.
��� �������� ��������� ������, ��������������� � �����
��������������� ������������ �������� ������, ����������� ��������� ���������������� ��������:
- �������� ����� shm_perm.cuid, shm_perm.uid,
shm_perm.cgid � shm_perm.gid ��������������� ������� ������������ �������������� ������������ �,
��������������, ������������ �������������� ������
����������� ��������.
- ������� 9 ��� ���� shm_perm.mode ���������������
������� 9 ������� ����� ��������� shmflg; ��������
���� shm_segsz ��������������� ������ ���������
size;
- �������� ����� shm_lpid, shm_nattch, shm_atime �
shm_dtime ��������������� ������� 0.
- �������� ���� shm_ctime ��������������� ������ �������� �������.
��������� ����� shmget ����������� ��������, ���� ��������� ���� �� ���� �� ��������� �������:
- [EINVAL]
- �������� ��������� size ������ ������������
��� ������ ������������� ��������, ��������
� �������.
- [EACCES]
- ��� ����� key ��� ���������� �������������
������������ ��������, �� �� ����� ����
������������� ����� ������� [��. intro(2)],
������������ � 9 ������� ����� ���������
shmflg.
- [EINVAL]
- ��� ����� key ��� ���������� �������������
������������ ��������, �� ������ ��������
������ �������� ��������� size � ��������
size �� ����� ����.
- [ENOENT]
- ��� ����� key �� ���������� �������������
������������ �������� � ��������� (shmflg &
IPC_CREAT) �����.
- [ENOSPC]
- ������������� �� ��������� ��-�� ����������
������������� ������������ �������� ���������� ��������������� ����������� ���������.
- [ENOMEM]
- ������������� � ��������������� � ��� ����������� ������� ������ �� ��������� ��-��
���������� ������������ ���������� ������.
- [EEXIST]
- ��� ����� key ��� ���������� �������������
������������ �������� � ��������� ((shmflg
& IPC_CREAT) & (shmflg & IPC_EXCL)) �������.
��. �����
intro(2), shmctl(2), shmop(2).
�����������
��� �������� ���������� ���������� ������ ������������
��������������� ����� ����� - ������������� ������������ �������� ������. � ������ ������ ������������ -1, �
���������� errno ������������� ��� ������.
����������
���������� ���� ������� ����������� ������� ������ ����� ����, ��� ��������� ��������� ������ �� ����.