summaryrefslogtreecommitdiffstats
path: root/sys/sys/linker.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2006-06-20 20:54:13 +0000
committerjhb <jhb@FreeBSD.org>2006-06-20 20:54:13 +0000
commit232160a8fb1fdc8bb506f4ae92a5b277314e5b11 (patch)
treed8e5ccc7371d1f67ab824f045af9fcf1f1446b20 /sys/sys/linker.h
parent13b4d6433549f362069fbe0a26fef8d45822616d (diff)
downloadFreeBSD-src-232160a8fb1fdc8bb506f4ae92a5b277314e5b11.zip
FreeBSD-src-232160a8fb1fdc8bb506f4ae92a5b277314e5b11.tar.gz
- Push Giant down into linker_reference_module().
- Add a new function linker_release_module() as a more intuitive complement to linker_reference_module() that wraps linker_file_unload(). linker_release_module() can either take the module name and version info passed to linker_reference_module() or it can accept the linker file object returned by linker_reference_module().
Diffstat (limited to 'sys/sys/linker.h')
-rw-r--r--sys/sys/linker.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/sys/linker.h b/sys/sys/linker.h
index 8e3c1fa..39311ff 100644
--- a/sys/sys/linker.h
+++ b/sys/sys/linker.h
@@ -116,6 +116,14 @@ int linker_reference_module(const char* _modname, struct mod_depend *_verinfo,
linker_file_t* _result);
/*
+ * Release a reference to a module, unloading it if there are no more
+ * references. Note that one should either provide a module name and
+ * optional version info or a linker file, but not both.
+ */
+int linker_release_module(const char *_modname, struct mod_depend *_verinfo,
+ linker_file_t _file);
+
+/*
* Iterate over all of the currently loaded linker files calling the
* predicate function while the function returns 0. Returns the value
* returned by the last predicate function.
OpenPOWER on IntegriCloud