pty_process_win.h
Go to the documentation of this file.
1 #ifndef NVIM_OS_PTY_PROCESS_WIN_H
2 #define NVIM_OS_PTY_PROCESS_WIN_H
3 
4 #include <uv.h>
5 #include <winpty.h>
6 
7 #include "nvim/event/process.h"
8 #include "nvim/lib/queue.h"
10 
11 typedef enum {
14 } PtyType;
15 
16 typedef struct pty_process {
18  uint16_t width, height;
19  union {
20  winpty_t *winpty;
22  } object;
26  uv_timer_t wait_eof_timer;
27 } PtyProcess;
28 
29 // Structure used by build_cmd_line()
30 typedef struct arg_node {
31  char *arg; // pointer to argument.
32  QUEUE node; // QUEUE structure.
33 } ArgNode;
34 
35 static inline PtyProcess pty_process_init(Loop *loop, void *data)
36 {
37  PtyProcess rv;
38  rv.process = process_init(loop, kProcessTypePty, data);
39  rv.width = 80;
40  rv.height = 24;
41  rv.object.winpty = NULL;
42  rv.type = kWinpty;
43  rv.finish_wait = NULL;
44  rv.process_handle = NULL;
45  return rv;
46 }
47 
48 #ifdef INCLUDE_GENERATED_DECLARATIONS
49 # include "os/pty_process_win.h.generated.h"
50 #endif
51 
52 #endif // NVIM_OS_PTY_PROCESS_WIN_H
pty_process::process
Process process
Definition: pty_process_unix.h:9
process.h
_queue
Definition: queue.h:27
arg_node
Definition: pty_process_win.h:30
pty_process::process_handle
HANDLE process_handle
Definition: pty_process_win.h:25
arg_node::node
QUEUE node
Definition: pty_process_win.h:32
pty_process
Definition: pty_process_unix.h:8
arg_node::arg
char * arg
Definition: pty_process_win.h:31
pty_conpty_win.h
PtyType
PtyType
Definition: pty_process_win.h:11
pty_process::height
uint16_t height
Definition: pty_process_unix.h:10
pty_process::object
union pty_process::@51 object
ArgNode
struct arg_node ArgNode
PtyProcess
struct pty_process PtyProcess
queue.h
process
Definition: process.h:18
pty_process::winpty
winpty_t * winpty
Definition: pty_process_win.h:20
pty_process::wait_eof_timer
uv_timer_t wait_eof_timer
Definition: pty_process_win.h:26
pty_process::finish_wait
HANDLE finish_wait
Definition: pty_process_win.h:24
pty_process::conpty
conpty_t * conpty
Definition: pty_process_win.h:21
kWinpty
@ kWinpty
Definition: pty_process_win.h:12
conpty
Definition: pty_conpty_win.h:13
pty_process::type
PtyType type
Definition: pty_process_win.h:23
HANDLE
HANDLE
Definition: pty_conpty_win.c:17
kProcessTypePty
@ kProcessTypePty
Definition: process.h:11
pty_process::width
uint16_t width
Definition: pty_process_unix.h:10
kConpty
@ kConpty
Definition: pty_process_win.h:13
NULL
return NULL
Definition: eval.c:10355
loop
Definition: loop.h:16