X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Fsearch.h;h=ef53edb9fef26d50c9c8ffd6ff8d4401dbee0ccf;hb=0b7ff3f4595f751ca796456f536c50cae498351d;hp=81ced7f48e68ecf89137744040523d1fd7d4f7f1;hpb=2eb1573f01710832bbe60a4ece89cb301727612a;p=oweals%2Fu-boot.git diff --git a/include/search.h b/include/search.h index 81ced7f48e..ef53edb9fe 100644 --- a/include/search.h +++ b/include/search.h @@ -39,7 +39,7 @@ typedef enum { } ACTION; typedef struct entry { - char *key; + const char *key; char *data; } ENTRY; @@ -74,11 +74,25 @@ extern void hdestroy_r(struct hsearch_data *__htab); extern int hsearch_r(ENTRY __item, ACTION __action, ENTRY ** __retval, struct hsearch_data *__htab); +/* + * Search for an entry matching `MATCH'. Otherwise, Same semantics + * as hsearch_r(). + */ +extern int hmatch_r(const char *__match, int __last_idx, ENTRY ** __retval, + struct hsearch_data *__htab); +/* + * Search for an entry whose key or data contains `MATCH'. Otherwise, + * Same semantics as hsearch_r(). + */ +extern int hstrstr_r(const char *__match, int __last_idx, ENTRY ** __retval, + struct hsearch_data *__htab); + /* Search and delete entry matching ITEM.key in internal hash table. */ extern int hdelete_r(const char *__key, struct hsearch_data *__htab); extern ssize_t hexport_r(struct hsearch_data *__htab, - const char __sep, char **__resp, size_t __size); + const char __sep, char **__resp, size_t __size, + int argc, char * const argv[]); extern int himport_r(struct hsearch_data *__htab, const char *__env, size_t __size, const char __sep,