diff options
author | jb <jb@FreeBSD.org> | 2007-11-18 00:23:31 +0000 |
---|---|---|
committer | jb <jb@FreeBSD.org> | 2007-11-18 00:23:31 +0000 |
commit | 9bd9c03e9216324dd9dfcda9145702c561b4abb8 (patch) | |
tree | 55bd23df13e645c28c563525f2433dd5ff2447ea /sys/sys/linker.h | |
parent | 804a2cd23889a22a7ab5641fcfe31330a66f154e (diff) | |
download | FreeBSD-src-9bd9c03e9216324dd9dfcda9145702c561b4abb8.zip FreeBSD-src-9bd9c03e9216324dd9dfcda9145702c561b4abb8.tar.gz |
Add a function to list symbols in a file and their values at the
same time rather than having to list the symbols and then go back
and look each one up by name.
Diffstat (limited to 'sys/sys/linker.h')
-rw-r--r-- | sys/sys/linker.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/sys/linker.h b/sys/sys/linker.h index 83774e6..f9ce2a4 100644 --- a/sys/sys/linker.h +++ b/sys/sys/linker.h @@ -59,6 +59,8 @@ typedef struct linker_symval { size_t size; } linker_symval_t; +typedef int (*linker_function_nameval_callback_t)(linker_file_t, linker_symval_t *, void *); + struct common_symbol { STAILQ_ENTRY(common_symbol) link; char* name; @@ -154,6 +156,12 @@ int linker_file_lookup_set(linker_file_t _file, const char *_name, void *_start, void *_stop, int *_count); /* + * List all functions in a file. + */ +int linker_file_function_listall(linker_file_t, int (*)(linker_file_t, + linker_symval_t *, void *), void *); + +/* * Functions soley for use by the linker class handlers. */ int linker_add_class(linker_class_t _cls); |