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 | olio-uboot-2014.01-170ab11075d3be56e89d6444abf1148329130f4b.tar.xz olio-uboot-2014.01-170ab11075d3be56e89d6444abf1148329130f4b.zip | |
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 1e48deb1c..d68e24a03 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 */ |