Add support for wimax imaging
Change-Id: I2f14918f3ffb37fe94bab469e1d89a9874d89d18
diff --git a/nandroid.c b/nandroid.c
index 5d174a7..4a92e33 100644
--- a/nandroid.c
+++ b/nandroid.c
@@ -141,6 +141,15 @@
return print_and_error("Error while dumping recovery image!\n");
#endif
+ if (0 == (ret = get_partition_device("wimax", tmp)))
+ {
+ ui_print("Backing up wimax...\n");
+ sprintf(tmp, "%s/%s", backup_path, "wimax.img");
+ ret = backup_raw_partition("wimax", tmp);
+ if (0 != ret)
+ return print_and_error("Error while dumping wimax image!\n");
+ }
+
if (0 != (ret = nandroid_backup_partition(backup_path, "/system")))
return ret;
@@ -253,7 +262,7 @@
return nandroid_restore_partition_extended(backup_path, root, 1);
}
-int nandroid_restore(const char* backup_path, int restore_boot, int restore_system, int restore_data, int restore_cache, int restore_sdext)
+int nandroid_restore(const char* backup_path, int restore_boot, int restore_system, int restore_data, int restore_cache, int restore_sdext, int restore_wimax)
{
ui_set_background(BACKGROUND_ICON_INSTALLING);
ui_show_indeterminate_progress();
@@ -285,6 +294,26 @@
}
#endif
+ if (restore_wimax && 0 == (ret = get_partition_device("wimax", tmp)))
+ {
+ sprintf(tmp, "%s/wimax.img", backup_path);
+
+ struct stat st;
+ if (0 != stat(tmp, &st))
+ {
+ ui_print("WARNING: Wimax partition exists, but nandroid\n");
+ ui_print(" backup does not contain wimax image.\n");
+ ui_print(" You should create a new backup to\n");
+ ui_print(" protect your wimax data.\n");
+ }
+ else
+ {
+ ui_print("Restoring wimax image...\n");
+ if (0 != (ret = restore_raw_partition("wimax", tmp)))
+ return ret;
+ }
+ }
+
if (restore_system && 0 != (ret = nandroid_restore_partition(backup_path, "/system")))
return ret;
@@ -354,7 +383,7 @@
{
if (argc != 3)
return nandroid_usage();
- return nandroid_restore(argv[2], 1, 1, 1, 1, 1);
+ return nandroid_restore(argv[2], 1, 1, 1, 1, 1, 1);
}
return nandroid_usage();