00001 /* vim: set sw=8 ts=8 sts=8 expandtab: */ 00002 #ifndef CMAID_CACHE_H 00003 #define CMAID_CACHE_H 00004 00027 typedef Cmaid_Container Cmaid_Cache; 00028 00040 typedef void *(*Cmaid_Cache_Instance_Cb)(Cmaid_Cache *s, const void *data); 00042 typedef void (*Cmaid_Cache_Release_Cb)(Cmaid_Cache *s, const void *data); 00043 00045 typedef struct Cmaid_Cache_Interface Cmaid_Cache_Interface; 00046 00052 struct Cmaid_Cache_Interface 00053 { 00054 Cmaid_Container_Interface container_if; 00055 Cmaid_Cache_Instance_Cb instance; 00056 Cmaid_Cache_Release_Cb release; 00057 }; 00066 CMAID_INLINE void *cmaid_cache_instance(Cmaid_Cache *s, const void *data); 00067 CMAID_INLINE void cmaid_cache_release(Cmaid_Cache *s, const void *data); 00072 #include <cmaid_cache_funcdef.h> 00073 00074 #endif
1.5.8