summaryrefslogtreecommitdiffstats
path: root/src/args.h
diff options
context:
space:
mode:
authorJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-01-31 20:27:59 +0100
committerJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-01-31 20:27:59 +0100
commitc167c2a3a404f5166ffd70a15a09c97cd1883ee8 (patch)
tree12d2916bd2a58a20c9672a8d4c78974c5e9eb13d /src/args.h
parentab67022bd5b60c839cc5d8360cd0c0a7f8c21f83 (diff)
downloadlatrace-c167c2a3a404f5166ffd70a15a09c97cd1883ee8.tar.gz
latrace-c167c2a3a404f5166ffd70a15a09c97cd1883ee8.tar.xz
latrace-c167c2a3a404f5166ffd70a15a09c97cd1883ee8.zip
adding support for global symbol config
one global tree to rule them all - only one tree is searched during the plt entry/exit - symbols are added during the bind audit callback
Diffstat (limited to 'src/args.h')
-rw-r--r--src/args.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/args.h b/src/args.h
index b7fa427..e0f4846 100644
--- a/src/args.h
+++ b/src/args.h
@@ -23,6 +23,7 @@
#define ARGS_H
struct lt_config_shared;
+struct lt_symbol;
enum {
LT_ARGS_DTYPE_POD = 1,
@@ -126,10 +127,13 @@ struct lt_args_data {
/* arguments */
int lt_args_init(struct lt_config_shared *cfg);
-int lt_args_sym_entry(struct lt_config_shared *cfg, char *sym, La_regs *regs,
+struct lt_args_sym* lt_args_sym_get(struct lt_config_shared *cfg,
+ const char *sym);
+int lt_args_sym_entry(struct lt_config_shared *cfg, struct lt_symbol *sym,
+ La_regs *regs, char **argbuf, char **argdbuf);
+int lt_args_sym_exit(struct lt_config_shared *cfg, struct lt_symbol *sym,
+ La_regs *inregs, La_retval *outregs,
char **argbuf, char **argdbuf);
-int lt_args_sym_exit(struct lt_config_shared *cfg, char *sym, La_regs *inregs,
- La_retval *outregs, char **argbuf, char **argdbuf);
int lt_args_add_enum(struct lt_config_shared *cfg, char *name,
struct lt_list_head *h);
struct lt_enum_elem* lt_args_get_enum(struct lt_config_shared *cfg, char *name, char *val);