/************** Begin of sharedmemory.h *******************************************/
#if defined(linux)  && defined(HAVE_SHM)
	/***************************************************************************
	|sharedmemory.h|  -  sharedmemory���ͷ�ļ�-����sharedmemory��
	-------------------
	begin                : |03-6-20|
	modify               : |03-6-20|
	copyright            : (C) |YEAR| by |wenhm(�»���)|
	email                : |EMAIL|
	***************************************************************************/

#ifndef SHAREDMEMORY_H
#define SHAREDMEMORY_H

#include <sys/types.h>

	//������ؼ���ΪKey�ĺ��д�СΪsize�Ĺ����ڴ���󣬲��������ڴ����id����shmid�з��ء�
	//�������ڴ�����Ѵ�����ȡ�øö���
	extern int create_sharedmemory(key_t key, int size);

	//�����ؼ���KeyΪIPC_PRIVATE(���ؼ�����ϵͳѡ��)�ĺ��д�СΪsize�Ĺ����ڴ���󣬲��������ڴ����id����shmid�з��ء�
	//��ʹ��IPC_PRIVATE�����Ĺ����ڴ��key��һ��������key�Ͳ�Ҫ�ˡ�
	extern int create_sharedmemory_private(int size);

	//�������ڴ�attach�������Լ��ÿռ��ڣ���������ָ��ӳ���ڴ��ָ�롣
	extern void *attach_sharedmemory(int shmid );

	//�������ڴ�disattach��Ψһ�IJ����ǹ����ڴ�ӳ���ָ��
	//����ֵ�� -1 on error: errno = EINVAL (Invalid attach address passed)
	extern int disattach_sharedmemory(void* shm);

	//��ȡ�����ڴ����shmid�Ĵ�С
	extern int getsize_sharedmemory(int shmid);

	//ɾ�������ڴ����
	extern int del_sharedmemory(int shmid);
#endif	/* SHAREDMEMORY_H */  

#endif
/************** Begin of sharedmemory.h *******************************************/