The function added in this patch, is used for writing and reading value
from the char array in struct SplitBlock.

Signed-off-by: Qiao Nuohan <[email protected]>
Signed-off-by: Zhou Wenjian <[email protected]>
---
 makedumpfile.c |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/makedumpfile.c b/makedumpfile.c
index 7017943..f86dfd2 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -5716,6 +5716,35 @@ calculate_entry_size(void)
        return entry_size;
 }
 
+void
+write_into_splitblock_table(char *entry,
+                               unsigned long long value)
+{
+       char temp;
+       int i = 0;
+
+       while (i++ < splitblock->entry_size) {
+               temp = value & 0xff;
+               value = value >> BITPERBYTE;
+               *entry = temp;
+               entry++;
+       }
+}
+
+unsigned long long
+read_from_splitblock_table(char *entry)
+{
+       unsigned long long value = 0;
+       int i;
+
+       for (i = splitblock->entry_size; i > 0; i--) {
+               value = value << BITPERBYTE;
+               value += *(entry + i - 1) & 0xff;
+       }
+
+       return value;
+}
+
 mdf_pfn_t
 get_num_dumpable(void)
 {
-- 
1.7.1


_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to