AB/Non AB Devices: updates for moving cache

This patchset updates all the places we touch cache on AB devices
and non AB devices so that we can write to the appropriate
location. AB devices removed the cache partition and moved it to
/data/cache.

Change-Id: I485ec205a604f1f07ceb7700ae9c4e720fd55c3e
diff --git a/twrp-functions.hpp b/twrp-functions.hpp
old mode 100644
new mode 100755
index 0efbdc9..7847aed
--- a/twrp-functions.hpp
+++ b/twrp-functions.hpp
@@ -26,6 +26,9 @@
 
 using namespace std;
 
+#define NON_AB_CACHE_DIR "/cache/"
+#define AB_CACHE_DIR "/data/cache/"
+
 typedef enum
 {
 	rb_current = 0,
@@ -99,6 +102,8 @@
 	static void copy_kernel_log(string curr_storage); // Copy Kernel Log to Current Storage (PSTORE/KMSG)
 	static bool isNumber(string strtocheck); // return true if number, false if not a number
 	static int stream_adb_backup(string &Restore_Name); // Tell ADB Backup to Stream to TWRP from GUI selection
+	static std::string get_cache_dir(); // return the cache partition existence
+	static void check_selinux_support(); // print whether selinux support is enabled to console
 
 private:
 	static void Copy_Log(string Source, string Destination);