dnscrypto-proxy: Update to release 1.3.0
[tomato.git] / release / src / router / dnscrypt / src / proxy / plugin_support_p.h
blobb0892b2098fdaf0b6e5f1c306a023d86248da03b
2 #ifndef __PLUGIN_SUPPORT_P_H__
3 #define __PLUGIN_SUPPORT_P_H__ 1
5 #include <ltdl.h>
7 #include <dnscrypt/plugin.h>
9 #include "queue.h"
11 typedef int (*DCPluginInit)(DCPlugin * const dcplugin, int argc, char *argv[]);
12 typedef int (*DCPluginDestroy)(DCPlugin * const dcplugin);
13 typedef const char *(*DCPluginDescription)(DCPlugin * const dcplugin);
15 typedef DCPluginSyncFilterResult (*DCPluginSyncFilter)
16 (DCPlugin * const dcplugin, DCPluginDNSPacket *dcp_packet);
18 struct DCPluginSupport_ {
19 SLIST_ENTRY(DCPluginSupport_) next;
20 DCPluginSyncFilter sync_post_filter;
21 DCPluginSyncFilter sync_pre_filter;
22 lt_dlhandle handle;
23 DCPlugin *plugin;
24 char *plugin_file;
25 char **argv;
26 int argc;
29 struct DCPluginSupportContext_ {
30 SLIST_HEAD(DCPluginSupportList_, DCPluginSupport_) dcps_list;
31 _Bool lt_enabled;
34 #endif