summaryrefslogtreecommitdiffstats
path: root/util/cbfstool/cbfs-mkpayload.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/cbfstool/cbfs-mkpayload.c')
-rw-r--r--util/cbfstool/cbfs-mkpayload.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/util/cbfstool/cbfs-mkpayload.c b/util/cbfstool/cbfs-mkpayload.c
index 67002b0..adbe313 100644
--- a/util/cbfstool/cbfs-mkpayload.c
+++ b/util/cbfstool/cbfs-mkpayload.c
@@ -50,6 +50,23 @@ void xdr_segs(struct buffer *output,
xdr_be.put32(&outheader, segs[i].mem_len);
}
}
+
+void xdr_get_seg(struct cbfs_payload_segment *out,
+ struct cbfs_payload_segment *in)
+{
+ struct buffer inheader;
+
+ inheader.data = (void *)in;
+ inheader.size = sizeof(*in);
+
+ out->type = xdr_be.get32(&inheader);
+ out->compression = xdr_be.get32(&inheader);
+ out->offset = xdr_be.get32(&inheader);
+ out->load_addr = xdr_be.get64(&inheader);
+ out->len = xdr_be.get32(&inheader);
+ out->mem_len = xdr_be.get32(&inheader);
+}
+
int parse_elf_to_payload(const struct buffer *input,
struct buffer *output, uint32_t arch, comp_algo algo)
{
OpenPOWER on IntegriCloud