[KSECDD]
[reactos.git] / reactos / drivers / crypto / ksecdd / ksecdd.h
index addcd15..f15e8cc 100644 (file)
@@ -9,6 +9,26 @@
 #define _NO_KSECDD_IMPORT_
 #include <ntifs.h>
 #include <ndk/extypes.h>
+#include <ndk/rtlfuncs.h>
+#include <ndk/lpcfuncs.h>
+#include <ndk/obfuncs.h>
+#include <ntstrsafe.h>
+
+#define STATUS_KSEC_INTERNAL_ERROR ((NTSTATUS)0x80090304)
+
+/* FIXME: this should be in some shared header */
+#define RTL_ENCRYPT_OPTION_SAME_PROCESS   0
+#define RTL_ENCRYPT_OPTION_CROSS_PROCESS  1
+#define RTL_ENCRYPT_OPTION_SAME_LOGON     2
+
+typedef struct _KSEC_CONNECTION_INFO
+{
+    ULONG Unknown0;
+    NTSTATUS Status;
+    ULONG_PTR Information;
+    CHAR ConnectionString[128];
+    ULONG Flags;
+} KSEC_CONNECTION_INFO;
 
 #if defined(_M_IX86) || defined(_M_AMD64)
 typedef struct _KSEC_MACHINE_SPECIFIC_COUNTERS
@@ -41,6 +61,9 @@ typedef struct _KSEC_ENTROPY_DATA
     SYSTEM_PROCESS_INFORMATION SystemProcessInformation;
 } KSEC_ENTROPY_DATA, *PKSEC_ENTROPY_DATA;
 
+extern PEPROCESS KsecLsaProcess;;
+extern HANDLE KsecLsaProcessHandle;
+
 NTSTATUS
 NTAPI
 KsecDdDispatch(
@@ -54,3 +77,37 @@ KsecGenRandom(
     PVOID Buffer,
     SIZE_T Length);
 
+NTSTATUS
+NTAPI
+KsecEncryptMemory (
+    _Inout_ PVOID Buffer,
+    _In_ ULONG Length,
+    _In_ ULONG OptionFlags);
+
+NTSTATUS
+NTAPI
+KsecDecryptMemory (
+    _Inout_ PVOID Buffer,
+    _In_ ULONG Length,
+    _In_ ULONG OptionFlags);
+
+NTSTATUS
+NTAPI
+KsecInitLsaMemory(VOID);
+
+///
+PVOID
+NTAPI
+PsGetProcessSecurityPort(
+    PEPROCESS Process);
+
+NTSTATUS
+NTAPI
+PsSetProcessSecurityPort(
+    PEPROCESS Process,
+    PVOID SecurityPort);
+
+HANDLE
+NTAPI
+PsGetCurrentThreadProcessId(VOID);
+