aboutsummaryrefslogtreecommitdiffstats
path: root/symlinks.h
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2023-04-22 20:17:09 +0000
committerJunio C Hamano <gitster@pobox.com>2023-04-24 12:47:31 -0700
commitcb2a51356d3019582128a818aea533ccd11f42c0 (patch)
tree6d0ce1d25618f84fbcd5fa9713722b474ed22fb9 /symlinks.h
parent69a63fe663874716d2b5bf49b90c550f8279358e (diff)
downloadgit-cb2a51356d3019582128a818aea533ccd11f42c0.tar.gz
symlinks.h: move declarations for symlinks.c functions from cache.h
Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'symlinks.h')
-rw-r--r--symlinks.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/symlinks.h b/symlinks.h
new file mode 100644
index 0000000000..7ae3d5b856
--- /dev/null
+++ b/symlinks.h
@@ -0,0 +1,28 @@
+#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 */