bind9/lib/ns/win32/libns.def
Michał Kępień d181c28c60 Add ns_plugin_expandpath()
Implement a helper function which, given an input string:

  - copies it verbatim if it contains at least one path separator,
  - prepends the named plugin installation directory to it otherwise.

This function will allow configuration parsing code to conveniently
determine the full path to a plugin module given either a path or a
filename.

While other, simpler ways exist for making sure filenames passed to
dlopen() cause the latter to look for shared objects in a specific
directory, they are very platform-specific.  Using full paths is thus
likely the most portable and reliable solution.

Also added unit tests for ns_plugin_expandpath() to ensure it behaves
as expected for absolute paths, relative paths, and filenames, for
various target buffer sizes.

(Note: plugins share a directory with named on Windows; there is no
default plugin path. Therefore the source path is copied to the
destination path with no modification.)
2019-03-05 16:06:24 -08:00

107 lines
2 KiB
Modula-2

LIBRARY libns
; Exported Functions
EXPORTS
ns__client_request
ns__clientmgr_getclient
ns__interfacemgr_getif
ns__interfacemgr_nextif
ns__query_sfcache
ns__query_start
ns_client_aclmsg
ns_client_addopt
ns_client_attach
ns_client_checkacl
ns_client_checkaclsilent
ns_client_detach
ns_client_dumprecursing
ns_client_error
ns_client_findversion
ns_client_getdestaddr
ns_client_getnamebuf
ns_client_getsockaddr
ns_client_keepname
ns_client_killoldestquery
ns_client_log
ns_client_logv
ns_client_newdbversion
ns_client_newname
ns_client_newnamebuf
ns_client_newrdataset
ns_client_next
ns_client_putrdataset
ns_client_qnamereplace
ns_client_recursing
ns_client_releasename
ns_client_replace
ns_client_send
ns_client_sendraw
ns_client_settimeout
ns_client_shuttingdown
ns_client_sourceip
ns_clientmgr_create
ns_clientmgr_createclients
ns_clientmgr_destroy
ns_hook_add
ns_hooktable_create
ns_hooktable_free
ns_hooktable_init
ns_interface_attach
ns_interface_detach
ns_interface_shutdown
ns_interfacemgr_adjust
ns_interfacemgr_attach
ns_interfacemgr_create
ns_interfacemgr_detach
ns_interfacemgr_dumprecursing
ns_interfacemgr_getaclenv
ns_interfacemgr_islistening
ns_interfacemgr_listeningon
ns_interfacemgr_scan
ns_interfacemgr_setbacklog
ns_interfacemgr_setlistenon4
ns_interfacemgr_setlistenon6
ns_interfacemgr_shutdown
ns_lib_init
ns_lib_shutdown
ns_listenelt_create
ns_listenelt_destroy
ns_listenlist_attach
ns_listenlist_create
ns_listenlist_default
ns_listenlist_detach
ns_log_init
ns_log_setcontext
ns_notify_start
ns_plugin_check
ns_plugin_expandpath
ns_plugin_register
ns_plugins_create
ns_plugins_free
ns_query_cancel
ns_query_done
ns_query_free
ns_query_init
ns_query_recurse
ns_query_start
ns_server_attach
ns_server_create
ns_server_detach
ns_server_getoption
ns_server_gettimeouts
ns_server_setoption
ns_server_setserverid
ns_server_settimeouts
ns_sortlist_addrorder1
ns_sortlist_addrorder2
ns_sortlist_byaddrsetup
ns_sortlist_setup
ns_stats_attach
ns_stats_create
ns_stats_decrement
ns_stats_detach
ns_stats_get
ns_stats_increment
ns_update_start
ns_xfr_start