-extern int match_basename(const char *, int,
- const char *, int, int, unsigned);
-extern int match_pathname(const char *, int,
- const char *, int,
- const char *, int, int, unsigned);
-
-extern struct exclude *last_exclude_matching(struct dir_struct *dir,
- struct index_state *istate,
- const char *name, int *dtype);
-
-extern int is_excluded(struct dir_struct *dir,
- struct index_state *istate,
- const char *name, int *dtype);
-
-extern struct exclude_list *add_exclude_list(struct dir_struct *dir,
- int group_type, const char *src);
-extern int add_excludes_from_file_to_list(const char *fname, const char *base, int baselen,
- struct exclude_list *el, struct index_state *istate);
-extern void add_excludes_from_file(struct dir_struct *, const char *fname);
-extern int add_excludes_from_blob_to_list(struct object_id *oid,
- const char *base, int baselen,
- struct exclude_list *el);
-extern void parse_exclude_pattern(const char **string, int *patternlen, unsigned *flags, int *nowildcardlen);
-extern void add_exclude(const char *string, const char *base,
- int baselen, struct exclude_list *el, int srcpos);
-extern void clear_exclude_list(struct exclude_list *el);
-extern void clear_directory(struct dir_struct *dir);
-extern int file_exists(const char *);
-
-extern int is_inside_dir(const char *dir);
-extern int dir_inside_of(const char *subdir, const char *dir);
+int match_basename(const char *, int,
+ const char *, int, int, unsigned);
+int match_pathname(const char *, int,
+ const char *, int,
+ const char *, int, int, unsigned);
+
+struct path_pattern *last_matching_pattern(struct dir_struct *dir,
+ struct index_state *istate,
+ const char *name, int *dtype);
+
+int is_excluded(struct dir_struct *dir,
+ struct index_state *istate,
+ const char *name, int *dtype);
+
+int pl_hashmap_cmp(const void *unused_cmp_data,
+ const struct hashmap_entry *a,
+ const struct hashmap_entry *b,
+ const void *key);
+int hashmap_contains_parent(struct hashmap *map,
+ const char *path,
+ struct strbuf *buffer);
+struct pattern_list *add_pattern_list(struct dir_struct *dir,
+ int group_type, const char *src);
+int add_patterns_from_file_to_list(const char *fname, const char *base, int baselen,
+ struct pattern_list *pl, struct index_state *istate);
+void add_patterns_from_file(struct dir_struct *, const char *fname);
+int add_patterns_from_blob_to_list(struct object_id *oid,
+ const char *base, int baselen,
+ struct pattern_list *pl);
+void parse_path_pattern(const char **string, int *patternlen, unsigned *flags, int *nowildcardlen);
+void add_pattern(const char *string, const char *base,
+ int baselen, struct pattern_list *pl, int srcpos);
+void clear_pattern_list(struct pattern_list *pl);
+void clear_directory(struct dir_struct *dir);
+
+int repo_file_exists(struct repository *repo, const char *path);
+int file_exists(const char *);
+
+int is_inside_dir(const char *dir);
+int dir_inside_of(const char *subdir, const char *dir);