X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fdrivers%2Fcrypto%2Fksecdd%2Fksecdd.h;h=f15e8cc8d845ff766c162fe3a46b1cd786902a5f;hp=addcd1534569d6e4a775891c71cd2fc51ba1c5bd;hb=fe8e1d19fb089609c6a8d1877a57db65e71f6e6a;hpb=00ad9c4760b2d8fe6595f43f9a624d992bc7eb41 diff --git a/reactos/drivers/crypto/ksecdd/ksecdd.h b/reactos/drivers/crypto/ksecdd/ksecdd.h index addcd153456..f15e8cc8d84 100644 --- a/reactos/drivers/crypto/ksecdd/ksecdd.h +++ b/reactos/drivers/crypto/ksecdd/ksecdd.h @@ -9,6 +9,26 @@ #define _NO_KSECDD_IMPORT_ #include #include +#include +#include +#include +#include + +#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); +