This is an example to show how dynamic libraries can be made to work with unbound. More...
#include "../../config.h"
#include "../../util/module.h"
#include "../../sldns/parseutil.h"
#include "../dynlibmod.h"
Functions | |
int | reply_callback (struct query_info *qinfo, struct module_qstate *qstate, struct reply_info *rep, int rcode, struct edns_data *edns, struct edns_option **opt_list_out, struct comm_reply *repinfo, struct regional *region, struct timeval *start_time, int id, void *callback) |
EXPORT int | init (struct module_env *env, int id) |
EXPORT void | deinit (struct module_env *env, int id) |
EXPORT void | operate (struct module_qstate *qstate, enum module_ev event, int id, struct outbound_entry *entry) |
EXPORT void | inform_super (struct module_qstate *qstate, int id, struct module_qstate *super) |
EXPORT void | clear (struct module_qstate *qstate, int id) |
EXPORT size_t | get_mem (struct module_env *env, int id) |
This is an example to show how dynamic libraries can be made to work with unbound.
To build a .so file simply run: gcc -I../.. -shared -Wall -Werror -fpic -o helloworld.so helloworld.c And to build for windows, first make unbound with the –with-dynlibmod switch, then use this command: x86_64-w64-mingw32-gcc -m64 -I../.. -shared -Wall -Werror -fpic -o helloworld.dll helloworld.c -L../.. -l:libunbound.dll.a to cross-compile a 64-bit Windows DLL. The libunbound.dll.a is produced by the compile step that makes unbound.exe and allows the dynlib dll to access definitions in unbound.exe.