]> git.ipfire.org Git - thirdparty/git.git/blob - symlinks.h
Merge branch 'tb/t7700-fixup'
[thirdparty/git.git] / symlinks.h
1 #ifndef SYMLINKS_H
2 #define SYMLINKS_H
3
4 #include "strbuf.h"
5
6 struct cache_def {
7 struct strbuf path;
8 int flags;
9 int track_flags;
10 int prefix_len_stat_func;
11 };
12 #define CACHE_DEF_INIT { \
13 .path = STRBUF_INIT, \
14 }
15 static inline void cache_def_clear(struct cache_def *cache)
16 {
17 strbuf_release(&cache->path);
18 }
19
20 int has_symlink_leading_path(const char *name, int len);
21 int threaded_has_symlink_leading_path(struct cache_def *, const char *, int);
22 int check_leading_path(const char *name, int len, int warn_on_lstat_err);
23 int has_dirs_only_path(const char *name, int len, int prefix_len);
24 void invalidate_lstat_cache(void);
25 void schedule_dir_for_removal(const char *name, int len);
26 void remove_scheduled_dirs(void);
27
28 #endif /* SYMLINKS_H */