[coreboot] r3213 - trunk/payloads/libpayload/include

svn at coreboot.org svn at coreboot.org
Fri Apr 4 15:16:33 CEST 2008


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 at hermann-uwe.de>
Acked-by: Uwe Hermann <uwe at 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





More information about the coreboot mailing list