12345678910111213141516171819202122232425262728293031323334353637383940 |
- /************** 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,唯一的参数是共享内存映射的指针
- //返回值: -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 *******************************************/
|