blob: f2614138d0cd8afdf1fb0d53e8c39dd3ed6d483a [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
3 * A symbol table (symtab) maintains associations between symbol
4 * strings and datum values. The type of the datum values
5 * is arbitrary. The symbol table type is implemented
6 * using the hash table type (hashtab).
7 *
Stephen Smalley7efbb602017-08-17 13:32:36 -04008 * Author : Stephen Smalley, <sds@tycho.nsa.gov>
Linus Torvalds1da177e2005-04-16 15:20:36 -07009 */
10#ifndef _SS_SYMTAB_H_
11#define _SS_SYMTAB_H_
12
13#include "hashtab.h"
14
15struct symtab {
Ondrej Mosnacek03414a42020-04-28 14:55:12 +020016 struct hashtab table; /* hash table (keyed on a string) */
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 u32 nprim; /* number of primary names in table */
18};
19
20int symtab_init(struct symtab *s, unsigned int size);
21
Ondrej Mosnacek237389e2020-07-08 13:24:45 +020022int symtab_insert(struct symtab *s, char *name, void *datum);
23void *symtab_search(struct symtab *s, const char *name);
24
Linus Torvalds1da177e2005-04-16 15:20:36 -070025#endif /* _SS_SYMTAB_H_ */
26
27