diff options
author | Joe Hershberger <joe.hershberger@ni.com> | 2012-12-11 22:16:24 -0600 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-12-13 11:46:55 -0700 |
commit | 170ab11075d3be56e89d6444abf1148329130f4b (patch) | |
tree | d3088ad532f4f4a0082f625ce50cfd120d6a6a1d /include/search.h | |
parent | be11235ab802844e12d84921a38fd8ae4ddda080 (diff) | |
download | u-boot-imx-170ab11075d3be56e89d6444abf1148329130f4b.zip u-boot-imx-170ab11075d3be56e89d6444abf1148329130f4b.tar.gz u-boot-imx-170ab11075d3be56e89d6444abf1148329130f4b.tar.bz2 |
env: Add support for callbacks to environment vars
Add support for per-variable callbacks to the "hashtable" functions.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
!!!fix comment in callback
Diffstat (limited to 'include/search.h')
-rw-r--r-- | include/search.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/search.h b/include/search.h index 1e48deb..d68e24a 100644 --- a/include/search.h +++ b/include/search.h @@ -47,6 +47,8 @@ typedef enum { typedef struct entry { const char *key; char *data; + int (*callback)(const char *name, const char *value, enum env_op op, + int flags); } ENTRY; /* Opaque type for internal use. */ @@ -120,6 +122,9 @@ extern int himport_r(struct hsearch_data *__htab, const char *__env, size_t __size, const char __sep, int __flag, int nvars, char * const vars[]); +/* Walk the whole table calling the callback on each element */ +extern int hwalk_r(struct hsearch_data *__htab, int (*callback)(ENTRY *)); + /* Flags for himport_r(), hexport_r(), hdelete_r(), and hsearch_r() */ #define H_NOCLEAR (1 << 0) /* do not clear hash table before importing */ #define H_FORCE (1 << 1) /* overwrite read-only/write-once variables */ |