1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 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 * 8 * Author : Stephen Smalley, <stephen.smalley.work@gmail.com> 9 */ 10 11#ifndef _SS_SYMTAB_H_ 12#define _SS_SYMTAB_H_ 13 14#include "hashtab.h" 15 16struct symtab { 17 struct hashtab table; /* hash table (keyed on a string) */ 18 u32 nprim; /* number of primary names in table */ 19}; 20 21int symtab_init(struct symtab *s, u32 size); 22 23int symtab_insert(struct symtab *s, char *name, void *datum); 24void *symtab_search(struct symtab *s, const char *name); 25 26#endif /* _SS_SYMTAB_H_ */ 27