aboutsummaryrefslogtreecommitdiff
path: root/include/environment.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/environment.h')
-rw-r--r--include/environment.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/environment.h b/include/environment.h
index cd966761416..de67cf4f0ea 100644
--- a/include/environment.h
+++ b/include/environment.h
@@ -200,6 +200,7 @@ enum env_operation {
ENVOP_INIT, /* we want to call the init function */
ENVOP_LOAD, /* we want to call the load function */
ENVOP_SAVE, /* we want to call the save function */
+ ENVOP_ERASE, /* we want to call the erase function */
};
struct env_driver {
@@ -226,6 +227,15 @@ struct env_driver {
int (*save)(void);
/**
+ * erase() - Erase the environment on storage
+ *
+ * This method is optional and required for 'eraseenv' to work.
+ *
+ * @return 0 if OK, -ve on error
+ */
+ int (*erase)(void);
+
+ /**
* init() - Set up the initial pre-relocation environment
*
* This method is optional.
@@ -304,6 +314,13 @@ int env_load(void);
int env_save(void);
/**
+ * env_erase() - Erase the environment on storage
+ *
+ * @return 0 if OK, -ve on error
+ */
+int env_erase(void);
+
+/**
* env_fix_drivers() - Updates envdriver as per relocation
*/
void env_fix_drivers(void);