1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6int enc_canon_props(const char_u *name);
7int bomb_size(void);
8void remove_bom(char_u *s);
9int mb_get_class(const char_u *p);
10int mb_get_class_tab(const char_u *p, const uint64_t *const chartab);
11int utf_char2cells(int c);
12int utf_ptr2cells(const char_u *p);
13int utf_ptr2cells_len(const char_u *p, int size);
14size_t mb_string2cells(const char_u *str);
15size_t mb_string2cells_len(const char_u *str, size_t size);
16int utf_ptr2char(const char_u *const p) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT;
17int mb_ptr2char_adv(const char_u **const pp);
18int mb_cptr2char_adv(const char_u **pp);
19_Bool utf_composinglike(const char_u *p1, const char_u *p2);
20int utfc_ptr2char(const char_u *p, int *pcc);
21int utfc_ptr2char_len(const char_u *p, int *pcc, int maxlen);
22int utf_ptr2len(const char_u *const p) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL;
23int utf_byte2len(int b);
24int utf_ptr2len_len(const char_u *p, int size);
25int utfc_ptr2len(const char_u *const p) FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL;
26int utfc_ptr2len_len(const char_u *p, int size);
27int utf_char2len(const int c);
28int utf_char2bytes(const int c, char_u *const buf);
29_Bool utf_iscomposing(int c);
30_Bool utf_printable(int c);
31int utf_class(const int c);
32int utf_class_tab(const int c, const uint64_t *const chartab);
33_Bool utf_ambiguous_width(int c);
34int utf_fold(int a);
35int mb_toupper(int a);
36_Bool mb_islower(int a);
37int mb_tolower(int a);
38_Bool mb_isupper(int a);
39void mb_utflen(const char_u *s, size_t len, size_t *codepoints, size_t *codeunits) FUNC_ATTR_NONNULL_ALL;
40ssize_t mb_utf_index_to_bytes(const char_u *s, size_t len, size_t index, _Bool use_utf16_units) FUNC_ATTR_NONNULL_ALL;
41int mb_strnicmp(const char_u *s1, const char_u *s2, const size_t nn);
42int mb_stricmp(const char *s1, const char *s2);
43void show_utf8(void);
44int utf_head_off(const char_u *base, const char_u *p);
45void mb_copy_char(const char_u **const fp, char_u **const tp);
46int mb_off_next(char_u *base, char_u *p);
47int mb_tail_off(char_u *base, char_u *p);
48void utf_find_illegal(void);
49void mb_adjust_cursor(void);
50void mb_check_adjust_col(void *win_);
51char_u *mb_prevptr(char_u *line, char_u *p );
52int mb_charlen(char_u *str);
53int mb_charlen_len(char_u *str, int len);
54const char *mb_unescape(const char **const pp) FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL;
55char_u *enc_skip(char_u *p);
56char_u *enc_canonize(char_u *enc) FUNC_ATTR_NONNULL_RET;
57char_u *enc_locale(void);
58void *my_iconv_open(char_u *to, char_u *from);
59int convert_setup(vimconv_T *vcp, char_u *from, char_u *to);
60int convert_setup_ext(vimconv_T *vcp, char_u *from, _Bool from_unicode_is_utf8, char_u *to, _Bool to_unicode_is_utf8);
61char_u *string_convert(const vimconv_T *const vcp, char_u *ptr, size_t *lenp);
62char_u *string_convert_ext(const vimconv_T *const vcp, char_u *ptr, size_t *lenp, size_t *unconvlenp);
63#include "nvim/func_attr.h"
64