aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/uv_helpers.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/os/uv_helpers.h')
-rw-r--r--src/nvim/os/uv_helpers.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/nvim/os/uv_helpers.h b/src/nvim/os/uv_helpers.h
new file mode 100644
index 0000000000..9d4cea30b2
--- /dev/null
+++ b/src/nvim/os/uv_helpers.h
@@ -0,0 +1,47 @@
+#ifndef NEOVIM_OS_UV_HELPERS_H
+#define NEOVIM_OS_UV_HELPERS_H
+
+#include <uv.h>
+
+#include "os/wstream_defs.h"
+#include "os/rstream_defs.h"
+#include "os/job_defs.h"
+
+/// Gets the RStream instance associated with a libuv handle
+///
+/// @param handle libuv handle
+/// @return the RStream pointer
+RStream *handle_get_rstream(uv_handle_t *handle);
+
+/// Associates a RStream instance with a libuv handle
+///
+/// @param handle libuv handle
+/// @param rstream the RStream pointer
+void handle_set_rstream(uv_handle_t *handle, RStream *rstream);
+
+/// Gets the WStream instance associated with a libuv handle
+///
+/// @param handle libuv handle
+/// @return the WStream pointer
+WStream *handle_get_wstream(uv_handle_t *handle);
+
+/// Associates a WStream instance with a libuv handle
+///
+/// @param handle libuv handle
+/// @param wstream the WStream pointer
+void handle_set_wstream(uv_handle_t *handle, WStream *wstream);
+
+/// Gets the Job instance associated with a libuv handle
+///
+/// @param handle libuv handle
+/// @return the Job pointer
+Job *handle_get_job(uv_handle_t *handle);
+
+/// Associates a Job instance with a libuv handle
+///
+/// @param handle libuv handle
+/// @param job the Job pointer
+void handle_set_job(uv_handle_t *handle, Job *job);
+
+#endif // NEOVIM_OS_UV_HELPERS_H
+