]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - include/search.h
env: Add support for callbacks to environment vars
[karo-tx-uboot.git] / include / search.h
index 1e48deb1cf08e7d982a8576844ff1912c2fd05c3..d68e24a030627027abd5d69aac0d0b5f8178895d 100644 (file)
@@ -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 */