Idź do dokumentacji tego pliku.
20 #ifndef __EKG_PLUGINS_H
21 #define __EKG_PLUGINS_H
23 #include <sys/types.h>
29 #define EKG_ABI_VER 4921
31 #define EXPORT __attribute__ ((visibility("default")))
49 #define PLUGIN_VAR_ADD(name, type, value, secret, notify) { name, value, secret, type, notify }
50 #define PLUGIN_VAR_END() { NULL, NULL, 0, -1, NULL }
52 #define PLUGIN_CHECK_VER(name) { if (!plugin_abi_version(EKG_ABI_VER, name)) return -1; }
84 #define PLUGIN_DEFINE(x, y, z)\
85 static int x##_plugin_destroy(); \
87 plugin_t x##_plugin = { \
90 .destroy = x##_plugin_destroy, \
94 #define QUERY(x) int x(void *data, va_list ap)
119 #define WATCHER(x) int x(int type, int fd, watch_type_t watch, void *data)
120 #define WATCHER_LINE(x) int x(int type, int fd, const char *watch, void *data)
124 typedef struct watch {
153 #define watch_add_line(p, fd, type, handler, data) watch_add(p, fd, type, (watcher_handler_func_t *) (handler), data)