#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include "hashtab.h"
#include "security.h"
static struct kmem_cache *hashtab_node_cachep __ro_after_init;
static u32 hashtab_compute_size(u32 nel)
{ … }
int hashtab_init(struct hashtab *h, u32 nel_hint)
{ … }
int __hashtab_insert(struct hashtab *h, struct hashtab_node **dst, void *key,
void *datum)
{ … }
void hashtab_destroy(struct hashtab *h)
{ … }
int hashtab_map(struct hashtab *h, int (*apply)(void *k, void *d, void *args),
void *args)
{ … }
#ifdef CONFIG_SECURITY_SELINUX_DEBUG
void hashtab_stat(struct hashtab *h, struct hashtab_info *info)
{ … }
#endif
int hashtab_duplicate(struct hashtab *new, const struct hashtab *orig,
int (*copy)(struct hashtab_node *new,
const struct hashtab_node *orig, void *args),
int (*destroy)(void *k, void *d, void *args), void *args)
{ … }
void __init hashtab_cache_init(void)
{ … }