diff options
author | Geoff Levand <geoff@infradead.org> | 2018-08-02 17:29:34 +0000 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-08-07 11:30:36 +1000 |
commit | e38a41e8478093acd67d86c5dba4492370004500 (patch) | |
tree | afc953acdae42c5c2f202c130cde8eab1e8107e5 /discover/parser.h | |
parent | 70a58a78c951403ae67c44c839caf0e77d0d84db (diff) | |
download | talos-petitboot-e38a41e8478093acd67d86c5dba4492370004500.tar.gz talos-petitboot-e38a41e8478093acd67d86c5dba4492370004500.zip |
discover/parser: Add new parser_is_unique
Add a new routine parser_is_unique that tests a file's inode
against a list of known file inodes. Useful when searching
case-insensitive filesystems.
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Diffstat (limited to 'discover/parser.h')
-rw-r--r-- | discover/parser.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/discover/parser.h b/discover/parser.h index bff52e3..e7d52fe 100644 --- a/discover/parser.h +++ b/discover/parser.h @@ -45,6 +45,12 @@ enum generic_icon_type { ICON_TYPE_UNKNOWN }; +struct parser_found_file { + const char *filename; + unsigned ino; + struct list_item list; +}; + #define streq(a,b) (!strcasecmp((a),(b))) void parser_init(void); @@ -85,4 +91,12 @@ int parser_scandir(struct discover_context *ctx, const char *dirname, struct dirent ***files, int (*filter)(const struct dirent *), int (*comp)(const struct dirent **, const struct dirent **)); +/* parser_is_unique - Test a file against a list of known files. + * If the file @filename exists and the file is not in @found_list add the + * file to @found_list and return true. Use when searching case-insensitive + * filesystems. + */ +bool parser_is_unique(struct discover_context *ctx, struct discover_device *dev, const char *filename, + struct list *found_list); + #endif /* _PARSER_H */ |