Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

210 lines
3.5 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. precomp.h
  5. Abstract:
  6. Precompiled header for winipsec.dll.
  7. Author:
  8. abhisheV 21-September-1999
  9. Environment:
  10. User Level: Win32
  11. Revision History:
  12. --*/
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #include <nt.h>
  17. #include <ntrtl.h>
  18. #include <nturtl.h>
  19. #include <stddef.h>
  20. #include <ntddrdr.h>
  21. #ifdef __cplusplus
  22. }
  23. #endif
  24. #include <stdio.h>
  25. #include <stdlib.h>
  26. #include <string.h>
  27. #include <rpc.h>
  28. #include <windows.h>
  29. #include <imagehlp.h>
  30. #include <tchar.h>
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34. #include <dsgetdc.h>
  35. #ifdef __cplusplus
  36. }
  37. #endif
  38. #include "winioctl.h"
  39. #include "winsock2.h"
  40. #include "winsock.h"
  41. #include <userenv.h>
  42. #include <wchar.h>
  43. #include <winldap.h>
  44. #include "ipexport.h"
  45. #include <iphlpapi.h>
  46. #include <nhapi.h>
  47. #include <seopaque.h>
  48. #ifdef __cplusplus
  49. extern "C" {
  50. #endif
  51. #include <msaudite.h>
  52. #include <ntlsa.h>
  53. #include <lsarpc.h>
  54. #include <ntsam.h>
  55. #include <lsaisrv.h>
  56. #ifdef __cplusplus
  57. }
  58. #endif
  59. #include "spd_s.h"
  60. #include "winipsec.h"
  61. #include "structs.h"
  62. #include "spdaudit.h"
  63. #include "audit.h"
  64. #include "interface.h"
  65. #include "address.h"
  66. #include "port.h"
  67. #include "protocol.h"
  68. #include "utils.h"
  69. #include "memory.h"
  70. #include "security.h"
  71. #include "init.h"
  72. #include "rpcserv.h"
  73. #include "iphlpwrp.h"
  74. #include "loopmgr.h"
  75. #include "ipsecspd.h"
  76. #include "qm-policy.h"
  77. #include "mm-policy.h"
  78. #include "mmauth.h"
  79. #include "txfilter.h"
  80. #include "txspecific.h"
  81. #include "tnfilter.h"
  82. #include "tnspecific.h"
  83. #include "mmfilter.h"
  84. #include "mmspecific.h"
  85. #include "ipsec.h"
  86. #include "driver.h"
  87. //
  88. // Policy Agent Store specific headers.
  89. //
  90. #include "oakdefs.h"
  91. #include "polstructs.h"
  92. #include "..\..\pastore\ldaputil.h"
  93. #include "..\..\pastore\structs.h"
  94. #include "..\..\pastore\dsstore.h"
  95. #include "..\..\pastore\regstore.h"
  96. #include "..\..\pastore\procrule.h"
  97. #include "..\..\pastore\persist.h"
  98. #include "..\..\pastore\utils.h"
  99. #include "polguids.h"
  100. #include "pamm-pol.h"
  101. #include "pammauth.h"
  102. #include "paqm-pol.h"
  103. #include "pamm-fil.h"
  104. #include "patx-fil.h"
  105. #include "patn-fil.h"
  106. #include "paupdate.h"
  107. #include "pastore.h"
  108. //
  109. // Persistence specific headers.
  110. //
  111. #include "mmp-load.h"
  112. #include "mmp-pers.h"
  113. #include "mma-load.h"
  114. #include "mma-pers.h"
  115. #include "qmp-load.h"
  116. #include "qmp-pers.h"
  117. #include "mmf-load.h"
  118. #include "mmf-pers.h"
  119. #include "txf-load.h"
  120. #include "txf-pers.h"
  121. #include "tnf-load.h"
  122. #include "tnf-pers.h"
  123. #include "ipsecshr.h"
  124. #include "oakdll.h"
  125. #include "externs.h"
  126. extern
  127. DWORD
  128. AllocateAndGetIfTableFromStack(
  129. OUT MIB_IFTABLE **ppIfTable,
  130. IN BOOL bOrder,
  131. IN HANDLE hHeap,
  132. IN DWORD dwFlags,
  133. IN BOOL bForceUpdate
  134. );
  135. #ifdef BAIL_ON_WIN32_ERROR
  136. #undef BAIL_ON_WIN32_ERROR
  137. #endif
  138. #ifdef BAIL_ON_LOCK_ERROR
  139. #undef BAIL_ON_LOCK_ERROR
  140. #endif
  141. #define BAIL_ON_WIN32_ERROR(dwError) \
  142. if (dwError) { \
  143. goto error; \
  144. }
  145. #define BAIL_ON_LOCK_ERROR(dwError) \
  146. if (dwError) { \
  147. goto lock; \
  148. }
  149. #define BAIL_ON_WIN32_SUCCESS(dwError) \
  150. if (!dwError) { \
  151. goto success; \
  152. }
  153. #define BAIL_ON_LOCK_SUCCESS(dwError) \
  154. if (!dwError) { \
  155. goto lock_success; \
  156. }
  157. #define ENTER_SPD_SECTION() \
  158. EnterCriticalSection(&gcSPDSection) \
  159. #define LEAVE_SPD_SECTION() \
  160. LeaveCriticalSection(&gcSPDSection) \