Add support for flags in the firmware preamble.

The old (v2.0) parser is compatible with new (v2.1) structs.  That is,
this won't break existing firmware or vbutil_firmware.

A new (v2.1) parser parsing an old (v2.0) struct will return 0 for the
flags.

This will be used to support the RO-normal code path in a subsequent CL.

BUG=chromium-os:17304
TEST=added unit tests; make && make runtests

Change-Id: I73bcd8acd3330b0d7d143061b5ef838e6d79cf1a
Reviewed-on: http://gerrit.chromium.org/gerrit/4030
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Tested-by: Randall Spangler <rspangler@chromium.org>
diff --git a/firmware/linktest/main.c b/firmware/linktest/main.c
index 4aae27d..16ba3ab 100644
--- a/firmware/linktest/main.c
+++ b/firmware/linktest/main.c
@@ -86,6 +86,7 @@
   VerifyDigest(0, 0, 0);
   KeyBlockVerify(0, 0, 0, 0);
   VerifyFirmwarePreamble(0, 0, 0);
+  VbGetFirmwarePreambleFlags(0);
   VerifyKernelPreamble(0, 0, 0);
   VbSharedDataInit(0, 0);
   VbSharedDataReserve(0, 0);