00001 /* vim: set sw=8 ts=8 sts=8 expandtab: */ 00002 #ifndef CMAID_SET_H 00003 #define CMAID_SET_H 00004 00016 typedef Cmaid_Container Cmaid_Set; 00017 00029 typedef void *(*Cmaid_Set_Add_Cb)(Cmaid_Set *s, void *data); 00031 typedef void (*Cmaid_Set_Remove_Cb)(Cmaid_Set *s, const void *data); 00033 typedef void *(*Cmaid_Set_Get_Cb)(Cmaid_Set *s, const void *data); 00034 00036 typedef struct Cmaid_Set_Interface Cmaid_Set_Interface; 00037 00043 struct Cmaid_Set_Interface 00044 { 00045 Cmaid_Container_Interface container_if; 00046 Cmaid_Set_Add_Cb add; 00047 Cmaid_Set_Remove_Cb remove; 00048 Cmaid_Set_Get_Cb get; 00049 }; 00058 CMAID_INLINE void *cmaid_set_add(Cmaid_Set *s, void *data); 00059 CMAID_INLINE void cmaid_set_remove(Cmaid_Set *s, const void *data); 00060 CMAID_INLINE void *cmaid_set_get(Cmaid_Set *s, const void *data); 00065 #include <cmaid_set_funcdef.h> 00066 00067 #endif
1.5.8