home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / cwin / c.exe / $INSTDIR / include / sspi.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-12-15  |  15.1 KB  |  336 lines

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