Author: uwe Date: 2008-04-04 15:16:33 +0200 (Fri, 04 Apr 2008) New Revision: 3213
Modified: trunk/payloads/libpayload/include/libpayload.h Log: Add BIN2HEX and HEX2BIN macros (trivial).
They're generally useful for lots of stuff, but especially for converting to/from the compact 160 bit (20 byte) representation of SHA-1 hashes to the "hex" representation (same as 'sha1sum' output), which is 40 bytes long.
Signed-off-by: Uwe Hermann uwe@hermann-uwe.de Acked-by: Uwe Hermann uwe@hermann-uwe.de
Modified: trunk/payloads/libpayload/include/libpayload.h =================================================================== --- trunk/payloads/libpayload/include/libpayload.h 2008-04-03 23:01:23 UTC (rev 3212) +++ trunk/payloads/libpayload/include/libpayload.h 2008-04-04 13:16:33 UTC (rev 3213) @@ -41,6 +41,10 @@ #define MAX(a,b) ((a) > (b) ? (a) : (b)) #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
+#define BIN2HEX(b) ("0123456789abcdef"[b & 15]) +#define HEX2BIN(h) (('0' <= h && h <= '9') ? (h - '0') : \ + ('a' <= h && h <= 'f') ? (h - 'a' + 10) : 0) + #define LITTLE_ENDIAN 1234 #define BIG_ENDIAN 4321 #ifdef CONFIG_TARGET_I386