xref: /reactos/dll/win32/msv1_0/lsa.h (revision 3e1f4074)
1 /*
2  * PROJECT:     Authentication Package DLL
3  * LICENSE:     GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4  * PURPOSE:     Header for lsa.c
5  * COPYRIGHT:   Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
6  */
7 
8 #pragma once
9 
10 NTSTATUS
11 NTAPI
12 SpInitialize(
13     _In_ ULONG_PTR PackageId,
14     _In_ PSECPKG_PARAMETERS Parameters,
15     _In_ PLSA_SECPKG_FUNCTION_TABLE FunctionTable);
16 
17 NTSTATUS
18 NTAPI
19 LsaSpShutDown(VOID);
20 
21 NTSTATUS
22 NTAPI
23 SpAcceptCredentials(
24     _In_ SECURITY_LOGON_TYPE LogonType,
25     _In_ PUNICODE_STRING AccountName,
26     _In_ PSECPKG_PRIMARY_CRED PrimaryCredentials,
27     _In_ PSECPKG_SUPPLEMENTAL_CRED SupplementalCredentials);
28 
29 NTSTATUS
30 NTAPI
31 LsaSpAcquireCredentialsHandle(
32     _In_ PUNICODE_STRING PrincipalName,
33     _In_ ULONG CredentialUseFlags,
34     _In_ PLUID LogonId,
35     _In_ PVOID AuthorizationData,
36     _In_ PVOID GetKeyFunciton,
37     _In_ PVOID GetKeyArgument,
38     _Out_ PLSA_SEC_HANDLE CredentialHandle,
39     _Out_ PTimeStamp ExpirationTime);
40 
41 NTSTATUS
42 NTAPI
43 LsaSpQueryCredentialsAttributes(
44     _In_ LSA_SEC_HANDLE CredentialHandle,
45     _In_ ULONG CredentialAttribute,
46     _Inout_ PVOID Buffer);
47 
48 NTSTATUS
49 NTAPI
50 LsaSpFreeCredentialsHandle(
51     _In_ LSA_SEC_HANDLE CredentialHandle);
52 
53 NTSTATUS
54 NTAPI
55 LsaSpSaveCredentials(
56     _In_ LSA_SEC_HANDLE CredentialHandle,
57     _In_ PSecBuffer Credentials);
58 
59 NTSTATUS
60 NTAPI
61 LsaSpGetCredentials(
62     _In_ LSA_SEC_HANDLE CredentialHandle,
63     _Inout_ PSecBuffer Credentials);
64 
65 NTSTATUS
66 NTAPI
67 LsaSpDeleteCredentials(
68     _In_ LSA_SEC_HANDLE CredentialHandle,
69     _In_ PSecBuffer Key);
70 
71 NTSTATUS
72 NTAPI
73 LsaSpGetInfoW(
74     _Out_ PSecPkgInfoW PackageInfo);
75 
76 NTSTATUS
77 NTAPI
78 LsaSpInitLsaModeContext(
79     _In_ LSA_SEC_HANDLE CredentialHandle,
80     _In_ LSA_SEC_HANDLE ContextHandle,
81     _In_ PUNICODE_STRING TargetName,
82     _In_ ULONG ContextRequirements,
83     _In_ ULONG TargetDataRep,
84     _In_ PSecBufferDesc InputBuffers,
85     _Out_ PLSA_SEC_HANDLE NewContextHandle,
86     _Inout_ PSecBufferDesc OutputBuffers,
87     _Out_ PULONG ContextAttributes,
88     _Out_ PTimeStamp ExpirationTime,
89     _Out_ PBOOLEAN MappedContext,
90     _Out_ PSecBuffer ContextData);
91 
92 NTSTATUS
93 NTAPI
94 LsaSpAcceptLsaModeContext(
95     _In_ LSA_SEC_HANDLE CredentialHandle,
96     _In_ LSA_SEC_HANDLE ContextHandle,
97     _In_ PSecBufferDesc InputBuffer,
98     _In_ ULONG ContextRequirements,
99     _In_ ULONG TargetDataRep,
100     _Out_ PLSA_SEC_HANDLE NewContextHandle,
101     _Inout_ PSecBufferDesc OutputBuffer,
102     _Out_ PULONG ContextAttributes,
103     _Out_ PTimeStamp ExpirationTime,
104     _Out_ PBOOLEAN MappedContext,
105     _Out_ PSecBuffer ContextData);
106 
107 NTSTATUS
108 NTAPI
109 LsaSpDeleteContext(
110     _In_ LSA_SEC_HANDLE ContextHandle);
111 
112 NTSTATUS
113 NTAPI
114 LsaSpApplyControlToken(
115     _In_ LSA_SEC_HANDLE ContextHandle,
116     _In_ PSecBufferDesc ControlToken);
117 
118 NTSTATUS
119 NTAPI
120 LsaSpGetUserInfo(
121     _In_ PLUID LogonId,
122     _In_ ULONG Flags,
123     _Out_ PSecurityUserData *UserData);
124 
125 NTSTATUS
126 NTAPI
127 LsaSpGetExtendedInformation(
128     _In_ SECPKG_EXTENDED_INFORMATION_CLASS Class,
129     _Out_ PSECPKG_EXTENDED_INFORMATION *ppInfo);
130 
131 NTSTATUS
132 NTAPI
133 LsaSpSetExtendedInformation(
134     _In_ SECPKG_EXTENDED_INFORMATION_CLASS Class,
135     _In_ PSECPKG_EXTENDED_INFORMATION Info);
136