Move definitions of xlat_type and xlat_style from defs.h to xlat.h

* defs.h (enum xlat_type, enum xlat_style, XLAT_STYLE_FORMAT_SHIFT,
XLAT_STYLE_VERBOSITY_MASK, XLAT_STYLE_FORMAT_MASK, XLAT_STYLE_SPEC_BITS,
XLAT_STYLE_MASK): Move ...
* xlat.h: ... here.
This commit is contained in:
Дмитрий Левин 2018-05-30 20:50:29 +00:00
parent 607f2b5e58
commit 4646db8e4d
2 changed files with 38 additions and 37 deletions

37
defs.h
View File

@ -636,46 +636,9 @@ printaddr(const kernel_ulong_t addr)
printaddr64(addr);
}
#define XLAT_STYLE_VERBOSITY_MASK (XLAT_STYLE_RAW | XLAT_STYLE_ABBREV)
#define XLAT_STYLE_FORMAT_SHIFT 2
#define XLAT_STYLE_FORMAT_MASK (3 << XLAT_STYLE_FORMAT_SHIFT)
#define XLAT_STYLE_SPEC_BITS (XLAT_STYLE_FORMAT_SHIFT + 2)
#define XLAT_STYLE_MASK ((1 << XLAT_STYLE_SPEC_BITS) - 1)
#define xlat_verbose(style_) ((style_) & XLAT_STYLE_VERBOSITY_MASK)
#define xlat_format(style_) ((style_) & XLAT_STYLE_FORMAT_MASK)
enum xlat_type {
XT_NORMAL,
XT_SORTED,
XT_INDEXED,
};
enum xlat_style {
/**
* Special value that is used for passing to *print{xval,flags}*_ex
* routines that indicates that no overriding of user-supplied xlat
* verbosity/formatting configuration is intended.
*/
XLAT_STYLE_DEFAULT = 0,
/** Print xlat value as is without xlat processing */
XLAT_STYLE_RAW = 1 << 0,
/**
* Historic strace style, process xlat and print the result (xlat
* constant name/combination of flags), raw number only if nothing is
* found.
*/
XLAT_STYLE_ABBREV = 1 << 1,
/** Always print both raw number and xlat processing result. */
XLAT_STYLE_VERBOSE = XLAT_STYLE_RAW | XLAT_STYLE_ABBREV,
XLAT_STYLE_FMT_X = 0 << XLAT_STYLE_FORMAT_SHIFT,
XLAT_STYLE_FMT_U = 1 << XLAT_STYLE_FORMAT_SHIFT,
XLAT_STYLE_FMT_D = 2 << XLAT_STYLE_FORMAT_SHIFT,
};
extern enum xlat_style xlat_verbosity;
extern int printxvals_ex(uint64_t val, const char *dflt,

38
xlat.h
View File

@ -3,6 +3,44 @@
# include <stdint.h>
enum xlat_type {
XT_NORMAL,
XT_SORTED,
XT_INDEXED,
};
enum xlat_style {
/**
* Special value that is used for passing to *print{xval,flags}*_ex
* routines that indicates that no overriding of user-supplied xlat
* verbosity/formatting configuration is intended.
*/
XLAT_STYLE_DEFAULT = 0,
/** Print xlat value as is without xlat processing */
XLAT_STYLE_RAW = 1 << 0,
/**
* Historic strace style, process xlat and print the result (xlat
* constant name/combination of flags), raw number only if nothing is
* found.
*/
XLAT_STYLE_ABBREV = 1 << 1,
/** Always print both raw number and xlat processing result. */
XLAT_STYLE_VERBOSE = XLAT_STYLE_RAW | XLAT_STYLE_ABBREV,
#define XLAT_STYLE_FORMAT_SHIFT 2
#define XLAT_STYLE_VERBOSITY_MASK ((1 << XLAT_STYLE_FORMAT_SHIFT) - 1)
XLAT_STYLE_FMT_X = 0 << XLAT_STYLE_FORMAT_SHIFT,
XLAT_STYLE_FMT_U = 1 << XLAT_STYLE_FORMAT_SHIFT,
XLAT_STYLE_FMT_D = 2 << XLAT_STYLE_FORMAT_SHIFT,
#define XLAT_STYLE_FORMAT_MASK (3 << XLAT_STYLE_FORMAT_SHIFT)
#define XLAT_STYLE_SPEC_BITS (XLAT_STYLE_FORMAT_SHIFT + 2)
#define XLAT_STYLE_MASK ((1 << XLAT_STYLE_SPEC_BITS) - 1)
};
struct xlat {
uint64_t val;
const char *str;