summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/ntapi/nt_port.h4
-rw-r--r--include/ntapi/nt_process.h1
-rw-r--r--src/port/ntapi_port_name_helper.c10
3 files changed, 12 insertions, 3 deletions
diff --git a/include/ntapi/nt_port.h b/include/ntapi/nt_port.h
index beb4f32..99a92df 100644
--- a/include/ntapi/nt_port.h
+++ b/include/ntapi/nt_port.h
@@ -33,6 +33,8 @@ typedef enum _nt_port_type {
NT_PORT_TYPE_SUBSYSTEM, /* {'n','t','c','t','t','y'} */
NT_PORT_TYPE_VMOUNT, /* {'v','m','o','u','n','t'} */
NT_PORT_TYPE_DAEMON, /* {'d','a','e','m','o','n'} */
+ NT_PORT_TYPE_SYMLNK, /* {'s','y','m','l','n','k'} */
+ NT_PORT_TYPE_NTPROC, /* {'n','t','p','r','o','c'} */
NT_PORT_TYPE_CAP
} nt_port_type;
@@ -49,6 +51,8 @@ typedef enum _nt_port_subtype {
#define NT_PORT_GUID_SUBSYSTEM {0xce7f8d40,0x81cd,0x41c6,{0xa4,0xb7,0xb8,0x35,0x67,0xdf,0x15,0xd9}}
#define NT_PORT_GUID_VMOUNT {0x893d63d2,0x23e8,0x4caa,{0xa8,0x41,0x7f,0x6e,0x77,0x6b,0xd5,0x70}}
#define NT_PORT_GUID_DAEMON {0xcf765d9e,0x6bd8,0x4a8d,{0x8a,0x21,0x17,0x34,0xcd,0x3a,0x8d,0xa7}}
+#define NT_PORT_GUID_SYMLNK {0xfe1b8480,0x833d,0x44df,{0x90,0x99,0xc1,0xf6,0x9c,0x11,0xd4,0x0b}}
+#define NT_PORT_GUID_NTPROC {0xd7f3f3a5,0x3e82,0x4f3e,{0x9d,0x6c,0x36,0x18,0xde,0xfa,0xc6,0x69}}
/* lpc messages */
#define NT_LPC_REFUSE_CONNECTION 0x0000
diff --git a/include/ntapi/nt_process.h b/include/ntapi/nt_process.h
index e29d140..d7a4831 100644
--- a/include/ntapi/nt_process.h
+++ b/include/ntapi/nt_process.h
@@ -191,6 +191,7 @@ typedef enum _nt_process_create_info_class {
#define NT_PROCESS_OBJDIR_PREFIX_NTPGRP {'n','t','p','g','r','p'}
#define NT_PROCESS_OBJDIR_PREFIX_PIDMAP {'p','i','d','m','a','p'}
#define NT_PROCESS_OBJDIR_PREFIX_PIDANY {'p','i','d','a','n','y'}
+#define NT_PROCESS_OBJDIR_PREFIX_NTPIPC {'n','t','p','i','p','c'}
typedef struct _nt_process_information {
void * hprocess;
diff --git a/src/port/ntapi_port_name_helper.c b/src/port/ntapi_port_name_helper.c
index 84ffdcc..7ab4d41 100644
--- a/src/port/ntapi_port_name_helper.c
+++ b/src/port/ntapi_port_name_helper.c
@@ -13,17 +13,21 @@
typedef wchar16_t __port_service_prefix[6];
static const __port_service_prefix __port_service_null = {0};
-static const __port_service_prefix __port_service_prefixes[4][NT_PORT_TYPE_CAP][NT_PORT_SUBTYPE_CAP] = {
+static const __port_service_prefix __port_service_prefixes[6][NT_PORT_TYPE_CAP][NT_PORT_SUBTYPE_CAP] = {
{{{'s','v','c','a','n','y'}}},
{{{'n','t','c','t','t','y'}}},
{{{'v','m','o','u','n','t'}}},
- {{{'d','a','e','m','o','n'}}}};
+ {{{'d','a','e','m','o','n'}}},
+ {{{'s','y','m','l','n','k'}}},
+ {{{'n','t','p','r','o','c'}}}};
static const nt_guid __port_guids[NT_PORT_TYPE_CAP][NT_PORT_SUBTYPE_CAP] = {
{NT_PORT_GUID_DEFAULT},
{NT_PORT_GUID_SUBSYSTEM},
{NT_PORT_GUID_VMOUNT},
- {NT_PORT_GUID_DAEMON}};
+ {NT_PORT_GUID_DAEMON},
+ {NT_PORT_GUID_SYMLNK},
+ {NT_PORT_GUID_NTPROC}};
int32_t __stdcall __ntapi_tt_port_guid_from_type(
__out nt_guid * guid,