/**
|
* @file
|
*
|
* @brief 负责共享内存的创建与销毁
|
*
|
*/
|
|
#ifndef __SHM_MM_WRAPPER_H__
|
#define __SHM_MM_WRAPPER_H__
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
/**
|
* @brief 创建并初始化共享内存
|
* @param size 共享内存大小, 单位M
|
* @details 在进入main方法的时候执行该方法,每个进程只需要调用一次
|
*/
|
void shm_mm_wrapper_init(int size);
|
|
/**
|
* @brief 销毁共享内存
|
* @details 整个进程退出时需要执行这个方法,该方法首先会检查是否还有其他进程在使用该共享内存,如果还有其他进程在使用就只是detach,如果没有其他进程在使用则销毁整块内存。
|
*/
|
void shm_mm_wrapper_destroy();
|
|
|
/**
|
* @brief 分配一个key给申请者
|
* @return key值
|
*/
|
int shm_mm_wrapper_alloc_key();
|
|
|
/**
|
* @brief 删除包含在keys内的queue
|
* @return 删除的个数
|
*/
|
int shm_mm_wrapper_remove_keys(int keys[], int length);
|
|
/**
|
* @brief 删除不在keys内的queue
|
* @return 删除的个数
|
*/
|
int shm_mm_wrapper_remove_keys_exclude(int keys[], int length);
|
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif
|