patch 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10

Problem:    Vim doesn't use the new ConPTY support in Windows 10.
Solution:   Use ConPTY support, if available. (Nobuhiro Takasaki, closes #3794)
diff --git a/src/structs.h b/src/structs.h
index e6cc829..5d0541b 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -282,6 +282,8 @@
 # define w_p_twk w_onebuf_opt.wo_twk	/* 'termwinkey' */
     char_u	*wo_tws;
 # define w_p_tws w_onebuf_opt.wo_tws	/* 'termwinsize' */
+    char_u	*wo_tmod;
+# define w_p_tmod w_onebuf_opt.wo_tmod	/* 'termmode' */
 #endif
 
 #ifdef FEAT_EVAL
@@ -1728,13 +1730,15 @@
     int		ch_keep_open;	/* do not close on read error */
     int		ch_nonblock;
 
-    job_T	*ch_job;	/* Job that uses this channel; this does not
-				 * count as a reference to avoid a circular
-				 * reference, the job refers to the channel. */
-    int		ch_job_killed;	/* TRUE when there was a job and it was killed
-				 * or we know it died. */
+    job_T	*ch_job;	// Job that uses this channel; this does not
+				// count as a reference to avoid a circular
+				// reference, the job refers to the channel.
+    int		ch_job_killed;	// TRUE when there was a job and it was killed
+				// or we know it died.
+    int		ch_anonymous_pipe;  // ConPTY
+    int		ch_killing;	    // TerminateJobObject() was called
 
-    int		ch_refcount;	/* reference count */
+    int		ch_refcount;	// reference count
     int		ch_copyID;
 };
 
@@ -1787,6 +1791,7 @@
 #define JO2_NORESTORE	    0x2000	/* "norestore" */
 #define JO2_TERM_KILL	    0x4000	/* "term_kill" */
 #define JO2_ANSI_COLORS	    0x8000	/* "ansi_colors" */
+#define JO2_TERM_MODE	    0x10000	/* "term_mode" */
 
 #define JO_MODE_ALL	(JO_MODE + JO_IN_MODE + JO_OUT_MODE + JO_ERR_MODE)
 #define JO_CB_ALL \
@@ -1859,6 +1864,7 @@
 # if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
     long_u	jo_ansi_colors[16];
 # endif
+    int		jo_term_mode;	    // first character of "term_mode"
 #endif
 } jobopt_T;