diff options
author | green <green@FreeBSD.org> | 2001-10-30 15:21:45 +0000 |
---|---|---|
committer | green <green@FreeBSD.org> | 2001-10-30 15:21:45 +0000 |
commit | e44401b785a1fffb6524e85f215bd99bfc778bf1 (patch) | |
tree | 04f5856e0de49a87ff73562b3145a85347ee7bcc /sys/sys/linker.h | |
parent | 8e31d7b2f43865c102269c5fe77a83fbc5fad376 (diff) | |
download | FreeBSD-src-e44401b785a1fffb6524e85f215bd99bfc778bf1.zip FreeBSD-src-e44401b785a1fffb6524e85f215bd99bfc778bf1.tar.gz |
Add the sysctl "kern.function_list", which currently exports all
function symbols in the kernel in a list of C strings, with an extra
nul-termination at the end.
This sysctl requires addition of a new linker operation. Now,
linker_file_t's need to respond to "each_function_name" to export
their function symbols.
Note that the sysctl doesn't currently allow distinguishing multiple
symbols with the same name from different modules, but could quite
easily without a change to the linker operation. This will be a nicety
to have when it can be used.
Obtained from: NAI Labs CBOSS project
Funded by: DARPA
Diffstat (limited to 'sys/sys/linker.h')
-rw-r--r-- | sys/sys/linker.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/linker.h b/sys/sys/linker.h index 687b865..f70f93c 100644 --- a/sys/sys/linker.h +++ b/sys/sys/linker.h @@ -46,6 +46,7 @@ typedef TAILQ_HEAD(, linker_file) linker_file_list_t; typedef caddr_t linker_sym_t; /* opaque symbol */ typedef c_caddr_t c_linker_sym_t; /* const opaque symbol */ +typedef int (*linker_function_name_callback_t)(const char *, void *); /* * expanded out linker_sym_t |