1#ifndef _CTABLE_H_INCLUDED_ 2#define _CTABLE_H_INCLUDED_ 3 4/*++ 5/* NAME 6/* ctable 5 7/* SUMMARY 8/* cache manager 9/* SYNOPSIS 10/* #include <ctable.h> 11/* DESCRIPTION 12/* .nf 13 14 /* 15 * Interface of the cache manager. The structure of a cache is not visible 16 * to the caller. 17 */ 18 19#define CTABLE struct ctable 20typedef void *(*CTABLE_CREATE_FN) (const char *, void *); 21typedef void (*CTABLE_DELETE_FN) (void *, void *); 22 23extern CTABLE *ctable_create(int, CTABLE_CREATE_FN, CTABLE_DELETE_FN, void *); 24extern void ctable_free(CTABLE *); 25extern void ctable_walk(CTABLE *, void (*) (const char *, const void *)); 26extern const void *ctable_locate(CTABLE *, const char *); 27extern const void *ctable_refresh(CTABLE *, const char *); 28extern void ctable_newcontext(CTABLE *, void *); 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