aboutsummaryrefslogtreecommitdiffstats
path: root/src/vlibmemory/memory_api.c
AgeCommit message (Expand)AuthorFilesLines
2020-12-14misc: move to new pool_foreach macrosDamjan Marion1-5/+5
2020-07-19api: call api reaper callbacks for socket clientsDave Barach1-5/+3
2019-12-11api: Use vl_msg_push/pop_heapNathan Skrzypczak1-35/+17
2019-12-10api: multiple connections per processDave Barach1-17/+17
2019-12-06api: avoid swapping vlib_rp before barrier syncFlorin Coras1-32/+18
2019-11-27misc: add address sanitizer heap instrumentationBenoît Ganne1-0/+2
2019-11-07api: fix dead client scan heap issueNathan Skrzypczak1-0/+4
2019-09-30api: fix use-after-freeBenoît Ganne1-3/+3
2019-08-27api: revert use string type for strings in memclnt.apiOle Troan1-1/+1
2019-08-27api: use string type for strings in memclnt.apiOle Troan1-1/+1
2019-07-24api: Disable tracing of memclnt_keepalive messagesDave Barach1-6/+11
2019-06-14api: add mp-safe/barrier-sync indication to elogsDave Barach1-0/+1
2019-05-16init / exit function orderingDave Barach1-4/+4
2019-02-26VPP-1574: minimize RPC barrier sync callsDave Barach1-3/+20
2019-01-02Fixes for buliding for 32bit targets:David Johnson1-4/+4
2018-12-05bapi: add options to have vpp cleanup client registrationFlorin Coras1-16/+22
2018-12-01Delete shared memory segment files when vpp startsDave Barach1-0/+22
2018-11-01Move RPC calls off the binary API input queueDave Barach1-0/+34
2018-10-25Revert "Keep RPC traffic off the shared-memory API queue"Florin Coras1-20/+0
2018-10-24Keep RPC traffic off the shared-memory API queueDave Barach1-0/+20
2018-10-23c11 safe string handling supportDave Barach1-8/+8
2018-08-07api: compute msg table for private registrationsFlorin Coras1-2/+7
2018-06-14Use __attribute__((weak)) references where necessaryDave Barach1-5/+1
2018-06-08export counters in a memfd segmentDave Barach1-0/+16
2018-06-05VPP API: Memory traceOle Troan1-0/+1
2018-01-25session: add support for memfd segmentsFlorin Coras1-46/+58
2018-01-10svm: calc base address on AArch64 based on autodetected VA space sizeDamjan Marion1-1/+1
2018-01-09api: refactor vlibmemoryFlorin Coras1-0/+905
="n">clib_bihash_value) ** working_copies; /**< Working copies (various sizes), to avoid locking against readers */ clib_bihash_bucket_t saved_bucket; /**< Saved bucket pointer */ u32 nbuckets; /**< Number of hash buckets */ u32 log2_nbuckets; /**< lg(nbuckets) */ u8 *name; /**< hash table name */ BVT (clib_bihash_value) ** freelists; /**< power of two freelist vector */ void *mheap; /**< clib memory heap */ } clib_bihash_t; /** Get pointer to value page given its clib mheap offset */ static inline void *clib_bihash_get_value (clib_bihash * h, uword offset); /** Get clib mheap offset given a pointer */ static inline uword clib_bihash_get_offset (clib_bihash * h, void *v); /** initialize a bounded index extensible hash table @param h - the bi-hash table to initialize @param name - name of the hash table @param nbuckets - the number of buckets, will be rounded up to a power of two @param memory_size - clib mheap size, in bytes */ void clib_bihash_init (clib_bihash * h, char *name, u32 nbuckets, uword memory_size); /** Destroy a bounded index extensible hash table @param h - the bi-hash table to free */ void clib_bihash_free (clib_bihash * h); /** Add or delete a (key,value) pair from a bi-hash table @param h - the bi-hash table to search @param add_v - the (key,value) pair to add @param is_add - add=1, delete=0 @returns 0 on success, < 0 on error @note This function will replace an existing (key,value) pair if the new key matches an existing key */ int clib_bihash_add_del (clib_bihash * h, clib_bihash_kv * add_v, int is_add); /** Search a bi-hash table @param h - the bi-hash table to search @param search_v - (key,value) pair containing the search key @param return_v - (key,value) pair which matches search_v.key @returns 0 on success (with return_v set), < 0 on error */ int clib_bihash_search (clib_bihash * h, clib_bihash_kv * search_v, clib_bihash_kv * return_v); /** Visit active (key,value) pairs in a bi-hash table @param h - the bi-hash table to search @param callback - function to call with each active (key,value) pair @param arg - arbitrary second argument passed to the callback function First argument is the (key,value) pair to visit @note Trying to supply a proper function prototype for the callback function appears to be a fool's errand. */ void clib_bihash_foreach_key_value_pair (clib_bihash * h, void *callback, void *arg); /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */