session: add support for memfd segments
[vpp.git] / src / vlibmemory / memory_shared.h
index f60224a..deaa621 100644 (file)
@@ -99,6 +99,9 @@ typedef struct vl_shmem_hdr_
 
   /* Number of garbage-collected messages */
   u32 garbage_collects;
+
+  /* Socket file index used to bootstrap shmem region */
+  u32 clib_file_index;
 } vl_shmem_hdr_t;
 
 #define VL_SHM_VERSION 2
@@ -109,12 +112,15 @@ void *vl_msg_api_alloc (int nbytes);
 void *vl_msg_api_alloc_or_null (int nbytes);
 void *vl_msg_api_alloc_as_if_client (int nbytes);
 void *vl_msg_api_alloc_as_if_client_or_null (int nbytes);
+void *vl_mem_api_alloc_as_if_client_w_reg (vl_api_registration_t * reg,
+                                          int nbytes);
 void vl_msg_api_free (void *a);
 int vl_map_shmem (const char *region_name, int is_vlib);
 void vl_unmap_shmem (void);
 void vl_register_mapped_shmem_region (svm_region_t * rp);
 void vl_msg_api_send_shmem (svm_queue_t * q, u8 * elem);
 void vl_msg_api_send_shmem_nolock (svm_queue_t * q, u8 * elem);
+int vl_mem_api_can_send (svm_queue_t * q);
 void vl_set_memory_region_name (const char *name);
 void vl_set_memory_root_path (const char *root_path);
 void vl_set_memory_uid (int uid);