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