1/* $NetBSD$ */ 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 22typedef void *(*CTABLE_CREATE_FN) (const char *, void *); 23typedef void (*CTABLE_DELETE_FN) (void *, void *); 24 25extern CTABLE *ctable_create(int, CTABLE_CREATE_FN, CTABLE_DELETE_FN, void *); 26extern void ctable_free(CTABLE *); 27extern void ctable_walk(CTABLE *, void (*) (const char *, const void *)); 28extern 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