summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2017-07-30 21:21:21 +0000
committermidipix <writeonce@midipix.org>2017-07-31 08:43:35 -0400
commit1b6aec121567338583f5100d77a5bcd9a160363b (patch)
tree2b2e78f770de1f0f11448a90059d366be344873d /include
parent30d28dce7f884ffc2312a8b26f30759ae5f09aff (diff)
downloadntapi-1b6aec121567338583f5100d77a5bcd9a160363b.tar.bz2
ntapi-1b6aec121567338583f5100d77a5bcd9a160363b.tar.xz
subsystem interfaces: integrated ipc connection section handlers.
Diffstat (limited to 'include')
-rw-r--r--include/ntapi/nt_ipc.h43
-rw-r--r--include/ntapi/nt_tty.h25
-rw-r--r--include/ntapi/ntapi.h7
3 files changed, 75 insertions, 0 deletions
diff --git a/include/ntapi/nt_ipc.h b/include/ntapi/nt_ipc.h
index 1dae3b3..7238146 100644
--- a/include/ntapi/nt_ipc.h
+++ b/include/ntapi/nt_ipc.h
@@ -52,4 +52,47 @@ typedef int32_t __stdcall ntapi_ipc_connect_by_port(
__in void * hconn,
__in nt_port_attr * attr);
+
+typedef int32_t __stdcall ntapi_ipc_connect_section_by_attr(
+ __out void ** hport,
+ __in nt_port_attr * attr,
+ __out void ** hsection,
+ __out void ** section_addr,
+ __out size_t * section_size);
+
+
+typedef int32_t __stdcall ntapi_ipc_connect_section_by_name(
+ __out void ** hport,
+ __in nt_port_name * name,
+ __out void ** hsection,
+ __out void ** section_addr,
+ __out size_t * section_size);
+
+
+typedef int32_t __stdcall ntapi_ipc_connect_section_by_symlink(
+ __out void ** hport,
+ __in void * hsymlink,
+ __out void ** hsection,
+ __out void ** section_addr,
+ __out size_t * section_size);
+
+
+typedef int32_t __stdcall ntapi_ipc_connect_section_by_port(
+ __in void * hconn,
+ __in nt_port_attr * attr,
+ __out void ** hsection,
+ __out void ** section_addr,
+ __out size_t * section_size);
+
+
+typedef int32_t __stdcall ntapi_ipc_init_section_by_port(
+ __in void * hconn,
+ __out void ** hsection,
+ __out void ** section_addr,
+ __out size_t * section_size);
+
+
+typedef int32_t __stdcall ntapi_ipc_disconnect_unmap_section_by_port(
+ __in void * hconn);
+
#endif
diff --git a/include/ntapi/nt_tty.h b/include/ntapi/nt_tty.h
index fd41753..22c24a4 100644
--- a/include/ntapi/nt_tty.h
+++ b/include/ntapi/nt_tty.h
@@ -168,6 +168,14 @@ typedef struct __attr_ptr_size_aligned__ _nt_tty_service_info {
} nt_tty_service_info;
+typedef struct __attr_ptr_size_aligned__ _nt_tty_section_info {
+ nt_port_attr attr;
+ void * section;
+ void * section_addr;
+ size_t section_size;
+} nt_tty_section_info;
+
+
typedef struct __attr_ptr_size_aligned__ _nt_tty_vms_info {
void * hroot;
uint32_t hash;
@@ -290,6 +298,15 @@ typedef struct __attr_ptr_size_aligned__ _nt_tty_service_msg {
} nt_tty_service_msg;
+typedef struct __attr_ptr_size_aligned__ _nt_tty_section_msg {
+ nt_port_message header;
+ struct {
+ nt_tty_msg_info ttyinfo;
+ nt_tty_section_info secinfo;
+ } data;
+} nt_tty_section_msg;
+
+
typedef struct __attr_ptr_size_aligned__ _nt_tty_vms_msg {
nt_port_message header;
struct {
@@ -375,6 +392,7 @@ typedef struct __attr_ptr_size_aligned__ _nt_tty_port_msg {
nt_pty_client_info clientinfo;
nt_tty_session_info sessioninfo;
nt_tty_service_info svcinfo;
+ nt_tty_section_info secinfo;
nt_sem_info seminfo;
};
} nt_tty_port_msg;
@@ -438,6 +456,13 @@ typedef int32_t __stdcall ntapi_tty_client_process_register(
__in nt_large_integer * reserved);
+typedef int32_t __stdcall ntapi_tty_query_information_section(
+ __in void * hport,
+ __out nt_io_status_block * iosb,
+ __out nt_tty_section_info * secinfo,
+ __in const nt_guid * guid);
+
+
typedef int32_t __stdcall ntapi_tty_query_information_server(
__in void * hport,
__out nt_io_status_block * iosb,
diff --git a/include/ntapi/ntapi.h b/include/ntapi/ntapi.h
index b3071c1..eff9c94 100644
--- a/include/ntapi/ntapi.h
+++ b/include/ntapi/ntapi.h
@@ -392,6 +392,12 @@ typedef struct _ntapi_vtbl {
ntapi_ipc_connect_by_name * ipc_connect_by_name;
ntapi_ipc_connect_by_symlink * ipc_connect_by_symlink;
ntapi_ipc_connect_by_port * ipc_connect_by_port;
+ ntapi_ipc_connect_section_by_attr * ipc_connect_section_by_attr;
+ ntapi_ipc_connect_section_by_name * ipc_connect_section_by_name;
+ ntapi_ipc_connect_section_by_symlink * ipc_connect_section_by_symlink;
+ ntapi_ipc_connect_section_by_port * ipc_connect_section_by_port;
+ ntapi_ipc_init_section_by_port * ipc_init_section_by_port;
+ ntapi_ipc_disconnect_unmap_section_by_port * ipc_disconnect_unmap_section_by_port;
ntapi_ipc_create_pipe * ipc_create_pipe;
/* nt_ldr.h */
@@ -533,6 +539,7 @@ typedef struct _ntapi_vtbl {
ntapi_tty_client_session_query * tty_client_session_query;
ntapi_tty_client_session_set * tty_client_session_set;
ntapi_tty_client_process_register * tty_client_process_register;
+ ntapi_tty_query_information_section * tty_query_information_section;
ntapi_tty_query_information_server * tty_query_information_server;
ntapi_tty_query_information_service * tty_query_information_service;
ntapi_tty_request_peer * tty_request_peer;