#include <stdio.h>
#include <stdint.h>
+#define MAKE_2B_CODE_2(A,B) \
+ ((((A) & 0xff) << 8) | ((B) & 0xff))
+#define MAKE_2B_CODE_4(A,B,C,D) \
+ ((((A) & 0xf) << 12) | (((B) & 0xf) << 8) | \
+ (((C) & 0xf) << 4) | (((D) & 0xf)))
+#define MAKE_4B_CODE_4(A,B,C,D) \
+ ((((A) & 0xff) << 24) | (((B) & 0xff) << 16) | \
+ (((C) & 0xff) << 8) | (((D) & 0xff)))
+#define MAKE_TAG_CONSTANT(A,B,C,D) MAKE_4B_CODE_4(A,B,C,D)
-#define MAKE_TAG_CONSTANT(A,B,C,D) \
- (((A) << 24) | ((B) << 16) | ((C) << 8) | (D))
#define HARDWARE_INFO_TAG MAKE_TAG_CONSTANT('T','H','I','T')
#define MAKE_VERSION(maj,min) ((((maj) & 0xff) << 8) | ((min) & 0xff))