[Suspend2][ 17/19] [Suspend2] Get image_exists data.

From: Nigel Cunningham
Date: Mon Jun 26 2006 - 19:19:48 EST


Get information for the image_exists proc entry.

Signed-off-by: Nigel Cunningham <nigel@xxxxxxxxxxxx>

kernel/power/io.c | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/kernel/power/io.c b/kernel/power/io.c
index 79cf54f..cd99bd8 100644
--- a/kernel/power/io.c
+++ b/kernel/power/io.c
@@ -933,3 +933,41 @@ int read_pageset1(void)
return error;
}

+/*
+ * get_have_image_data()
+ */
+char *get_have_image_data(void)
+{
+ char *output_buffer = (char *) get_zeroed_page(GFP_ATOMIC);
+ struct suspend_header *suspend_header;
+
+ if (!output_buffer) {
+ printk("Output buffer null.\n");
+ return NULL;
+ }
+
+ /* Check for an image */
+ if (!suspend_active_writer->image_exists() ||
+ suspend_active_writer->read_header_init() ||
+ suspend_active_writer->rw_header_chunk(READ, NULL,
+ output_buffer, sizeof(struct suspend_header)) !=
+ sizeof(struct suspend_header)) {
+ sprintf(output_buffer, "0\n");
+ goto out;
+ }
+
+ suspend_header = (struct suspend_header *) output_buffer;
+
+ sprintf(output_buffer, "1\n%s\n%s\n",
+ suspend_header->machine,
+ suspend_header->version);
+
+ /* Check whether we've resumed before */
+ if (test_suspend_state(SUSPEND_RESUMED_BEFORE))
+ strcat(output_buffer, "Resumed before.\n");
+
+out:
+ noresume_reset_modules();
+ return output_buffer;
+}
+

--
Nigel Cunningham nigel at suspend2 dot net
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/