X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fmemory_shared.h;h=4c4773d060b0f164fdfbf5d9d6bac9d752fbf4eb;hb=282872127;hp=f60224a181586cc7d44a91bc4b2807bac6ca727e;hpb=e86a8edd3c14fb41ace2a12efd17bc7772bf623f;p=vpp.git diff --git a/src/vlibmemory/memory_shared.h b/src/vlibmemory/memory_shared.h index f60224a1815..4c4773d060b 100644 --- a/src/vlibmemory/memory_shared.h +++ b/src/vlibmemory/memory_shared.h @@ -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 @@ -106,15 +109,21 @@ typedef struct vl_shmem_hdr_ #define VL_API_EPOCH_SHIFT 8 void *vl_msg_api_alloc (int nbytes); +void *vl_msg_api_alloc_zero (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_zero_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); +void vl_msg_api_free_w_region (svm_region_t * vlib_rp, void *a); int vl_map_shmem (const char *region_name, int is_vlib); void vl_unmap_shmem (void); +void vl_unmap_shmem_client (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);