OSDN Git Service

Avoid an implication that the API is exclusively 32-bit.
[mingw/mingw-org-wsl.git] / wslapi / include / sspi.h
1 #ifndef _SSPI_H
2 #define _SSPI_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #include <ntsecapi.h>
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 #include <subauth.h>
14
15 #define SECPKG_CRED_INBOUND 1
16 #define SECPKG_CRED_OUTBOUND 2
17 #define SECPKG_CRED_BOTH (SECPKG_CRED_OUTBOUND|SECPKG_CRED_INBOUND)
18 #define SECPKG_CRED_ATTR_NAMES 1
19
20 #define SECPKG_FLAG_INTEGRITY 1
21 #define SECPKG_FLAG_PRIVACY 2
22 #define SECPKG_FLAG_TOKEN_ONLY 4
23 #define SECPKG_FLAG_DATAGRAM 8
24 #define SECPKG_FLAG_CONNECTION 16
25 #define SECPKG_FLAG_MULTI_REQUIRED 32
26 #define SECPKG_FLAG_CLIENT_ONLY 64
27 #define SECPKG_FLAG_EXTENDED_ERROR 128
28 #define SECPKG_FLAG_IMPERSONATION 256
29 #define SECPKG_FLAG_ACCEPT_WIN32_NAME 512
30 #define SECPKG_FLAG_STREAM 1024
31
32 #define SECPKG_ATTR_AUTHORITY 6
33 #define SECPKG_ATTR_CONNECTION_INFO 90
34 #define SECPKG_ATTR_ISSUER_LIST 80
35 #define SECPKG_ATTR_ISSUER_LIST_EX 89
36 #define SECPKG_ATTR_KEY_INFO 5
37 #define SECPKG_ATTR_LIFESPAN 2
38 #define SECPKG_ATTR_LOCAL_CERT_CONTEXT 84
39 #define SECPKG_ATTR_LOCAL_CRED 82
40 #define SECPKG_ATTR_NAMES 1
41 #define SECPKG_ATTR_PROTO_INFO 7
42 #define SECPKG_ATTR_REMOTE_CERT_CONTEXT 83
43 #define SECPKG_ATTR_REMOTE_CRED 81
44 #define SECPKG_ATTR_SIZES 0
45 #define SECPKG_ATTR_STREAM_SIZES 4
46
47 #define SECBUFFER_EMPTY 0
48 #define SECBUFFER_DATA 1
49 #define SECBUFFER_TOKEN 2
50 #define SECBUFFER_PKG_PARAMS 3
51 #define SECBUFFER_MISSING 4
52 #define SECBUFFER_EXTRA 5
53 #define SECBUFFER_STREAM_TRAILER 6
54 #define SECBUFFER_STREAM_HEADER 7
55 #define SECBUFFER_PADDING 9
56 #define SECBUFFER_STREAM 10
57 #define SECBUFFER_READONLY 0x80000000
58 #define SECBUFFER_ATTRMASK 0xf0000000
59
60 #define UNISP_NAME_A "Microsoft Unified Security Protocol Provider"
61 #define UNISP_NAME_W L"Microsoft Unified Security Protocol Provider"
62 #define SECBUFFER_VERSION 0
63
64 typedef UNICODE_STRING SECURITY_STRING, *PSECURITY_STRING;
65
66 typedef struct _SecHandle {
67         ULONG_PTR dwLower;
68         ULONG_PTR dwUpper;
69 } SecHandle, *PSecHandle;
70 typedef struct _SecBuffer {
71         ULONG cbBuffer;
72         ULONG BufferType;
73         PVOID pvBuffer;
74 } SecBuffer, *PSecBuffer;
75 typedef SecHandle CredHandle;
76 typedef PSecHandle PCredHandle;
77 typedef SecHandle CtxtHandle;
78 typedef PSecHandle PCtxtHandle;
79 typedef struct _SECURITY_INTEGER {
80         unsigned long LowPart;
81         long HighPart;
82 } SECURITY_INTEGER;
83 typedef SECURITY_INTEGER TimeStamp, *PTimeStamp;
84 typedef struct _SecBufferDesc {
85         ULONG ulVersion;
86         ULONG cBuffers;
87         PSecBuffer pBuffers;
88 } SecBufferDesc, *PSecBufferDesc;
89 typedef struct _SecPkgContext_StreamSizes {
90         ULONG cbHeader;
91         ULONG cbTrailer;
92         ULONG cbMaximumMessage;
93         ULONG cBuffers;
94         ULONG cbBlockSize;
95 } SecPkgContext_StreamSizes, *PSecPkgContext_StreamSizes;
96 typedef struct _SecPkgContext_Sizes {
97         ULONG cbMaxToken;
98         ULONG cbMaxSignature;
99         ULONG cbBlockSize;
100         ULONG cbSecurityTrailer;
101 } SecPkgContext_Sizes, *PSecPkgContext_Sizes;
102 typedef struct _SecPkgContext_AuthorityW {
103         SEC_WCHAR* sAuthorityName;
104 } SecPkgContext_AuthorityW, *PSecPkgContext_AuthorityW;
105 typedef struct _SecPkgContext_AuthorityA {
106         SEC_CHAR* sAuthorityName;
107 } SecPkgContext_AuthorityA, *PSecPkgContext_AuthorityA;
108 typedef struct _SecPkgContext_KeyInfoW {
109         SEC_WCHAR* sSignatureAlgorithmName;
110         SEC_WCHAR* sEncryptAlgorithmName;
111         ULONG KeySize;
112         ULONG SignatureAlgorithm;
113         ULONG EncryptAlgorithm;
114 } SecPkgContext_KeyInfoW, *PSecPkgContext_KeyInfoW;
115 typedef struct _SecPkgContext_KeyInfoA {
116         SEC_CHAR* sSignatureAlgorithmName;
117         SEC_CHAR* sEncryptAlgorithmName;
118         ULONG KeySize;
119         ULONG SignatureAlgorithm;
120         ULONG EncryptAlgorithm;
121 } SecPkgContext_KeyInfoA, *PSecPkgContext_KeyInfoA;
122 typedef struct _SecPkgContext_LifeSpan {
123         TimeStamp tsStart;
124         TimeStamp tsExpiry;
125 } SecPkgContext_LifeSpan, *PSecPkgContext_LifeSpan;
126 typedef struct _SecPkgContext_NamesW {
127         SEC_WCHAR* sUserName;
128 } SecPkgContext_NamesW, *PSecPkgContext_NamesW;
129 typedef struct _SecPkgContext_NamesA {
130         SEC_CHAR* sUserName;
131 } SecPkgContext_NamesA, *PSecPkgContext_NamesA;
132 typedef struct _SecPkgInfoW {
133         ULONG fCapabilities;
134         USHORT wVersion;
135         USHORT wRPCID;
136         ULONG cbMaxToken;
137         SEC_WCHAR* Name;
138         SEC_WCHAR* Comment;
139 } SecPkgInfoW, *PSecPkgInfoW;
140 typedef struct _SecPkgInfoA {
141         ULONG fCapabilities;
142         USHORT wVersion;
143         USHORT wRPCID;
144         ULONG cbMaxToken;
145         SEC_CHAR* Name;
146         SEC_CHAR* Comment;
147 } SecPkgInfoA, *PSecPkgInfoA;
148 /* supported only in win2k+, so it should be a PSecPkgInfoW */
149 /* PSDK does not say it has ANSI/Unicode versions */
150 typedef struct _SecPkgContext_PackageInfo {
151         PSecPkgInfoW PackageInfo;
152 } SecPkgContext_PackageInfo, *PSecPkgContext_PackageInfo;
153 typedef struct _SecPkgCredentials_NamesW {
154         SEC_WCHAR* sUserName;
155 } SecPkgCredentials_NamesW, *PSecPkgCredentials_NamesW;
156 typedef struct _SecPkgCredentials_NamesA {
157         SEC_CHAR* sUserName;
158 } SecPkgCredentials_NamesA, *PSecPkgCredentials_NamesA;
159
160 /* TODO: missing type in SDK */
161 typedef void (*SEC_GET_KEY_FN)();
162
163 typedef SECURITY_STATUS (WINAPI *ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG,PSecPkgInfoW*);
164 typedef SECURITY_STATUS (WINAPI *ENUMERATE_SECURITY_PACKAGES_FN_A)(PULONG,PSecPkgInfoA*);
165 typedef SECURITY_STATUS (WINAPI *QUERY_CREDENTIALS_ATTRIBUTES_FN_W)(PCredHandle,ULONG,PVOID);
166 typedef SECURITY_STATUS (WINAPI *QUERY_CREDENTIALS_ATTRIBUTES_FN_A)(PCredHandle,ULONG,PVOID);
167 typedef SECURITY_STATUS (WINAPI *ACQUIRE_CREDENTIALS_HANDLE_FN_W)(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
168 typedef SECURITY_STATUS (WINAPI *ACQUIRE_CREDENTIALS_HANDLE_FN_A)(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
169 typedef SECURITY_STATUS (WINAPI *FREE_CREDENTIALS_HANDLE_FN)(PCredHandle);
170 typedef SECURITY_STATUS (WINAPI *INITIALIZE_SECURITY_CONTEXT_FN_W)(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
171 typedef SECURITY_STATUS (WINAPI *INITIALIZE_SECURITY_CONTEXT_FN_A)(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
172 typedef SECURITY_STATUS (WINAPI *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
173 typedef SECURITY_STATUS (WINAPI *COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle,PSecBufferDesc);
174 typedef SECURITY_STATUS (WINAPI *DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle);
175 typedef SECURITY_STATUS (WINAPI *APPLY_CONTROL_TOKEN_FN_W)(PCtxtHandle,PSecBufferDesc);
176 typedef SECURITY_STATUS (WINAPI *APPLY_CONTROL_TOKEN_FN_A)(PCtxtHandle,PSecBufferDesc);
177 typedef SECURITY_STATUS (WINAPI *QUERY_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle,ULONG,PVOID);
178 typedef SECURITY_STATUS (WINAPI *QUERY_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle,ULONG,PVOID);
179 typedef SECURITY_STATUS (WINAPI *IMPERSONATE_SECURITY_CONTEXT_FN)(PCtxtHandle);
180 typedef SECURITY_STATUS (WINAPI *REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle);
181 typedef SECURITY_STATUS (WINAPI *MAKE_SIGNATURE_FN)(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
182 typedef SECURITY_STATUS (WINAPI *VERIFY_SIGNATURE_FN)(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
183 typedef SECURITY_STATUS (WINAPI *FREE_CONTEXT_BUFFER_FN)(PVOID);
184 typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_PACKAGE_INFO_FN_A)(SEC_CHAR*,PSecPkgInfoA*);
185 typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_CONTEXT_TOKEN_FN)(PCtxtHandle,HANDLE*);
186 typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_PACKAGE_INFO_FN_W)(SEC_WCHAR*,PSecPkgInfoW*);
187 typedef SECURITY_STATUS (WINAPI *ENCRYPT_MESSAGE_FN)(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
188 typedef SECURITY_STATUS (WINAPI *DECRYPT_MESSAGE_FN)(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
189
190 /* No, it really is FreeCredentialsHandle, see the thread beginning
191  * http://sourceforge.net/mailarchive/message.php?msg_id=4321080 for a
192  * discovery discussion. */
193 typedef struct _SECURITY_FUNCTION_TABLEW {
194         unsigned long dwVersion;
195         ENUMERATE_SECURITY_PACKAGES_FN_W EnumerateSecurityPackagesW;
196         QUERY_CREDENTIALS_ATTRIBUTES_FN_W QueryCredentialsAttributesW;
197         ACQUIRE_CREDENTIALS_HANDLE_FN_W AcquireCredentialsHandleW;
198         FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle;
199         void SEC_FAR* Reserved2;
200         INITIALIZE_SECURITY_CONTEXT_FN_W InitializeSecurityContextW;
201         ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext;
202         COMPLETE_AUTH_TOKEN_FN CompleteAuthToken;
203         DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext;
204         APPLY_CONTROL_TOKEN_FN_W ApplyControlTokenW;
205         QUERY_CONTEXT_ATTRIBUTES_FN_W QueryContextAttributesW;
206         IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext;
207         REVERT_SECURITY_CONTEXT_FN RevertSecurityContext;
208         MAKE_SIGNATURE_FN MakeSignature;
209         VERIFY_SIGNATURE_FN VerifySignature;
210         FREE_CONTEXT_BUFFER_FN FreeContextBuffer;
211         QUERY_SECURITY_PACKAGE_INFO_FN_W QuerySecurityPackageInfoW;
212         void SEC_FAR* Reserved3;
213         void SEC_FAR* Reserved4;
214         void SEC_FAR* Reserved5;
215         void SEC_FAR* Reserved6;
216         void SEC_FAR* Reserved7;
217         void SEC_FAR* Reserved8;
218         QUERY_SECURITY_CONTEXT_TOKEN_FN QuerySecurityContextToken;
219         ENCRYPT_MESSAGE_FN EncryptMessage;
220         DECRYPT_MESSAGE_FN DecryptMessage;
221 } SecurityFunctionTableW, *PSecurityFunctionTableW;
222 typedef struct _SECURITY_FUNCTION_TABLEA {
223         unsigned long dwVersion;
224         ENUMERATE_SECURITY_PACKAGES_FN_A EnumerateSecurityPackagesA;
225         QUERY_CREDENTIALS_ATTRIBUTES_FN_A QueryCredentialsAttributesA;
226         ACQUIRE_CREDENTIALS_HANDLE_FN_A AcquireCredentialsHandleA;
227         FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle;
228         void SEC_FAR* Reserved2;
229         INITIALIZE_SECURITY_CONTEXT_FN_A InitializeSecurityContextA;
230         ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext;
231         COMPLETE_AUTH_TOKEN_FN CompleteAuthToken;
232         DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext;
233         APPLY_CONTROL_TOKEN_FN_A ApplyControlTokenA;
234         QUERY_CONTEXT_ATTRIBUTES_FN_A QueryContextAttributesA;
235         IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext;
236         REVERT_SECURITY_CONTEXT_FN RevertSecurityContext;
237         MAKE_SIGNATURE_FN MakeSignature;
238         VERIFY_SIGNATURE_FN VerifySignature;
239         FREE_CONTEXT_BUFFER_FN FreeContextBuffer;
240         QUERY_SECURITY_PACKAGE_INFO_FN_A QuerySecurityPackageInfoA;
241         void SEC_FAR* Reserved3;
242         void SEC_FAR* Reserved4;
243         void SEC_FAR* Unknown1;
244         void SEC_FAR* Unknown2;
245         void SEC_FAR* Unknown3;
246         void SEC_FAR* Unknown4;
247         void SEC_FAR* Unknown5;
248         ENCRYPT_MESSAGE_FN EncryptMessage;
249         DECRYPT_MESSAGE_FN DecryptMessage;
250 } SecurityFunctionTableA, *PSecurityFunctionTableA;
251 typedef PSecurityFunctionTableA (WINAPI *INIT_SECURITY_INTERFACE_A)(VOID);
252 typedef PSecurityFunctionTableW (WINAPI *INIT_SECURITY_INTERFACE_W)(VOID);
253
254 SECURITY_STATUS WINAPI FreeCredentialsHandle(PCredHandle);
255 SECURITY_STATUS WINAPI EnumerateSecurityPackagesA(PULONG,PSecPkgInfoA*);
256 SECURITY_STATUS WINAPI EnumerateSecurityPackagesW(PULONG,PSecPkgInfoW*);
257 SECURITY_STATUS WINAPI AcquireCredentialsHandleA(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
258 SECURITY_STATUS WINAPI AcquireCredentialsHandleW(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
259 SECURITY_STATUS WINAPI AcceptSecurityContext(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
260 SECURITY_STATUS WINAPI InitializeSecurityContextA(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
261 SECURITY_STATUS WINAPI InitializeSecurityContextW(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
262 SECURITY_STATUS WINAPI FreeContextBuffer(PVOID);
263 SECURITY_STATUS WINAPI QueryContextAttributesA(PCtxtHandle,ULONG,PVOID);
264 SECURITY_STATUS WINAPI QueryContextAttributesW(PCtxtHandle,ULONG,PVOID);
265 SECURITY_STATUS WINAPI QueryCredentialsAttributesA(PCredHandle,ULONG,PVOID);
266 SECURITY_STATUS WINAPI QueryCredentialsAttributesW(PCredHandle,ULONG,PVOID);
267 #if (_WIN32_WINNT >= 0x0500)
268 SECURITY_STATUS WINAPI QuerySecurityContextToken(PCtxtHandle,HANDLE*);
269 #endif
270 SECURITY_STATUS WINAPI DecryptMessage(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
271 SECURITY_STATUS WINAPI EncryptMessage(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
272 SECURITY_STATUS WINAPI DeleteSecurityContext(PCtxtHandle);
273 SECURITY_STATUS WINAPI CompleteAuthToken(PCtxtHandle,PSecBufferDesc);
274 SECURITY_STATUS WINAPI ApplyControlTokenA(PCtxtHandle,PSecBufferDesc);
275 SECURITY_STATUS WINAPI ApplyControlTokenW(PCtxtHandle,PSecBufferDesc);
276 SECURITY_STATUS WINAPI ImpersonateSecurityContext(PCtxtHandle);
277 SECURITY_STATUS WINAPI RevertSecurityContext(PCtxtHandle);
278 SECURITY_STATUS WINAPI MakeSignature(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
279 SECURITY_STATUS WINAPI VerifySignature(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
280 SECURITY_STATUS WINAPI QuerySecurityPackageInfoA(SEC_CHAR*,PSecPkgInfoA*);
281 SECURITY_STATUS WINAPI QuerySecurityPackageInfoW(SEC_WCHAR*,PSecPkgInfoW*);
282 PSecurityFunctionTableA WINAPI InitSecurityInterfaceA(VOID);
283 PSecurityFunctionTableW WINAPI InitSecurityInterfaceW(VOID);
284
285 #ifdef UNICODE
286 #define UNISP_NAME UNISP_NAME_W
287 #define SecPkgInfo SecPkgInfoW
288 #define PSecPkgInfo PSecPkgInfoW
289 #define SecPkgCredentials_Names SecPkgCredentials_NamesW
290 #define PSecPkgCredentials_Names PSecPkgCredentials_NamesW
291 #define SecPkgContext_Authority SecPkgContext_AuthorityW
292 #define PSecPkgContext_Authority PSecPkgContext_AuthorityW
293 #define SecPkgContext_KeyInfo SecPkgContext_KeyInfoW
294 #define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoW
295 #define SecPkgContext_Names SecPkgContext_NamesW
296 #define PSecPkgContext_Names PSecPkgContext_NamesW
297 #define SecurityFunctionTable SecurityFunctionTableW
298 #define PSecurityFunctionTable PSecurityFunctionTableW
299 #define AcquireCredentialsHandle AcquireCredentialsHandleW
300 #define EnumerateSecurityPackages EnumerateSecurityPackagesW
301 #define InitializeSecurityContext InitializeSecurityContextW
302 #define QueryContextAttributes QueryContextAttributesW
303 #define QueryCredentialsAttributes QueryCredentialsAttributesW
304 #define QuerySecurityPackageInfo QuerySecurityPackageInfoW
305 #define ApplyControlToken ApplyControlTokenW
306 #define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_W
307 #define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_W
308 #define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_W
309 #define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_W
310 #define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_W
311 #define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_W
312 #define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_W
313 #define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_W
314 #else
315 #define UNISP_NAME UNISP_NAME_A
316 #define SecPkgInfo SecPkgInfoA
317 #define PSecPkgInfo PSecPkgInfoA
318 #define SecPkgCredentials_Names SecPkgCredentials_NamesA
319 #define PSecPkgCredentials_Names PSecPkgCredentials_NamesA
320 #define SecPkgContext_Authority SecPkgContext_AuthorityA
321 #define PSecPkgContext_Authority PSecPkgContext_AuthorityA
322 #define SecPkgContext_KeyInfo SecPkgContext_KeyInfoA
323 #define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoA
324 #define SecPkgContext_Names SecPkgContext_NamesA
325 #define PSecPkgContext_Names PSecPkgContext_NamesA
326 #define SecurityFunctionTable SecurityFunctionTableA
327 #define PSecurityFunctionTable PSecurityFunctionTableA
328 #define AcquireCredentialsHandle AcquireCredentialsHandleA
329 #define EnumerateSecurityPackages EnumerateSecurityPackagesA
330 #define InitializeSecurityContext InitializeSecurityContextA
331 #define QueryContextAttributes QueryContextAttributesA
332 #define QueryCredentialsAttributes QueryCredentialsAttributesA
333 #define QuerySecurityPackageInfo QuerySecurityPackageInfoA
334 #define ApplyControlToken ApplyControlTokenA
335 #define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_A
336 #define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_A
337 #define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_A
338 #define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_A
339 #define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_A
340 #define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_A
341 #define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_A
342 #define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_A
343 #endif
344
345 #ifdef __cplusplus
346 }
347 #endif
348 #endif