diff options
Diffstat (limited to 'tools/memshr/shm.h')
-rw-r--r-- | tools/memshr/shm.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/tools/memshr/shm.h b/tools/memshr/shm.h index 0f6f665c6d..0d849ff787 100644 --- a/tools/memshr/shm.h +++ b/tools/memshr/shm.h @@ -20,16 +20,31 @@ #define __SHM_H__ #include <pthread.h> +#include <unistd.h> +#define MAX_NAME_LEN 1000 + +typedef struct vbd_image_info { + char file[MAX_NAME_LEN]; + int ref_cnt; + uint16_t next; + uint16_t prev; +} vbd_image_info_t; + +#define MAX_NR_VBD_IMAGES 4096 + typedef struct shared_memshr_info { - unsigned long magic; - pthread_mutex_t lock; - int fgprtshr_hash_inited; - int blockshr_hash_inited; + unsigned long magic; + pthread_mutex_t lock; + int fgprtshr_hash_inited; + int blockshr_hash_inited; + vbd_image_info_t vbd_images[MAX_NR_VBD_IMAGES]; } shared_memshr_info_t; shared_memshr_info_t * shm_shared_info_open(int unlink); struct fgprtshr_hash * shm_fgprtshr_hash_open(int unlink); struct blockshr_hash * shm_blockshr_hash_open(int unlink); +uint16_t shm_vbd_image_get(char* file, vbd_image_info_t *vbd_imgs); +void shm_vbd_image_put(uint16_t memshr_id, vbd_image_info_t *vbd_imgs); #endif /* __SHM_H__ */ |