aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/pty_process_win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/os/pty_process_win.h')
-rw-r--r--src/nvim/os/pty_process_win.h25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/nvim/os/pty_process_win.h b/src/nvim/os/pty_process_win.h
index 8e2b37a1c1..87b2b6545d 100644
--- a/src/nvim/os/pty_process_win.h
+++ b/src/nvim/os/pty_process_win.h
@@ -1,21 +1,23 @@
#ifndef NVIM_OS_PTY_PROCESS_WIN_H
#define NVIM_OS_PTY_PROCESS_WIN_H
+#include <uv.h>
+
+#include <winpty.h>
+
#include "nvim/event/libuv_process.h"
typedef struct pty_process {
Process process;
char *term_name;
uint16_t width, height;
+ winpty_t *wp;
+ uv_async_t finish_async;
+ HANDLE finish_wait;
+ HANDLE process_handle;
+ bool is_closing;
} PtyProcess;
-#define pty_process_spawn(job) libuv_process_spawn((LibuvProcess *)job)
-#define pty_process_close(job) libuv_process_close((LibuvProcess *)job)
-#define pty_process_close_master(job) libuv_process_close((LibuvProcess *)job)
-#define pty_process_resize(job, width, height) ( \
- (void)job, (void)width, (void)height, 0)
-#define pty_process_teardown(loop) ((void)loop, 0)
-
static inline PtyProcess pty_process_init(Loop *loop, void *data)
{
PtyProcess rv;
@@ -23,7 +25,16 @@ static inline PtyProcess pty_process_init(Loop *loop, void *data)
rv.term_name = NULL;
rv.width = 80;
rv.height = 24;
+ rv.wp = NULL;
+ // XXX: Zero rv.finish_async somehow?
+ rv.finish_wait = NULL;
+ rv.process_handle = NULL;
+ rv.is_closing = false;
return rv;
}
+#ifdef INCLUDE_GENERATED_DECLARATIONS
+# include "os/pty_process_win.h.generated.h"
+#endif
+
#endif // NVIM_OS_PTY_PROCESS_WIN_H