symtab.h 722 B

1234567891011121314151617181920212223242526
  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. #ifndef _SS_SYMTAB_H_
  11. #define _SS_SYMTAB_H_
  12. #include "hashtab.h"
  13. struct symtab {
  14. struct hashtab table; /* hash table (keyed on a string) */
  15. u32 nprim; /* number of primary names in table */
  16. };
  17. int symtab_init(struct symtab *s, u32 size);
  18. int symtab_insert(struct symtab *s, char *name, void *datum);
  19. void *symtab_search(struct symtab *s, const char *name);
  20. #endif /* _SS_SYMTAB_H_ */