1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6FileComparison path_full_compare(char_u *const s1, char_u *const s2, const _Bool checkname);
7char_u *path_tail(const char_u *fname) FUNC_ATTR_NONNULL_RET;
8char_u *path_tail_with_sep(char_u *fname);
9const char_u *invocation_path_tail(const char_u *invocation, size_t *len) FUNC_ATTR_NONNULL_RET FUNC_ATTR_NONNULL_ARG(1);
10const char *path_next_component(const char *fname);
11char_u *get_past_head(const char_u *path);
12int vim_ispathsep(int c);
13int vim_ispathsep_nocolon(int c);
14int vim_ispathlistsep(int c);
15char_u *shorten_dir(char_u *str);
16_Bool dir_of_file_exists(char_u *fname);
17int path_fnamecmp(const char *fname1, const char *fname2) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
18int path_fnamencmp(const char *const fname1, const char *const fname2, size_t len) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
19char *concat_fnames(const char *fname1, const char *fname2, _Bool sep) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_RET;
20char *concat_fnames_realloc(char *fname1, const char *fname2, _Bool sep) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_RET;
21_Bool add_pathsep(char *p) FUNC_ATTR_NONNULL_ALL;
22char *FullName_save(const char *fname, _Bool force) FUNC_ATTR_MALLOC;
23char *save_abs_path(const char *name) FUNC_ATTR_MALLOC FUNC_ATTR_NONNULL_ALL;
24_Bool path_has_wildcard(const char_u *p) FUNC_ATTR_NONNULL_ALL;
25_Bool path_has_exp_wildcard(const char_u *p) FUNC_ATTR_NONNULL_ALL;
26const char *gettail_dir(const char *const fname) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL;
27int gen_expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***file, int flags);
28void addfile(garray_T *gap, char_u *f, int flags );
29void simplify_filename(char_u *filename);
30char_u *find_file_name_in_path(char_u *ptr, size_t len, int options, long count, char_u *rel_fname );
31int path_is_url(const char *p);
32int path_with_url(const char *fname);
33_Bool vim_isAbsName(char_u *name);
34int vim_FullName(const char *fname, char *buf, size_t len, _Bool force) FUNC_ATTR_NONNULL_ARG(2);
35char *fix_fname(const char *fname);
36void path_fix_case(char_u *name) FUNC_ATTR_NONNULL_ALL;
37int after_pathsep(const char *b, const char *p);
38_Bool same_directory(char_u *f1, char_u *f2);
39int pathcmp(const char *p, const char *q, int maxlen);
40char_u *path_try_shorten_fname(char_u *full_path);
41char_u *path_shorten_fname(char_u *full_path, char_u *dir_name);
42int expand_wildcards_eval(char_u **pat, int *num_file, char_u ***file, int flags);
43int expand_wildcards(int num_pat, char_u **pat, int *num_files, char_u ***files, int flags);
44int match_suffix(char_u *fname);
45int path_full_dir_name(char *directory, char *buffer, size_t len);
46int append_path(char *path, const char *to_append, size_t max_len);
47int path_is_absolute(const char_u *fname);
48void path_guess_exepath(const char *argv0, char *buf, size_t bufsize) FUNC_ATTR_NONNULL_ALL;
49#include "nvim/func_attr.h"
50