reactos/dll/win32/msv1_0/lsa.h

143 lines
3.3 KiB
C
Raw Normal View History

/*
* PROJECT: Authentication Package DLL
* LICENSE: GPL - See COPYING in the top level directory
* FILE: dll/win32/msv1_0/lsa.h
* PURPOSE: header for lsa.c
* COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
*/
#ifndef _MSV1_0_LSA_H_
#define _MSV1_0_LSA_H_
// functions we provide to LSA in SpLsaModeInitialize
extern SECPKG_FUNCTION_TABLE NtlmLsaFn[1];
NTSTATUS
NTAPI
SpInitialize(
_In_ ULONG_PTR PackageId,
_In_ PSECPKG_PARAMETERS Parameters,
_In_ PLSA_SECPKG_FUNCTION_TABLE FunctionTable);
NTSTATUS
NTAPI
LsaSpShutDown(VOID);
NTSTATUS
NTAPI
SpAcceptCredentials(
_In_ SECURITY_LOGON_TYPE LogonType,
_In_ PUNICODE_STRING AccountName,
_In_ PSECPKG_PRIMARY_CRED PrimaryCredentials,
_In_ PSECPKG_SUPPLEMENTAL_CRED SupplementalCredentials);
NTSTATUS
NTAPI
LsaSpAcquireCredentialsHandle(
_In_ PUNICODE_STRING PrincipalName,
_In_ ULONG CredentialUseFlags,
_In_ PLUID LogonId,
_In_ PVOID AuthorizationData,
_In_ PVOID GetKeyFunciton,
_In_ PVOID GetKeyArgument,
_Out_ PLSA_SEC_HANDLE CredentialHandle,
_Out_ PTimeStamp ExpirationTime);
NTSTATUS
NTAPI
LsaSpQueryCredentialsAttributes(
_In_ LSA_SEC_HANDLE CredentialHandle,
_In_ ULONG CredentialAttribute,
_Inout_ PVOID Buffer);
NTSTATUS
NTAPI
LsaSpFreeCredentialsHandle(
_In_ LSA_SEC_HANDLE CredentialHandle);
NTSTATUS
NTAPI
LsaSpSaveCredentials(
_In_ LSA_SEC_HANDLE CredentialHandle,
_In_ PSecBuffer Credentials);
NTSTATUS
NTAPI
LsaSpGetCredentials(
_In_ LSA_SEC_HANDLE CredentialHandle,
_Inout_ PSecBuffer Credentials);
NTSTATUS
NTAPI
LsaSpDeleteCredentials(
_In_ LSA_SEC_HANDLE CredentialHandle,
_In_ PSecBuffer Key);
NTSTATUS
NTAPI
LsaSpGetInfoW(
_Out_ PSecPkgInfoW PackageInfo);
NTSTATUS
NTAPI
LsaSpInitLsaModeContext(
_In_ LSA_SEC_HANDLE CredentialHandle,
_In_ LSA_SEC_HANDLE ContextHandle,
_In_ PUNICODE_STRING TargetName,
_In_ ULONG ContextRequirements,
_In_ ULONG TargetDataRep,
_In_ PSecBufferDesc InputBuffers,
_Out_ PLSA_SEC_HANDLE NewContextHandle,
_Inout_ PSecBufferDesc OutputBuffers,
_Out_ PULONG ContextAttributes,
_Out_ PTimeStamp ExpirationTime,
_Out_ PBOOLEAN MappedContext,
_Out_ PSecBuffer ContextData);
NTSTATUS
NTAPI
LsaSpAcceptLsaModeContext(
_In_ LSA_SEC_HANDLE CredentialHandle,
_In_ LSA_SEC_HANDLE ContextHandle,
_In_ PSecBufferDesc InputBuffer,
_In_ ULONG ContextRequirements,
_In_ ULONG TargetDataRep,
_Out_ PLSA_SEC_HANDLE NewContextHandle,
_Inout_ PSecBufferDesc OutputBuffer,
_Out_ PULONG ContextAttributes,
_Out_ PTimeStamp ExpirationTime,
_Out_ PBOOLEAN MappedContext,
_Out_ PSecBuffer ContextData);
NTSTATUS
NTAPI
LsaSpDeleteContext(
_In_ LSA_SEC_HANDLE ContextHandle);
NTSTATUS
NTAPI
LsaSpApplyControlToken(
_In_ LSA_SEC_HANDLE ContextHandle,
_In_ PSecBufferDesc ControlToken);
NTSTATUS
NTAPI
LsaSpGetUserInfo(
_In_ PLUID LogonId,
_In_ ULONG Flags,
_Out_ PSecurityUserData *UserData);
NTSTATUS
NTAPI
LsaSpGetExtendedInformation(
_In_ SECPKG_EXTENDED_INFORMATION_CLASS Class,
_Out_ PSECPKG_EXTENDED_INFORMATION *ppInfo);
NTSTATUS
NTAPI
LsaSpSetExtendedInformation(
_In_ SECPKG_EXTENDED_INFORMATION_CLASS Class,
_In_ PSECPKG_EXTENDED_INFORMATION Info);
#endif /* _MSV1_0_LSA_H_ */