| #ifndef SYMLINKS_H | |
| #define SYMLINKS_H | |
| #include "strbuf.h" | |
| struct cache_def { | |
| struct strbuf path; | |
| int flags; | |
| int track_flags; | |
| int prefix_len_stat_func; | |
| }; | |
| #define CACHE_DEF_INIT { \ | |
| .path = STRBUF_INIT, \ | |
| } | |
| static inline void cache_def_clear(struct cache_def *cache) | |
| { | |
| strbuf_release(&cache->path); | |
| } | |
| int has_symlink_leading_path(const char *name, int len); | |
| int threaded_has_symlink_leading_path(struct cache_def *, const char *, int); | |
| int check_leading_path(const char *name, int len, int warn_on_lstat_err); | |
| int has_dirs_only_path(const char *name, int len, int prefix_len); | |
| void invalidate_lstat_cache(void); | |
| void schedule_dir_for_removal(const char *name, int len); | |
| void remove_scheduled_dirs(void); | |
| #endif /* SYMLINKS_H */ |