summaryrefslogtreecommitdiffhomepage
path: root/src/internal/ntapi.c
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
commit30d28dce7f884ffc2312a8b26f30759ae5f09aff (patch)
tree76fe681605a6744e6492ba293ada751833ae927e /src/internal/ntapi.c
parenta1e25ad89de33c3ad253ab239d1d92a6ebb096e7 (diff)
downloadntapi-30d28dce7f884ffc2312a8b26f30759ae5f09aff.tar.bz2
ntapi-30d28dce7f884ffc2312a8b26f30759ae5f09aff.tar.xz
subsystem interfaces: integrated ipc connection handlers.
Diffstat (limited to 'src/internal/ntapi.c')
-rw-r--r--src/internal/ntapi.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/internal/ntapi.c b/src/internal/ntapi.c
index 336b5db..da91cfe 100644
--- a/src/internal/ntapi.c
+++ b/src/internal/ntapi.c
@@ -130,6 +130,20 @@ static int32_t __fastcall __ntapi_init_once(ntapi_vtbl ** pvtbl)
if (status != NT_STATUS_SUCCESS)
return status;
+ /* ipc connection list */
+ if ((status = dalist_init_ex(
+ &internals->ipc_conns,
+ sizeof(nt_ipc_conn),
+ NT_ALLOCATION_GRANULARITY,
+ __ntapi_ipc_page_alloc,
+ DALIST_MEMFN_CUSTOM)))
+ return status;
+
+ dalist_deposit_memory_block(
+ &internals->ipc_conns,
+ &__ntapi_img_bss.ipc_buffer,
+ __NT_BSS_IPC_BUFFER_SIZE);
+
/* hashed import table */
__ntapi_tt_populate_hashed_import_table(
pe_get_ntdll_module_handle(),
@@ -165,6 +179,12 @@ static int32_t __fastcall __ntapi_init_once(ntapi_vtbl ** pvtbl)
__ntapi->tt_open_logical_parent_directory = __ntapi_tt_open_logical_parent_directory;
__ntapi->tt_open_physical_parent_directory = __ntapi_tt_open_physical_parent_directory;
+ /* nt_ipc.h */
+ __ntapi->ipc_connect_by_attr = __ntapi_ipc_connect_by_attr;
+ __ntapi->ipc_connect_by_name = __ntapi_ipc_connect_by_name;
+ __ntapi->ipc_connect_by_symlink = __ntapi_ipc_connect_by_symlink;
+ __ntapi->ipc_connect_by_port = __ntapi_ipc_connect_by_port;
+
/* nt_ldr.h */
__ntapi->ldr_load_system_dll = __ntapi_ldr_load_system_dll;
__ntapi->ldr_create_state_snapshot = __ntapi_ldr_create_state_snapshot;