summaryrefslogtreecommitdiffhomepage
path: root/include/ntapi/nt_tty.h
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2017-08-04 22:22:22 +0000
committermidipix <writeonce@midipix.org>2017-08-04 17:33:16 -0400
commitedb08567093daae164f6d3955884117dee74fe98 (patch)
treea0cbce284eccf262c4a2c65289b373658af59189 /include/ntapi/nt_tty.h
parent335494754eba35020cb2d4fd8c976fdb3a6e3507 (diff)
downloadntapi-edb08567093daae164f6d3955884117dee74fe98.tar.bz2
ntapi-edb08567093daae164f6d3955884117dee74fe98.tar.xz
subsystem interfaces: added server-to-server synchronization interfaces.
Diffstat (limited to 'include/ntapi/nt_tty.h')
-rw-r--r--include/ntapi/nt_tty.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/include/ntapi/nt_tty.h b/include/ntapi/nt_tty.h
index 387c8b6..5555d85 100644
--- a/include/ntapi/nt_tty.h
+++ b/include/ntapi/nt_tty.h
@@ -50,6 +50,9 @@ typedef enum _nt_tty_opcode {
NT_TTY_CLIENT_SESSION_DISCONNECT,
NT_TTY_CLIENT_SESSION_QUERY,
NT_TTY_CLIENT_SESSION_SET,
+ /* server-to-server coordination */
+ NT_TTY_CLIENT_SESSION_SYNCHRONIZE,
+ NT_TTY_CLIENT_SESSION_TRANSFER,
/* process registration */
NT_TTY_CLIENT_PROCESS_REGISTER,
NT_TTY_CLIENT_PROCESS_UNREGISTER,
@@ -87,6 +90,8 @@ typedef enum _nt_tty_opcode {
NT_TTY_SEM_IOCTL,
NT_TTY_SEM_CANCEL,
NT_TTY_SEM_TRACE,
+ NT_TTY_SEM_TRANSFER,
+ NT_TTY_SEM_WAIT,
/* virtual mount system */
NT_TTY_VMS_QUERY,
NT_TTY_VMS_REQUEST,
@@ -271,6 +276,40 @@ typedef struct __attr_ptr_size_aligned__ _nt_tty_session_info {
int32_t syspid;
} nt_tty_session_info;
+
+typedef struct __attr_ptr_size_aligned__ _nt_tty_ipc_info {
+ nt_port_attr ctrlsvc;
+ uint32_t ipckeys[6];
+ void * hevent;
+ void * apc_routine;
+ void * apc_context;
+ nt_iosb * riosb;
+} nt_tty_ipc_info;
+
+
+typedef struct __attr_ptr_size_aligned__ _nt_tty_sync_info {
+ nt_client_id cid;
+ nt_port_attr ipcsvc;
+ uint32_t ipckeys[6];
+ void * hevent;
+ void * apc_routine;
+ void * apc_context;
+ nt_iosb * riosb;
+} nt_tty_sync_info;
+
+
+
+typedef struct __attr_ptr_size_aligned__ _nt_tty_transfer_info {
+ nt_client_id ccid;
+ nt_client_id tcid;
+ uint32_t ipckeys[6];
+ void * hevent;
+ void * apc_routine;
+ void * apc_context;
+ nt_iosb * riosb;
+} nt_tty_transfer_info;
+
+
typedef struct __attr_ptr_size_aligned__ _nt_tty_register_msg {
nt_port_message header;
struct {
@@ -334,6 +373,33 @@ typedef struct __attr_ptr_size_aligned__ _nt_tty_pid_msg {
} nt_tty_pid_msg;
+typedef struct __attr_ptr_size_aligned__ _nt_tty_ipc_msg {
+ nt_port_message header;
+ struct {
+ nt_tty_msg_info ttyinfo;
+ nt_tty_ipc_info ipcinfo;
+ } data;
+} nt_tty_ipc_msg;
+
+
+typedef struct __attr_ptr_size_aligned__ _nt_tty_sync_msg {
+ nt_port_message header;
+ struct {
+ nt_tty_msg_info ttyinfo;
+ nt_tty_sync_info syncinfo;
+ } data;
+} nt_tty_sync_msg;
+
+
+typedef struct __attr_ptr_size_aligned__ _nt_tty_transfer_msg {
+ nt_port_message header;
+ struct {
+ nt_tty_msg_info ttyinfo;
+ nt_tty_transfer_info transferinfo;
+ } data;
+} nt_tty_transfer_msg;
+
+
typedef struct __attr_ptr_size_aligned__ _nt_pty_fd_msg {
nt_port_message header;
struct {
@@ -387,6 +453,10 @@ typedef struct __attr_ptr_size_aligned__ _nt_tty_port_msg {
nt_tty_vms_info vmsinfo;
nt_tty_peer_info peerinfo;
nt_tty_sigctl_info ctlinfo;
+ nt_tty_ipc_info ipcinfo;
+ nt_tty_sync_info syncinfo;
+ nt_user_process_info pidinfo;
+ nt_tty_transfer_info transferinfo;
nt_pty_fd_info fdinfo;
nt_pty_io_info ioinfo;
nt_pty_client_info clientinfo;
@@ -412,6 +482,9 @@ __assert_aligned_size(nt_pty_sigctl_msg, __SIZEOF_POINTER__);
__assert_aligned_size(nt_pty_fd_msg, __SIZEOF_POINTER__);
__assert_aligned_size(nt_pty_io_msg, __SIZEOF_POINTER__);
__assert_aligned_size(nt_tty_port_msg, __SIZEOF_POINTER__);
+__assert_aligned_size(nt_tty_ipc_msg, __SIZEOF_POINTER__);
+__assert_aligned_size(nt_tty_sync_msg, __SIZEOF_POINTER__);
+__assert_aligned_size(nt_tty_transfer_msg, __SIZEOF_POINTER__);
/* tty session */