crypto crypto-openssl: support hashing operations
[vpp.git] / src / vppinfra / mem.h
index a94b66a..1cab0ae 100644 (file)
@@ -145,6 +145,9 @@ typedef struct
   /* memory maps */
   clib_mem_vm_map_hdr_t *first_map, *last_map;
 
+  /* map lock */
+  u8 map_lock;
+
   /* last error */
   clib_error_t *error;
 } clib_mem_main_t;
@@ -543,7 +546,7 @@ clib_mem_log2_page_size_validate (clib_mem_page_sz_t log2_page_size)
 static_always_inline uword
 clib_mem_page_bytes (clib_mem_page_sz_t log2_page_size)
 {
-  return 1 << clib_mem_log2_page_size_validate (log2_page_size);
+  return 1ULL << clib_mem_log2_page_size_validate (log2_page_size);
 }
 
 static_always_inline clib_error_t *
@@ -552,6 +555,15 @@ clib_mem_get_last_error (void)
   return clib_mem_main.error;
 }
 
+/* bulk allocator */
+
+typedef void *clib_mem_bulk_handle_t;
+clib_mem_bulk_handle_t clib_mem_bulk_init (u32 elt_sz, u32 align,
+                                          u32 min_elts_per_chunk);
+void clib_mem_bulk_destroy (clib_mem_bulk_handle_t h);
+void *clib_mem_bulk_alloc (clib_mem_bulk_handle_t h);
+void clib_mem_bulk_free (clib_mem_bulk_handle_t h, void *p);
+u8 *format_clib_mem_bulk (u8 *s, va_list *args);
 
 #include <vppinfra/error.h>    /* clib_panic */