implement redbend flashing
Change-Id: Icad93103ed2321ad8b6aecbbf2e0f2f8fe139c0f
diff --git a/bmlutils/Android.mk b/bmlutils/Android.mk
index f1a8525..38da88c 100644
--- a/bmlutils/Android.mk
+++ b/bmlutils/Android.mk
@@ -3,6 +3,7 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
+LOCAL_CFLAGS += -DBOARD_BOOT_DEVICE=\"$(BOARD_BOOT_DEVICE)\"
LOCAL_SRC_FILES := bmlutils.c
LOCAL_MODULE := libbmlutils
include $(BUILD_STATIC_LIBRARY)
diff --git a/bmlutils/bmlutils.c b/bmlutils/bmlutils.c
index b870a58..b264e0a 100644
--- a/bmlutils/bmlutils.c
+++ b/bmlutils/bmlutils.c
@@ -1,4 +1,33 @@
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <getopt.h>
+#include <limits.h>
+#include <linux/input.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/reboot.h>
+#include <sys/types.h>
+#include <time.h>
+#include <unistd.h>
+
+#include <sys/wait.h>
+#include <sys/limits.h>
+#include <dirent.h>
+#include <sys/stat.h>
+
+#include <signal.h>
+#include <sys/wait.h>
+
+int
+__system(const char *command);
+
int write_raw_image(const char* partition, const char* filename) {
- // flash using redbend_ua here
- return 0;
-}
\ No newline at end of file
+ char tmp[PATH_MAX];
+ if (0 != strcmp("boot", partition)) {
+ return -1;
+ }
+ sprintf(tmp, "/sbin/redbend_ua restore %s %s", filename, BOARD_BOOT_DEVICE);
+ return __system(tmp);
+}