diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ntapi/nt_tty.h | 29 | ||||
-rw-r--r-- | include/ntapi/ntapi.h | 1 |
2 files changed, 29 insertions, 1 deletions
diff --git a/include/ntapi/nt_tty.h b/include/ntapi/nt_tty.h index 4783eb6..8f33bc7 100644 --- a/include/ntapi/nt_tty.h +++ b/include/ntapi/nt_tty.h @@ -68,10 +68,15 @@ typedef enum _nt_tty_info_class { typedef enum _nt_pty_info_class { NT_PTY_BASIC_INFORMATION, NT_PTY_CLIENT_INFORMATION, + NT_PTY_INHERIT_INFORMATION, NT_PTY_INFORMATION_CAP } nt_pty_info_class; +/* client process registration flags */ +#define NT_TTY_INHERIT_HANDLES 0x0001 + + typedef struct __attr_ptr_size_aligned__ _nt_tty_msg_info { uintptr_t msg_id; uint32_t opcode; @@ -166,6 +171,23 @@ typedef struct __attr_ptr_size_aligned__ _nt_pty_client_info { } nt_pty_client_info; +typedef struct __attr_ptr_size_aligned__ _nt_pty_inherit_info { + void * hpty; + nt_guid guid; + nt_luid luid; + + union { + struct { + uint32_t access; + uint32_t flags; + uint32_t share; + uint32_t options; + }; + + uintptr_t any[4]; + }; +} nt_pty_inherit_info; + typedef struct __attr_ptr_size_aligned__ _nt_tty_session_info { int32_t pid; int32_t pgid; @@ -173,7 +195,6 @@ typedef struct __attr_ptr_size_aligned__ _nt_tty_session_info { int32_t reserved; } nt_tty_session_info; - typedef struct __attr_ptr_size_aligned__ _nt_tty_register_msg { nt_port_message header; struct { @@ -341,6 +362,12 @@ typedef int32_t __stdcall ntapi_pty_reopen( __in nt_pty * pty); +typedef int32_t __stdcall ntapi_pty_inherit( + __in void * hport, + __out nt_pty ** pty, + __in nt_pty_client_info * client_info); + + typedef int32_t __stdcall ntapi_pty_close( __in nt_pty * pty); diff --git a/include/ntapi/ntapi.h b/include/ntapi/ntapi.h index 7978786..d6e5f65 100644 --- a/include/ntapi/ntapi.h +++ b/include/ntapi/ntapi.h @@ -524,6 +524,7 @@ typedef struct _ntapi_vtbl { ntapi_tty_vms_request * tty_vms_request; ntapi_pty_open * pty_open; ntapi_pty_reopen * pty_reopen; + ntapi_pty_inherit * pty_inherit; ntapi_pty_close * pty_close; ntapi_pty_read * pty_read; ntapi_pty_write * pty_write; |