aboutsummaryrefslogtreecommitdiff
path: root/sys/sys
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2013-08-13 03:07:49 +0000
committerMark Johnston <markj@FreeBSD.org>2013-08-13 03:07:49 +0000
commitc9b645b50be5adebc3bd7927726af474caea6098 (patch)
treedcad89fb8dcad3f906701c32834969307169d079 /sys/sys
parentc77936e7e54dba25809a0cbed7e13559f6101bef (diff)
downloadsrc-c9b645b50be5adebc3bd7927726af474caea6098.tar.gz
src-c9b645b50be5adebc3bd7927726af474caea6098.zip
Add event handlers for module load and unload events. The load handlers are
called after the module has been loaded, and the unload handlers are called before the module is unloaded. Moreover, the module unload handlers may return an error to prevent the unload from proceeding. Reviewed by: avg MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=254266
Diffstat (limited to 'sys/sys')
-rw-r--r--sys/sys/eventhandler.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/sys/eventhandler.h b/sys/sys/eventhandler.h
index 02fbeaa816d1..7e1eee2ecd00 100644
--- a/sys/sys/eventhandler.h
+++ b/sys/sys/eventhandler.h
@@ -266,4 +266,11 @@ EVENTHANDLER_DECLARE(nmbclusters_change, uma_zone_chfn);
EVENTHANDLER_DECLARE(nmbufs_change, uma_zone_chfn);
EVENTHANDLER_DECLARE(maxsockets_change, uma_zone_chfn);
+/* Module load and unload events */
+struct linker_file;
+typedef void (*mod_load_fn)(void *, struct linker_file *);
+typedef void (*mod_unload_fn)(void *, struct linker_file *, int *);
+EVENTHANDLER_DECLARE(mod_load, mod_load_fn);
+EVENTHANDLER_DECLARE(mod_unload, mod_unload_fn);
+
#endif /* SYS_EVENTHANDLER_H */