1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6void hash_init(hashtab_T *ht);
7void hash_clear(hashtab_T *ht);
8void hash_clear_all(hashtab_T *ht, unsigned int off);
9hashitem_T *hash_find(const hashtab_T *const ht, const char_u *const key);
10hashitem_T *hash_find_len(const hashtab_T *const ht, const char *const key, const size_t len);
11hashitem_T *hash_lookup(const hashtab_T *const ht, const char *const key, const size_t key_len, const hash_T hash);
12void hash_debug_results(void);
13int hash_add(hashtab_T *ht, char_u *key);
14void hash_add_item(hashtab_T *ht, hashitem_T *hi, char_u *key, hash_T hash);
15void hash_remove(hashtab_T *ht, hashitem_T *hi);
16void hash_lock(hashtab_T *ht);
17void hash_unlock(hashtab_T *ht);
18hash_T hash_hash(const char_u *key);
19hash_T hash_hash_len(const char *key, const size_t len) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
20const char_u *_hash_key_removed(void) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
21#include "nvim/func_attr.h"
22