Blame view
tools/env/fw_env.h
4.21 KB
83d290c56 SPDX: Convert all... |
1 |
/* SPDX-License-Identifier: GPL-2.0+ */ |
6aff3115b * Use 1-byte-read... |
2 |
/* |
bc11756da Propagate Error S... |
3 |
* (C) Copyright 2002-2008 |
6aff3115b * Use 1-byte-read... |
4 |
* Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
6aff3115b * Use 1-byte-read... |
5 |
*/ |
371ee1376 tools: env: parse... |
6 |
#include <stdint.h> |
e3c52f2b8 Revert "fw_env: f... |
7 |
|
00c234f38 env: add a versio... |
8 9 10 11 12 13 |
/* * Programs using the library must check which API is available, * that varies depending on the U-Boot version. * This can be changed in future */ #define FW_ENV_API_VERSION 1 |
81974f447 tools/env: no glo... |
14 |
struct env_opts { |
371ee1376 tools: env: parse... |
15 16 17 |
#ifdef CONFIG_FILE char *config_file; #endif |
d40dbfb74 env: tool: add co... |
18 |
char *lockname; |
371ee1376 tools: env: parse... |
19 |
}; |
07ce94402 tools: env: intro... |
20 |
|
fd4e3280e tools/env: kernel... |
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
/** * fw_printenv() - print one or several environment variables * * @argc: number of variables names to be printed, prints all if 0 * @argv: array of variable names to be printed, if argc != 0 * @value_only: do not repeat the variable name, print the bare value, * only one variable allowed with this option, argc must be 1 * @opts: encryption key, configuration file, defaults are used if NULL * * Description: * Uses fw_env_open, fw_getenv * * Return: * 0 on success, -1 on failure (modifies errno) */ |
81974f447 tools/env: no glo... |
36 |
int fw_printenv(int argc, char *argv[], int value_only, struct env_opts *opts); |
fd4e3280e tools/env: kernel... |
37 38 |
/** |
382bee57f env: Rename seten... |
39 |
* fw_env_set() - adds or removes one variable to the environment |
fd4e3280e tools/env: kernel... |
40 41 42 43 44 45 46 47 |
* * @argc: number of strings in argv, argv[0] is variable name, * argc==1 means erase variable, argc > 1 means add a variable * @argv: argv[0] is variable name, argv[1..argc-1] are concatenated separated * by single blank and set as the new value of the variable * @opts: how to retrieve environment from flash, defaults are used if NULL * * Description: |
33f0086cb env: fix memory l... |
48 |
* Uses fw_env_open, fw_env_write, fw_env_flush |
fd4e3280e tools/env: kernel... |
49 50 51 52 53 54 55 |
* * Return: * 0 on success, -1 on failure (modifies errno) * * ERRORS: * EROFS - some variables ("ethaddr", "serial#") cannot be modified */ |
382bee57f env: Rename seten... |
56 |
int fw_env_set(int argc, char *argv[], struct env_opts *opts); |
fd4e3280e tools/env: kernel... |
57 58 59 60 61 62 63 64 |
/** * fw_parse_script() - adds or removes multiple variables with a batch script * * @fname: batch script file name * @opts: encryption key, configuration file, defaults are used if NULL * * Description: |
33f0086cb env: fix memory l... |
65 |
* Uses fw_env_open, fw_env_write, fw_env_flush |
fd4e3280e tools/env: kernel... |
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
* * Return: * 0 success, -1 on failure (modifies errno) * * Script Syntax: * * key [ [space]+ value] * * lines starting with '#' treated as comment * * A variable without value will be deleted. Any number of spaces are allowed * between key and value. The value starts with the first non-space character * and ends with newline. No comments allowed on these lines. Spaces inside * the value are preserved verbatim. * * Script Example: * * netdev eth0 * * kernel_addr 400000 * * foo spaces are copied verbatim * * # delete variable bar * * bar */ |
81974f447 tools/env: no glo... |
93 |
int fw_parse_script(char *fname, struct env_opts *opts); |
fd4e3280e tools/env: kernel... |
94 95 96 97 98 99 100 101 102 103 |
/** * fw_env_open() - read enviroment from flash into RAM cache * * @opts: encryption key, configuration file, defaults are used if NULL * * Return: * 0 on success, -1 on failure (modifies errno) */ |
81974f447 tools/env: no glo... |
104 |
int fw_env_open(struct env_opts *opts); |
fd4e3280e tools/env: kernel... |
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
/** * fw_getenv() - lookup variable in the RAM cache * * @name: variable to be searched * Return: * pointer to start of value, NULL if not found */ char *fw_getenv(char *name); /** * fw_env_write() - modify a variable held in the RAM cache * * @name: variable * @value: delete variable if NULL, otherwise create or overwrite the variable * * This is called in sequence to update the environment in RAM without updating * the copy in flash after each set * * Return: * 0 on success, -1 on failure (modifies errno) * * ERRORS: * EROFS - some variables ("ethaddr", "serial#") cannot be modified */ |
c3a23e8b5 tools/env: remove... |
130 |
int fw_env_write(char *name, char *value); |
fd4e3280e tools/env: kernel... |
131 132 |
/** |
33f0086cb env: fix memory l... |
133 134 135 136 137 138 139 140 141 142 143 |
* fw_env_flush - write the environment from RAM cache back to flash * * @opts: encryption key, configuration file, defaults are used if NULL * * Return: * 0 on success, -1 on failure (modifies errno) */ int fw_env_flush(struct env_opts *opts); /** * fw_env_close - free allocated structure and close env |
fd4e3280e tools/env: kernel... |
144 145 146 147 148 149 |
* * @opts: encryption key, configuration file, defaults are used if NULL * * Return: * 0 on success, -1 on failure (modifies errno) */ |
81974f447 tools/env: no glo... |
150 |
int fw_env_close(struct env_opts *opts); |
6aff3115b * Use 1-byte-read... |
151 |
|
33f0086cb env: fix memory l... |
152 |
|
00c234f38 env: add a versio... |
153 154 155 156 157 158 159 |
/** * fw_env_version - return the current version of the library * * Return: * version string of the library */ char *fw_env_version(void); |
c3a23e8b5 tools/env: remove... |
160 |
unsigned long crc32(unsigned long, const unsigned char *, unsigned); |