aboutsummaryrefslogtreecommitdiffstats
path: root/tools/memshr/shm.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/memshr/shm.h')
-rw-r--r--tools/memshr/shm.h23
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__ */