1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6void env_init(void);
7const char *os_getenv(const char *name) FUNC_ATTR_NONNULL_ALL;
8_Bool os_env_exists(const char *name) FUNC_ATTR_NONNULL_ALL;
9int os_setenv(const char *name, const char *value, int overwrite) FUNC_ATTR_NONNULL_ALL;
10int os_unsetenv(const char *name) FUNC_ATTR_NONNULL_ALL;
11char *os_getenvname_at_index(size_t index);
12int64_t os_get_pid(void);
13void os_get_hostname(char *hostname, size_t size);
14void init_homedir(void);
15char_u *expand_env_save(char_u *src);
16char_u *expand_env_save_opt(char_u *src, _Bool one);
17void expand_env(char_u *src, char_u *dst, int dstlen);
18void expand_env_esc(char_u *restrict srcp, char_u *restrict dst, int dstlen, _Bool esc, _Bool one, char_u *prefix) FUNC_ATTR_NONNULL_ARG(1, 2);
19const void *vim_env_iter(const char delim, const char *const val, const void *const iter, const char **const dir, size_t *const len) FUNC_ATTR_NONNULL_ARG(2, 4, 5) FUNC_ATTR_WARN_UNUSED_RESULT;
20const void *vim_env_iter_rev(const char delim, const char *const val, const void *const iter, const char **const dir, size_t *const len) FUNC_ATTR_NONNULL_ARG(2, 4, 5) FUNC_ATTR_WARN_UNUSED_RESULT;
21char *vim_getenv(const char *name);
22size_t home_replace(const buf_T *const buf, const char_u *src, char_u *const dst, size_t dstlen, const _Bool one) FUNC_ATTR_NONNULL_ARG(3);
23char_u *home_replace_save(buf_T *buf, char_u *src) FUNC_ATTR_NONNULL_RET;
24char_u *get_env_name(expand_T *xp, int idx);
25_Bool os_setenv_append_path(const char *fname) FUNC_ATTR_NONNULL_ALL;
26_Bool os_shell_is_cmdexe(const char *sh) FUNC_ATTR_NONNULL_ALL;
27#include "nvim/func_attr.h"
28