uint64_t val, const char *dflt);
#define printxval_search(xlat__, val__, dflt__) \
printxval_searchn(xlat__, ARRAY_SIZE(xlat__), val__, dflt__)
+extern int sprintxval(char *buf, size_t size, const struct xlat *,
+ unsigned int val, const char *dflt);
extern int printargs(struct tcb *);
extern int printargs_u(struct tcb *);
extern int printargs_d(struct tcb *);
return 0;
}
+int
+sprintxval(char *const buf, const size_t size, const struct xlat *const x,
+ const unsigned int val, const char *const dflt)
+{
+ const char *const str = xlookup(x, val);
+
+ if (str)
+ return xsnprintf(buf, size, "%s", str);
+ if (dflt)
+ return xsnprintf(buf, size, "%#x /* %s */", val, dflt);
+
+ return xsnprintf(buf, size, "%#x", val);
+}
+
/**
* Print entry in sorted struct xlat table, if it is there.
*