summaryrefslogtreecommitdiff
path: root/nlattr.h
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2018-05-18 17:36:00 +0200
committerDmitry V. Levin <ldv@altlinux.org>2018-06-06 15:10:37 +0000
commit79a02d029ccd6d998479d1cf58c812a7ea05ab73 (patch)
treedbbc1e7b0b50c2eec07e0fb417b5407620082cf6 /nlattr.h
parentbdc6ca9e5665bf8543b45a11afcb2fa48fa5d07b (diff)
downloadstrace-79a02d029ccd6d998479d1cf58c812a7ea05ab73.tar.gz
nlattr: add value processing support for xlat/flags nlattr decoders
Needed for upcoming decoder of ethernet proto which is stored in the host order and has to be converted to the network order before printing as an xval constant. This change also adds ability to provide prefix/suffix in order to enclose the printed value in something that describes the performed conversion. * nlattr.h (struct decode_nla_xlat_opts): Add prefix, suffix, and process_fn fields. * nlattr.c (decode_nla_xval, decode_nla_flags): Handle process_fn, prefix, snd uffix parameters.
Diffstat (limited to 'nlattr.h')
-rw-r--r--nlattr.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/nlattr.h b/nlattr.h
index fc7a67d92..478b8f118 100644
--- a/nlattr.h
+++ b/nlattr.h
@@ -38,6 +38,9 @@ struct decode_nla_xlat_opts {
const char *dflt;
enum xlat_type xt;
enum xlat_style style;
+ const char *prefix;
+ const char *suffix;
+ uint64_t (*process_fn)(uint64_t val);
};
typedef bool (*nla_decoder_t)(struct tcb *, kernel_ulong_t addr,