1 /* $NetBSD: ctable.h,v 1.1.1.1 2009/06/23 10:08:59 tron Exp $ */ 2 3 #ifndef _CTABLE_H_INCLUDED_ 4 #define _CTABLE_H_INCLUDED_ 5 6 /*++ 7 /* NAME 8 /* ctable 5 9 /* SUMMARY 10 /* cache manager 11 /* SYNOPSIS 12 /* #include <ctable.h> 13 /* DESCRIPTION 14 /* .nf 15 16 /* 17 * Interface of the cache manager. The structure of a cache is not visible 18 * to the caller. 19 */ 20 21 #define CTABLE struct ctable 22 typedef void *(*CTABLE_CREATE_FN) (const char *, void *); 23 typedef void (*CTABLE_DELETE_FN) (void *, void *); 24 25 extern CTABLE *ctable_create(int, CTABLE_CREATE_FN, CTABLE_DELETE_FN, void *); 26 extern void ctable_free(CTABLE *); 27 extern void ctable_walk(CTABLE *, void (*) (const char *, const void *)); 28 extern const void *ctable_locate(CTABLE *, const char *); 29 30 /* LICENSE 31 /* .ad 32 /* .fi 33 /* The Secure Mailer license must be distributed with this software. 34 /* AUTHOR(S) 35 /* Wietse Venema 36 /* IBM T.J. Watson Research 37 /* P.O. Box 704 38 /* Yorktown Heights, NY 10598, USA 39 /*--*/ 40 41 #endif 42