#ifndef STRACE_XLAT_H

struct xlat {
	unsigned int val;
	const char *str;
};

# define XLAT(val)			{ (unsigned)(val), #val }
# define XLAT_PAIR(val, str)		{ (unsigned)(val), str  }
# define XLAT_END			{		0, 0    }

#endif

#ifndef STRACE_XLAT_H

struct xlat {
	unsigned int val;
	const char *str;
};

# define XLAT(val)			{ (unsigned)(val), #val }
# define XLAT_PAIR(val, str)		{ (unsigned)(val), str  }
# define XLAT_TYPE(type, val)		{     (type)(val), #val }
# define XLAT_TYPE_PAIR(val, str)	{     (type)(val), str  }
# define XLAT_END			{		0, 0    }

#endif

Introduce XLAT_TYPE and XLAT_TYPE_PAIR macros
Introduce XLAT_TYPE and XLAT_TYPE_PAIR macros

* xlat.h (XLAT_TYPE): New macro, similar to XLAT but casts
to the specified type instead of unsigned int.
(XLAT_TYPE_PAIR): New macro, similar to XLAT_PAIR but casts
to the specified type instead of unsigned int.
