[U-Boot] [PATCH 22/39] env: Move env import/export functions to env.h

Joe Hershberger joe.hershberger at ni.com
Tue Jul 30 20:58:51 UTC 2019


On Sun, Jul 28, 2019 at 9:20 AM Simon Glass <sjg at chromium.org> wrote:
>
> Move these functions to the new header file.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>

Nit below.

Acked-by: Joe Hershberger <joe.hershberger at ni.com>

>
>  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 2ba345fc4a..d6718fdf99 100644
> --- a/include/env.h
> +++ b/include/env.h
> @@ -12,6 +12,8 @@
>  #include <stdbool.h>
>  #include <linux/types.h>
>
> +struct environment_s;
> +
>  /**
>   * env_get_id() - Gets a sequence number for the environment
>   *
> @@ -230,4 +232,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

The

> + * 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.22.0.709.g102302147b-goog
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot


More information about the U-Boot mailing list