1 /*        $NetBSD: nvtable.h,v 1.2 2017/02/14 01:16:49 christos Exp $ */
2 
3 #ifndef _NVTABLE_H_INCLUDED_
4 #define _NVTABLE_H_INCLUDED_
5 
6 /*++
7 /* NAME
8 /*        nvtable 3h
9 /* SUMMARY
10 /*        attribute list manager
11 /* SYNOPSIS
12 /*        #include <nvtable.h>
13 /* DESCRIPTION
14 /* .nf
15 
16  /*
17   * Utility library.
18   */
19 #include <htable.h>
20 #include <mymalloc.h>
21 
22 typedef struct HTABLE NVTABLE;
23 typedef struct HTABLE_INFO NVTABLE_INFO;
24 
25 #define nvtable_create(size)            htable_create(size)
26 #define nvtable_locate(table, key)      htable_locate((table), (key))
27 #define nvtable_walk(table, action, ptr) htable_walk((table), HTABLE_ACTION_FN_CAST(action), (ptr))
28 #define nvtable_list(table)             htable_list(table)
29 #define nvtable_find(table, key)        htable_find((table), (key))
30 #define nvtable_delete(table, key)      htable_delete((table), (key), myfree)
31 #define nvtable_free(table)             htable_free((table), myfree)
32 
33 extern NVTABLE_INFO *nvtable_update(NVTABLE *, const char *, const char *);
34 
35 /* LICENSE
36 /* .ad
37 /* .fi
38 /*        The Secure Mailer license must be distributed with this software.
39 /* AUTHOR(S)
40 /*        Wietse Venema
41 /*        IBM T.J. Watson Research
42 /*        P.O. Box 704
43 /*        Yorktown Heights, NY 10598, USA
44 /*--*/
45 
46 #endif
47