From 4e9ce8a65fe4510664822a2de4b0d2cf61859b6c Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 1 Aug 2019 09:46:58 -0600 Subject: [PATCH] env: Move env import/export functions to env.h Move these functions to the new header file. Acked-by: Joe Hershberger Signed-off-by: Simon Glass --- include/env.h | 38 ++++++++++++++++++++++++++++++++++++++ include/environment.h | 12 ------------ 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/include/env.h b/include/env.h index 69ccfb706e..0b03f8aa42 100644 --- a/include/env.h +++ b/include/env.h @@ -12,6 +12,8 @@ #include #include +struct environment_s; + /** * env_get_id() - Gets a sequence number for the environment * @@ -219,4 +221,40 @@ int env_save(void); */ int env_erase(void); +/** + * env_import() - Import from a binary representation into hash table + * + * This imports the environment from a buffer. The format for each variable is + * var=value\0 with a double \0 at the end of the buffer. + * + * @buf: Buffer containing the environment (struct environemnt_s *) + * @check: non-zero to check the CRC at the start of the environment, 0 to + * ignore it + * @return 0 if imported successfully, -ENOMSG if the CRC was bad, -EIO if + * something else went wrong + */ +int env_import(const char *buf, int check); + +/** + * env_export() - Export the environment to a buffer + * + * Export from hash table into binary representation + * + * @env_out: Buffer to contain the environment (must be large enough!) + * @return 0 if OK, 1 on error + */ +int env_export(struct environment_s *env_out); + +/** + * env_import_redund() - Select and import one of two redundant environments + * + * @buf1: First environment (struct environemnt_s *) + * @buf1_read_fail: 0 if buf1 is valid, non-zero if invalid + * @buf2: Second environment (struct environemnt_s *) + * @buf2_read_fail: 0 if buf2 is valid, non-zero if invalid + * @return 0 if OK, -EIO if no environment is valid, -ENOMSG if the CRC was bad + */ +int env_import_redund(const char *buf1, int buf1_read_fail, + const char *buf2, int buf2_read_fail); + #endif diff --git a/include/environment.h b/include/environment.h index b921b8f28e..c740d5a216 100644 --- a/include/environment.h +++ b/include/environment.h @@ -274,18 +274,6 @@ char *env_get_default(const char *name); /* [re]set to the default environment */ void set_default_env(const char *s, int flags); -/* Import from binary representation into hash table */ -int env_import(const char *buf, int check); - -/* Export from hash table into binary representation */ -int env_export(env_t *env_out); - -#ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT -/* Select and import one of two redundant environments */ -int env_import_redund(const char *buf1, int buf1_status, - const char *buf2, int buf2_status); -#endif - /** * env_get_char() - Get a character from the early environment * -- 2.39.5