X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fenv.h;h=60acb5454ec8d2ef8aee0ca5e1030b6017665ec6;hb=9ff4ce8abc627b8696c9bd6fd726dd1dbf4b9a5c;hp=af405955b0f3ec406e90e4b9c4c2f7538d576733;hpb=890feecaab72a630eac3344443e053173f4ad02f;p=platform%2Fkernel%2Fu-boot.git diff --git a/include/env.h b/include/env.h index af40595..60acb54 100644 --- a/include/env.h +++ b/include/env.h @@ -68,7 +68,7 @@ enum env_redund_flags { * This value increments every time the environment changes, so can be used an * an indication of this * - * @return environment ID + * Return: environment ID */ int env_get_id(void); @@ -78,7 +78,7 @@ int env_get_id(void); * This locates the environment or uses the default if nothing is available. * This must be called before env_get() will work. * - * @return 0 if OK, -ENODEV if no environment drivers are enabled + * Return: 0 if OK, -ENODEV if no environment drivers are enabled */ int env_init(void); @@ -91,17 +91,6 @@ int env_init(void); void env_relocate(void); /** - * env_match() - Match a name / name=value pair - * - * This is used prior to relocation for finding envrionment variables - * - * @name: A simple 'name', or a 'name=value' pair. - * @index: The environment index for a 'name2=value2' pair. - * @return index for the value if the names match, else -1. - */ -int env_match(unsigned char *name, int index); - -/** * env_get() - Look up the value of an environment variable * * In U-Boot proper this can be called before relocation (which is when the @@ -109,7 +98,7 @@ int env_match(unsigned char *name, int index); * case this function calls env_get_f(). * * @varname: Variable to look up - * @return value of variable, or NULL if not found + * Return: value of variable, or NULL if not found */ char *env_get(const char *varname); @@ -119,7 +108,7 @@ char *env_get(const char *varname); * place of env_get without changing error handling otherwise. * * @varname: Variable to look up - * @return value of variable, or NULL if not found + * Return: value of variable, or NULL if not found */ char *from_env(const char *envvar); @@ -131,19 +120,27 @@ char *from_env(const char *envvar); * support reading the value (slowly) and some will not. * * @varname: Variable to look up - * @return value of variable, or NULL if not found + * Return: actual length of the variable value excluding the terminating + * NULL-byte, or -1 if the variable is not found */ int env_get_f(const char *name, char *buf, unsigned int len); /** * env_get_yesno() - Read an environment variable as a boolean * - * @return 1 if yes/true (Y/y/T/t), -1 if variable does not exist (i.e. default + * Return: 1 if yes/true (Y/y/T/t), -1 if variable does not exist (i.e. default * to true), 0 if otherwise */ int env_get_yesno(const char *var); /** + * env_get_autostart() - Check if autostart is enabled + * + * Return: true if the "autostart" env var exists and is set to "yes" + */ +bool env_get_autostart(void); + +/** * env_set() - set an environment variable * * This sets or deletes the value of an environment variable. For setting the @@ -151,7 +148,7 @@ int env_get_yesno(const char *var); * * @varname: Variable to adjust * @value: Value to set for the variable, or NULL or "" to delete the variable - * @return 0 if OK, 1 on error + * Return: 0 if OK, 1 on error */ int env_set(const char *varname, const char *value); @@ -164,7 +161,7 @@ int env_set(const char *varname, const char *value); * @name: Variable to look up * @base: Base to use (e.g. 10 for base 10, 2 for binary) * @default_val: Default value to return if no value is found - * @return the value found, or @default_val if none + * Return: the value found, or @default_val if none */ ulong env_get_ulong(const char *name, int base, ulong default_val); @@ -173,7 +170,7 @@ ulong env_get_ulong(const char *name, int base, ulong default_val); * * @varname: Variable to adjust * @value: Value to set for the variable (will be converted to a string) - * @return 0 if OK, 1 on error + * Return: 0 if OK, 1 on error */ int env_set_ulong(const char *varname, ulong value); @@ -194,7 +191,7 @@ ulong env_get_hex(const char *varname, ulong default_val); * * @varname: Variable to adjust * @value: Value to set for the variable (will be converted to a hex string) - * @return 0 if OK, 1 on error + * Return: 0 if OK, 1 on error */ int env_set_hex(const char *varname, ulong value); @@ -203,7 +200,7 @@ int env_set_hex(const char *varname, ulong value); * * @varname: Environment variable to set * @addr: Value to set it to - * @return 0 if ok, 1 on error + * Return: 0 if ok, 1 on error */ static inline int env_set_addr(const char *varname, const void *addr) { @@ -219,7 +216,7 @@ static inline int env_set_addr(const char *varname, const void *addr) * @maxsz: Size of buffer to use for matches * @buf: Buffer to use for matches * @dollar_comp: non-zero to wrap each match in ${...} - * @return number of matches found (in @cmdv) + * Return: number of matches found (in @cmdv) */ int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf, bool dollar_comp); @@ -229,7 +226,7 @@ int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf, * * @name: Environment variable to get (e.g. "ethaddr") * @enetaddr: Place to put MAC address (6 bytes) - * @return 0 if OK, 1 on error + * Return: 0 if OK, 1 on error */ int eth_env_get_enetaddr(const char *name, uint8_t *enetaddr); @@ -238,7 +235,7 @@ int eth_env_get_enetaddr(const char *name, uint8_t *enetaddr); * * @name: Environment variable to set (e.g. "ethaddr") * @enetaddr: Pointer to MAC address to put into the variable (6 bytes) - * @return 0 if OK, 1 on error + * Return: 0 if OK, 1 on error */ int eth_env_set_enetaddr(const char *name, const uint8_t *enetaddr); @@ -261,35 +258,35 @@ int env_set_default_vars(int nvars, char *const vars[], int flags); /** * env_load() - Load the environment from storage * - * @return 0 if OK, -ve on error + * Return: 0 if OK, -ve on error */ int env_load(void); /** * env_reload() - Re-Load the environment from current storage * - * @return 0 if OK, -ve on error + * Return: 0 if OK, -ve on error */ int env_reload(void); /** * env_save() - Save the environment to storage * - * @return 0 if OK, -ve on error + * Return: 0 if OK, -ve on error */ int env_save(void); /** * env_erase() - Erase the environment on storage * - * @return 0 if OK, -ve on error + * Return: 0 if OK, -ve on error */ int env_erase(void); /** * env_select() - Select the environment storage * - * @return 0 if OK, -ve on error + * Return: 0 if OK, -ve on error */ int env_select(const char *name); @@ -303,7 +300,7 @@ int env_select(const char *name); * @check: non-zero to check the CRC at the start of the environment, 0 to * ignore it * @flags: Flags controlling matching (H_... - see search.h) - * @return 0 if imported successfully, -ENOMSG if the CRC was bad, -EIO if + * 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, int flags); @@ -314,11 +311,27 @@ int env_import(const char *buf, int check, int flags); * 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 + * Return: 0 if OK, 1 on error */ int env_export(struct environment_s *env_out); /** + * env_check_redund() - check the two redundant environments + * and find out, which is the valid one. + * + * @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_check_redund(const char *buf1, int buf1_read_fail, + const char *buf2, int buf2_read_fail); + +/** * env_import_redund() - Select and import one of two redundant environments * * @buf1: First environment (struct environemnt_s *) @@ -326,7 +339,7 @@ int env_export(struct environment_s *env_out); * @buf2: Second environment (struct environemnt_s *) * @buf2_read_fail: 0 if buf2 is valid, non-zero if invalid * @flags: Flags controlling matching (H_... - see search.h) - * @return 0 if OK, -EIO if no environment is valid, -ENOMSG if the CRC was bad + * 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, @@ -336,7 +349,7 @@ int env_import_redund(const char *buf1, int buf1_read_fail, * env_get_default() - Look up a variable from the default environment * * @name: Variable to look up - * @return value if found, NULL if not found in default environment + * Return: value if found, NULL if not found in default environment */ char *env_get_default(const char *name); @@ -344,19 +357,24 @@ char *env_get_default(const char *name); void env_set_default(const char *s, int flags); /** - * env_get_char() - Get a character from the early environment - * - * This reads from the pre-relocation environment + * env_reloc() - Relocate the 'env' sub-commands * - * @index: Index of character to read (0 = first) - * @return character read, or -ve on error + * This is used for those unfortunate archs with crappy toolchains */ -int env_get_char(int index); +void env_reloc(void); + /** - * env_reloc() - Relocate the 'env' sub-commands + * env_import_fdt() - Import environment values from device tree blob * - * This is used for those unfortunate archs with crappy toolchains + * This uses the value of the environment variable "env_fdt_path" as a + * path to an fdt node, whose property/value pairs are added to the + * environment. */ -void env_reloc(void); +#ifdef CONFIG_ENV_IMPORT_FDT +void env_import_fdt(void); +#else +static inline void env_import_fdt(void) {} +#endif + #endif