Home | History | Annotate | Line # | Download | only in util
      1 /*	$NetBSD: ctable.h,v 1.2 2017/02/14 01:16:49 christos 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(ssize_t, 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 extern const void *ctable_refresh(CTABLE *, const char *);
     30 extern void ctable_newcontext(CTABLE *, void *);
     31 
     32 /* LICENSE
     33 /* .ad
     34 /* .fi
     35 /*	The Secure Mailer license must be distributed with this software.
     36 /* AUTHOR(S)
     37 /*	Wietse Venema
     38 /*	IBM T.J. Watson Research
     39 /*	P.O. Box 704
     40 /*	Yorktown Heights, NY 10598, USA
     41 /*--*/
     42 
     43 #endif
     44