diff --git a/data.hpp b/data.hpp
index 42c7220..55966a1 100644
--- a/data.hpp
+++ b/data.hpp
@@ -33,6 +33,7 @@
     // Core get routines
     static int GetValue(const string varName, string& value);
     static int GetValue(const string varName, int& value);
+    static unsigned long long GetValue(const string varName, unsigned long long& value);
 
     // This is a dangerous function. It will create the value if it doesn't exist so it has a valid c_str
     static string& GetValueRef(const string varName);
@@ -45,6 +46,7 @@
     static int SetValue(const string varName, string value, int persist = 0);
     static int SetValue(const string varName, int value, int persist = 0);
     static int SetValue(const string varName, float value, int persist = 0);
+    static int SetValue(const string varName, unsigned long long value, int persist = 0);
 
     static void DumpValues();
 	static void update_tz_environment_variables();
@@ -52,7 +54,7 @@
 	static void SetDefaultValues();
 	static void Output_Version(void); // Outputs the version to a file in the TWRP folder
 	static void ReadSettingsFile(void);
-	
+
 	static string GetCurrentStoragePath(void);
 	static string& CGetCurrentStoragePath();
 	static string GetCurrentStorageMount(void);
@@ -64,8 +66,10 @@
 
 protected:
     typedef pair<string, int> TStrIntPair;
+    typedef pair<string, unsigned long long> TStrULLPair;
     typedef pair<string, TStrIntPair> TNameValuePair;
     static map<string, TStrIntPair> mValues;
+    static map<string, TStrULLPair> mULLValues;
     static string mBackingFile;
     static int mInitialized;
 
