sim: Add dependency encoding to TLV generator

The dependencies are kind of a special case, since they have to be
protected by the hashes.

Signed-off-by: David Brown <david.brown@linaro.org>
diff --git a/sim/src/image.rs b/sim/src/image.rs
index ac238e7..b0d996d 100644
--- a/sim/src/image.rs
+++ b/sim/src/image.rs
@@ -1032,7 +1032,7 @@
         magic: tlv.get_magic(),
         load_addr: 0,
         hdr_size: HDR_SIZE as u16,
-        _pad1: 0,
+        protect_tlv_size: tlv.protect_size(),
         img_size: len as u32,
         flags: tlv.get_flags(),
         ver: ImageVersion {
@@ -1299,7 +1299,7 @@
     magic: u32,
     load_addr: u32,
     hdr_size: u16,
-    _pad1: u16,
+    protect_tlv_size: u16,
     img_size: u32,
     flags: u32,
     ver: ImageVersion,
@@ -1309,11 +1309,12 @@
 impl AsRaw for ImageHeader {}
 
 #[repr(C)]
+#[derive(Clone)]
 pub struct ImageVersion {
-    major: u8,
-    minor: u8,
-    revision: u16,
-    build_num: u32,
+    pub major: u8,
+    pub minor: u8,
+    pub revision: u16,
+    pub build_num: u32,
 }
 
 #[derive(Clone)]