1#ifndef NVIM_API_PRIVATE_HANDLE_H
2#define NVIM_API_PRIVATE_HANDLE_H
3
4#include "nvim/vim.h"
5#include "nvim/buffer_defs.h"
6#include "nvim/api/private/defs.h"
7
8#define HANDLE_DECLS(type, name) \
9 type *handle_get_##name(handle_T handle); \
10 void handle_register_##name(type *name); \
11 void handle_unregister_##name(type *name);
12
13// handle_get_buffer handle_register_buffer, handle_unregister_buffer
14HANDLE_DECLS(buf_T, buffer)
15// handle_get_window handle_register_window, handle_unregister_window
16HANDLE_DECLS(win_T, window)
17// handle_get_tabpage handle_register_tabpage, handle_unregister_tabpage
18HANDLE_DECLS(tabpage_T, tabpage)
19
20void handle_init(void);
21
22
23#endif // NVIM_API_PRIVATE_HANDLE_H
24
25